Skip to content
UdemyHackingPaid courseAll LevelsCertificate

reverse engineering and exploit development in linux(x64) (Udemy.com)

computer architecture, file structure, assembly and c programming language, reverse engineering and exploit development

Created by: mohamad gharishvandi

Last updated August 2021

icon
What you will learn

  • computer architecture
  • assembly langauge
  • c programming language
  • reverse engineering
  • exploit development
  • memory organization
  • file structure
  • file structure in linux
  • elf files
  • segment and section headers in elf files
  • the txt, the bmp header files
  • headers of images
  • executables in linux
  • transistors in computer
  • nmos vs pmos transistor
  • transistor circuits with dc and ac inputs
  • creating not gates using nmos and pmos transistors
  • creating nand gates using nmos and pmos transistors
  • creating memory bit using nand gates
  • decoder
  • creating ram using nand gates from scratch
  • what are multiplexers and why we need them
  • the data path in a computer
  • control unit of a cpu
  • creating an alu from scratch
  • turing complete machine
  • why computers are fast
  • why computers are strong

How it compares

Against the other 523 rated Udemy courses in Hacking on CourseDuck:

  • Rating4.5 out of 5higher than 51% of them
  • Reviews53#497 of 524 by number of reviews
  • Length16.4 hourslonger than 86% of them
  • Last updatedAugust 2021earlier than 77% of them

icon
Course Description

i always wanted a course, a book or something which starts from scratch and brings me to an expert level. i saw and read a lot of courses which teach you the applications and software about security and hacking, learning those in security industry, is like knowing wordpress to design websites without understanding programming languages. so i started this course from scratch, from nothing.  because as einstein put it: "if you can't explain something simply then you don't understand it well enough".  in security the difference between experts and amateurs is just in the same statement. those who know the background science are those who DESIGN the metasploit and other softwares, and those who don't are the users of the programs. which one do you want to be?

if the answer is the first group, this the right place for you. we really start from nothing, introduce you the concept of data, that what do we mean by data, bits and bytes? we then introduce the basic element of all the digital devices: TRANSISTOR.

then we use that transistor to create the logic gates, nand and not gates. but we only create them if we need them, so before creating anything, we ask the question of "why do i need this?" . then we start to give a general overview of what a computer is, why we need it and how we are going to create it. that brings us to the concepts that as human we can't remember everything, so we needed something which could remember as long as we want it to, and more importantly we want it to do the computation so much faster that we ever could. those are the only two things that computer has over human brain. so based on that we proceed, a memory for remembering and a cpu for processing. so we start my using our nand gates to create both memory and cpu. and we test it, troubleshoot it, add features to it, until we have our computer.  now we save our program as a set of instructions inside the memory, the cpu would fetch those instructions, and execute them and move to the next one, and it does it over and over again. everything in the computer which is not hardware, is a program, a simple FILE.


so in the second chapter we start talking about files. if all the computer could know are 1s and 0s, how could it show us text and images, movies and executables. this is were we talk about file extensions and headers. so that it could be an introduction into getting us to the elf file format, the executables and binary files in linux. because if we want to reverse files and crack and hack them, first we need to know them. all its segment and section headers, but not just an overview, going deep , somehow that we comprehend every byte of it.  now its time for us to know how they get executed, or how they get created? using programming languages: ASSEMBLY


in the next chapter we enter the assembly world. why we need it , like always would be the main question, if we could anser it then we enter to HOW we do it.  we teach everything you need to know about assembly. and when we write a program we debug it using the gdb, analyze instructions one by one, so that you know the reason for each instruction. and at the same time we compare assembly with other higher level programming languages.


why we need c programming language would trigger the creation of the next chapter. variables, pointers, format specifers, functions, they are all just names without a concept and their comprehension, thats why for every single abstraction there is a separate lecture depicting the memory and stack(we explain what this is in an intuitive manner) organization and how it changes.


when we know all these sciences in such a different manner, then when we get to the reverse engineering and exploit development, the last two chapter, you see that these are just a different look of everything we have learned so far. just looking differently and keep track of memory.  and using these we would be able to reverse engineer malwares, hack and crack softwares. which means acquiring the offensive skills without which , you could never be a real hacker.

icon
Udemy Discount

The discount is applied through our link. Open the course from here and Udemy's current promotional price is applied at checkout on most courses, no code to type.

Some courses are excluded from Udemy's promotions. If the price does not drop, clear your browser cookies and use the button again.

icon
Instructor Details

mohamad gharishvandi

i have Master of Science in Electronics engineering . and for 10 years i have been studying computer science too. i have been teaching subjects like programming like python , networking concepts, cryptography , penetration testing in computer science and Analog Electronics, digital Electronics, Electrical circuits, data communication , CMOS integrated circuits , signals and systems and advanced mathematics for 4 years. i think we should learn computer science in high level first and then relate it to electronics concept by going deep in the lower level and then at last analyze them using mathematics concepts . that is why i dedicate most of my time studying these concepts to go deeper.

icon
More Hacking courses

$109.99

$27.99

$14.99

$84.99

$15.99

$11.99

icon
Reviews

4.5

53 ratings on Udemy

Select a bar to show only those reviews.Select the bar again to show every rating.

By Stefano Bertotti on 4/4/2024

Terrible! No more.

By Martin on 11/28/2023

amazing course, helped me a lot! thanks for this great content

By LeAnn Alexandra Violet on 4/9/2023

Superb. takes you through all of the steps to understand the fundamentals of computers before teaching you to use power tools. it is the equivalent of knowing how electricity works before you get access to the light switch. - In my opinion for this topic, during the process certain vulnerabilities are demonstrated at the root cause as we take on understanding these things step by step.

By Rj on 2/3/2023

This course delivers amazing content, you’ll understand a computer from the ground up. Helped me immensely during my foundational compsci courses at university

By Cristian Stanciu on 6/7/2022

My head is cracking!

By Daniele Asteggiante on 9/23/2021

One of best courses I have. Great arguments, great explanations.Thanks to this course I discovered how the computers works

By Sergio Muñoz Blanco on 9/11/2021

Really great course. In depth and very practical concepts about computer science. Concepts that are nicely assembled so that there is a link between them, from the bottom up.

Showing all 7 reviews on CourseDuck

Read all 53 reviews on Udemy

icon
Quality Score

No CourseDuck member has rated this course yet. Taken it? Give each part a thumbs up or down.

Content Quality
/
Video Quality
/
Qualified Instructor
/
Course Pace
/
Course Depth & Coverage
/

Overall Score : 90 / 100