reverse engineering and exploit development in linux(x64)

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

4.25 (46 reviews)
Udemy
platform
English
language
Network & Security
category
reverse engineering and exploit development in linux(x64)
681
students
16.5 hours
content
Aug 2021
last update
$59.99
regular price

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

system calls in linux

disassembling the .text section

creating programs in assembly language

the comparing of assembly, python and c

jumps and conditional jumps in assembly

jz,jnz,je,jne,jc,jnc in assembly language

functions and procedures in assembly

format specifiers in c

variables in c

pointers in c

stepping through c programs using gdb

compiling c programs into their assembly counterpart

stack layout of programs in c

memory layout of programs in c

pointers in memory and stack

create a function like printf in c

create a function like strcmp in c

comparing strings in c

creating a static library in c

creating a shared library in c

static library vs shared library in c

reverse engineering a malware

arguments passing and function calling

Why take this course?

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.

Screenshots

reverse engineering and exploit development in linux(x64) - Screenshot_01reverse engineering and exploit development in linux(x64) - Screenshot_02reverse engineering and exploit development in linux(x64) - Screenshot_03reverse engineering and exploit development in linux(x64) - Screenshot_04

Reviews

LeAnn
April 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.
Rj
February 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
Daniele
September 23, 2021
One of best courses I have. Great arguments, great explanations.Thanks to this course I discovered how the computers works
Sergio
September 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.

Charts

Price

reverse engineering and exploit development in linux(x64) - Price chart

Rating

reverse engineering and exploit development in linux(x64) - Ratings chart

Enrollment distribution

reverse engineering and exploit development in linux(x64) - Distribution chart

Related Topics

3900350
udemy ID
3/8/2021
course created date
5/15/2021
course indexed date
Bot
course submited by