Skip to content

A FREE comprehensive reverse engineering tutorial covering x86, x64, 32-bit ARM & 64-bit ARM architectures.

License

Notifications You must be signed in to change notification settings

ahmerd-original/Reverse-Engineering

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

image

Reverse Engineering For Everyone!

A FREE comprehensive reverse engineering tutorial covering x86, x64, 32-bit ARM & 64-bit ARM architectures.


Join DC540 Discord HERE


image

DC540 Hacking Challenge 0x00001 HERE ON GITHUB

DC540 Hacking Challenge 0x00002 [MicroPython CTF] HERE ON GITHUB

DC540 Hacking Challenge 0x00003 [C CTF] HERE ON GITHUB

DC540 Hacking Challenge 0x00004 [C CTF] HERE ON GITHUB

DC540 Hacking Challenge 0x00005a HERE ON GITHUB

DC540 Hacking Challenge 0x00005b [Assembler CTF] HERE ON GITHUB


COURSE PROMOTIONAL VIDEO

WATCH NOW HERE ON YOUTUBE


Reverse Engineering E-BOOK HERE

Reverse Engineering PDF HERE

Assembled by @0xInfection (Twitter)


ToyOS HERE


AArch64 Bytes HERE

UNDER DEVELOPMENT


Hacking Windows E-BOOK HERE

UNDER DEVELOPMENT


STEM Reversing Demo HERE


Zeek Network Security Monitor HERE


Fundamental C++ PDF HERE


MicroPython Firmware Development PDF HERE

UNDER DEVELOPMENT


Tor Everything PDF HERE


STM32F401CCUx_PA0ButtonHandler Driver (Assembly Language) HERE


Python For Kids PDF HERE


Ansible For Everyone PDF HERE

UNDER DEVELOPMENT


Selenium For Everyone PDF HERE


x86 Course

Lesson 1: x86 Course (Part 1: Goals)

This tutorial will begin with the basic concepts of malware reverse engineering and graduate to an entry-level basic examination of Assembly Language.

-> Click HERE to read the article on LinkedIn.

Lesson 2: x86 Course (Part 2: Techniques)

This tutorial will address the two basic techniques that you can employ when analyzing malware. The first being static analysis and the other being dynamic analysis.

-> Click HERE to read the article on LinkedIn.

Lesson 3: x86 Course (Part 3: Types Of Malware)

This tutorial will address the basic forms of malware and how they work in simple terms.

-> Click HERE to read the article on LinkedIn.

Lesson 4: x86 Course (Part 4: x86 Assembly Intro)

This tutorial will address x86 Assembly Languages and their usage to produce object code for the aforementioned series of processors.

-> Click HERE to read the article on LinkedIn.

Lesson 5: x86 Course (Part 5: Binary Number System)

This tutorial will address the very basics of the binary number system.

-> Click HERE to read the article on LinkedIn.

Lesson 6: x86 Course (Part 6: Hexadecimal Number System)

This tutorial will address the very basics of the hexadecimal number system.

-> Click HERE to read the article on LinkedIn.

Lesson 7: x86 Course (Part 7: Transistors And Memory)

This tutorial will address the basics of transistors and memory.

-> Click HERE to read the article on LinkedIn.

Lesson 8: x86 Course (Part 8 - Bytes, Words, Double Words, etc...)

This tutorial will address the basics of memory and examine our first GDB debugger instance and examine our first real look into our computers memory and instructions.

-> Click HERE to read the article on LinkedIn.

Lesson 9: x86 Course (Part 9: x86 Basic Architecture)

This tutorial will address the basic architecture of an x86 processor.

-> Click HERE to read the article on LinkedIn.

Lesson 10: x86 Course (Part 10: General-purpose Registers)

This tutorial will address the general purpose x86 registers.

-> Click HERE to read the article on LinkedIn.

Lesson 11: x86 Course (Part 11: Segment Registers)

This tutorial will address the x86 segment registers.

-> Click HERE to read the article on LinkedIn.

Lesson 12: x86 Course (Part 12: Instruction Pointer Register)

This tutorial will address the x86 instruction pointer register.

-> Click HERE to read the article on LinkedIn.

Lesson 13: x86 Course (Part 13: Control Registers)

This tutorial will address the x86 control registers.

-> Click HERE to read the article on LinkedIn.

Lesson 14: x86 Course (Part 14: Flags)

This tutorial will address the status, control and systems flags.

-> Click HERE to read the article on LinkedIn.

Lesson 15: x86 Course (Part 15: Stack)

This tutorial will address the stack.

-> Click HERE to read the article on LinkedIn.

Lesson 16: x86 Course (Part 16: Heap)

This tutorial will address the heap.

-> Click HERE to read the article on LinkedIn.

Lesson 17: x86 Course (Part 17 – How To Install Linux)

This tutorial will address how to install Ubuntu Linux on both Windows and MAC.

-> Click HERE to read the article on LinkedIn.

Lesson 18: x86 Course (Part 18 - vim Text Editor)

This tutorial will address how to install the vim text editor.

-> Click HERE to read the article on LinkedIn.

Lesson 19: x86 Course (Part 19 - Why Learn Assembly)

This tutorial will address the age old question of why to bother understanding the basics of Assembly Language.

-> Click HERE to read the article on LinkedIn.

Lesson 20: x86 Course (Part 20 - Instruction Code Handling)

This tutorial will address op codes and instruction code handling.

-> Click HERE to read the article on LinkedIn.

Lesson 21: x86 Course (Part 21 - How To Compile A Program)

This tutorial will address how to compile a basic x86 Assembly Program.

-> Click HERE to read the article on LinkedIn.

Lesson 22: x86 Course (Part 22 - ASM Program 1 [Moving Immediate Data])

This tutorial will address how to create our first real Assembly Program by moving immediate data.

-> Click HERE to read the article on LinkedIn.

Lesson 23: x86 Course (Part 23 - ASM Debugging 1 [Moving Immediate Data])

This tutorial will address how to debug our first real Assembly Program by moving immediate data.

-> Click HERE to read the article on LinkedIn.

Lesson 24: x86 Course (Part 24 - ASM Hacking 1 [Moving Immediate Data])

This tutorial will address how to hack our first real Assembly Program by moving immediate data.

-> Click HERE to read the article on LinkedIn.

Lesson 25: x86 Course (Part 25 - ASM Program 2 [Moving Data Between Registers])

This tutorial will address how to create our second real Assembly Program by moving between registers.

-> Click HERE to read the article on LinkedIn.

Lesson 26: x86 Course (Part 26 - ASM Debugging 2 [Moving Data Between Registers])

This tutorial will address how to debug our second real Assembly Program by moving between registers.

-> Click HERE to read the article on LinkedIn.

Lesson 27: x86 Course (Part 27 - ASM Hacking 2 [Moving Data Between Registers])

This tutorial will address how to hack our second real Assembly Program by moving between registers.

-> Click HERE to read the article on LinkedIn.

Lesson 28: x86 Course (Part 28 - ASM Program 3 [Moving Data Between Memory And Registers])

This tutorial will address how to create our third real Assembly Program by moving between memory and registers

-> Click HERE to read the article on LinkedIn.

Lesson 29: x86 Course (Part 29 - ASM Debugging 3 [Moving Data Between Memory And Registers])

This tutorial will address how to debug our third real Assembly Program by moving between memory and registers.

-> Click HERE to read the article on LinkedIn.

Lesson 30: x86 Course (Part 30 - ASM Hacking 3 [Moving Data Between Memory And Registers])

This tutorial will address how to hack our third real Assembly Program by moving between memory and registers.

-> Click HERE to read the article on LinkedIn.

Lesson 31: x86 Course (Part 31 - ASM Program 4 [Moving Data Between Registers And Memory])

This tutorial will address how to create our fourth real Assembly Program by moving between registers and memory.

-> Click HERE to read the article on LinkedIn.

Lesson 32: x86 Course (Part 32 - ASM Debugging 4 [Moving Data Between Registers And Memory])

This tutorial will address how to debug our fourth real Assembly Program by moving between registers and memory.

-> Click HERE to read the article on LinkedIn.

Lesson 33: x86 Course (Part 33 - ASM Hacking 4 [Moving Data Between Registers And Memory])

This tutorial will address how to hack our fourth real Assembly Program by moving between registers and memory.

-> Click HERE to read the article on LinkedIn.

Lesson 34: x86 Course (Part 34 - ASM Program 5 [Indirect Addressing With Registers])

This tutorial will address how to create our fifth real Assembly Program by indirect addressing with registers.

-> Click HERE to read the article on LinkedIn.

Lesson 35: x86 Course (Part 35 - ASM Debugging 5 [Indirect Addressing With Registers])

This tutorial will address how to debug our fifth real Assembly Program by indirect addressing with registers.

-> Click HERE to read the article on LinkedIn.

Lesson 36: x86 Course (Part 36 - ASM Hacking 5 [Indirect Addressing With Registers])

This tutorial will address how to hack our fifth real Assembly Program by indirect addressing with registers.

-> Click HERE to read the article on LinkedIn.

Lesson 37: x86 Course (Part 37 - ASM Program 6 [CMOV Instructions])

This tutorial will address how to hack our sixth real Assembly Program with CMOV instructions.

-> Click HERE to read the article on LinkedIn.

Lesson 38: x86 Course (Part 38 - ASM Debugging 6 [CMOV Instructions])

This tutorial will address how to debug our sixth real Assembly Program with CMOV instructions.

-> Click HERE to read the article on LinkedIn.

Lesson 39: x86 Course (Part 39 - ASM Hacking 6 [CMOV Instructions])

This tutorial will address how to hack our sixth real Assembly Program with CMOV instructions.

-> Click HERE to read the article on LinkedIn.

Lesson 40: x86 Course (Part 40 - Conclusion)

This tutorial will conclude this x86 tutorial.

-> Click HERE to read the article on LinkedIn.


ARM-32 Course 1

Lesson 41: ARM-32 Course 1 (Part 1 – The Meaning Of Life)

This tutorial will introduce our ARM-32 Course 1 tutorial series.

-> Click HERE to read the article on LinkedIn.

Lesson 42: ARM-32 Course 1 (Part 2 - Number Systems)

This tutorial will discuss number systems such as binary, decimal and hexadecimal in detail.

-> Click HERE to read the article on LinkedIn.

Lesson 43: ARM-32 Course 1 (Part 3 - Binary Addition)

This tutorial will discuss binary addition.

-> Click HERE to read the article on LinkedIn.

Lesson 44: ARM-32 Course 1 (Part 4 - Binary Subtraction)

This tutorial will discuss binary subtraction.

-> Click HERE to read the article on LinkedIn.

Lesson 45: ARM-32 Course 1 (Part 5 - Word Lengths)

This tutorial will discuss word lengths.

-> Click HERE to read the article on LinkedIn.

Lesson 46: ARM-32 Course 1 (Part 6 - Registers)

This tutorial will discuss registers.

-> Click HERE to read the article on LinkedIn.

Lesson 47: ARM-32 Course 1 (Part 7 - Program Counter)

This tutorial will discuss the program counter.

-> Click HERE to read the article on LinkedIn.

Lesson 48: ARM-32 Course 1 (Part 8 - CPSR)

This tutorial will discuss the CPSR.

-> Click HERE to read the article on LinkedIn.

Lesson 49: ARM-32 Course 1 (Part 9 - Link Register)

This tutorial will discuss the Link Register.

-> Click HERE to read the article on LinkedIn.

Lesson 50: ARM-32 Course 1 (Part 10 - Stack Pointer)

This tutorial will discuss the Stack Pointer.

-> Click HERE to read the article on LinkedIn.

Lesson 51: ARM-32 Course 1 (Part 11 - ARM Firmware Boot Procedures)

This tutorial will discuss ARM Firmware Boot Procedures.

-> Click HERE to read the article on LinkedIn.

Lesson 52: ARM-32 Course 1 (Part 12 - Von Neumann Architecture)

This tutorial will discuss Von Neumann Architecture.

-> Click HERE to read the article on LinkedIn.

Lesson 53: ARM-32 Course 1 (Part 13 - Instruction Pipeline)

This tutorial will discuss the instruction pipeline.

-> Click HERE to read the article on LinkedIn.

Lesson 54: ARM-32 Course 1 (Part 14 - ADD)

This tutorial will discuss the add instruction.

-> Click HERE to read the article on LinkedIn.

Lesson 55: ARM-32 Course 1 (Part 15 - Debugging ADD)

This tutorial will discuss debugging the add instruction.

-> Click HERE to read the article on LinkedIn.

Lesson 56: ARM-32 Course 1 (Part 16 - Hacking ADD)

This tutorial will discuss hacking the add instruction.

-> Click HERE to read the article on LinkedIn.

Lesson 57: ARM-32 Course 1 (Part 17 - ADDS)

This tutorial will discuss the adds instruction.

-> Click HERE to read the article on LinkedIn.

Lesson 58: ARM-32 Course 1 (Part 18 – Debugging ADDS)

This tutorial will discuss debugging the adds instruction.

-> Click HERE to read the article on LinkedIn.

Lesson 59: ARM-32 Course 1 (Part 19 – Hacking ADDS)

This tutorial will discuss hacking the adds instruction.

-> Click HERE to read the article on LinkedIn.

Lesson 60: ARM-32 Course 1 (Part 20 – ADC)

This tutorial will discuss the ADC instruction.

-> Click HERE to read the article on LinkedIn.

Lesson 61: ARM-32 Course 1 (Part 21 – Debugging ADC)

This tutorial will discuss debugging the ADC instruction.

-> Click HERE to read the article on LinkedIn.

Lesson 62: ARM-32 Course 1 (Part 22 – Hacking ADC)

This tutorial will discuss hacking the ADC instruction.

-> Click HERE to read the article on LinkedIn.

Lesson 63: ARM-32 Course 1 (Part 23 – SUB)

This tutorial will discuss the SUB instruction.

-> Click HERE to read the article on LinkedIn.

Lesson 64: ARM-32 Course 1 (Part 24 – Debugging SUB)

This tutorial will discuss debugging the SUB instruction.

-> Click HERE to read the article on LinkedIn.

Lesson 65: ARM-32 Course 1 (Part 25 – Hacking SUB)

This tutorial will discuss hacking the SUB instruction.

-> Click HERE to read the article on LinkedIn.


ARM-32 Course 2

Lesson 66: ARM-32 Course 2 (Part 1 – The Meaning Of Life Part 2)

This tutorial will introduce our ARM-32 Course 2 course.

-> Click HERE to read the article on LinkedIn.

Lesson 67: ARM-32 Course 2 (Part 2 – Number Systems)

This tutorial will discuss number systems.

-> Click HERE to read the article on LinkedIn.

Lesson 68: ARM-32 Course 2 (Part 3 – Binary Addition)

This tutorial will discuss binary addition.

-> Click HERE to read the article on LinkedIn.

Lesson 69: ARM-32 Course 2 (Part 4 – Binary Subtraction)

This tutorial will discuss binary subtraction.

-> Click HERE to read the article on LinkedIn.

Lesson 70: ARM-32 Course 2 (Part 5 – Word Lengths)

This tutorial will discuss word lengths.

-> Click HERE to read the article on LinkedIn.

Lesson 71: ARM-32 Course 2 (Part 6 – Registers)

This tutorial will discuss registers.

-> Click HERE to read the article on LinkedIn.

Lesson 72: ARM-32 Course 2 (Part 7 – Program Counter)

This tutorial will discuss program counter.

-> Click HERE to read the article on LinkedIn.

Lesson 73: ARM-32 Course 2 (Part 8 - CPSR)

This tutorial will discuss the CPSR.

-> Click HERE to read the article on LinkedIn.

Lesson 74: ARM-32 Course 2 (Part 9 - Link Register)

This tutorial will discuss the link register.

-> Click HERE to read the article on LinkedIn.

Lesson 75: ARM-32 Course 2 (Part 10 - Stack Pointer)

This tutorial will discuss the stack pointer.

-> Click HERE to read the article on LinkedIn.

Lesson 76: ARM-32 Course 2 (Part 11 - Firmware Boot Procedures)

This tutorial will discuss the firmware boot procedures.

-> Click HERE to read the article on LinkedIn.

Lesson 77: ARM-32 Course 2 (Part 12 - Von Neumann Architecture)

This tutorial will discuss the Von Neumann Architecture.

-> Click HERE to read the article on LinkedIn.

Lesson 78: ARM-32 Course 2 (Part 13 - Instruction Pipeline)

This tutorial will discuss the instruction pipeline.

-> Click HERE to read the article on LinkedIn.

Lesson 79: ARM-32 Course 2 (Part 14 - Hello World)

This tutorial will discuss the basics of a hello world program in ARM 32-bit.

-> Click HERE to read the article on LinkedIn.

Lesson 80: ARM-32 Course 2 (Part 15 - Debugging Hello World)

This tutorial will discuss debugging hello world.

-> Click HERE to read the article on LinkedIn.

Lesson 81: ARM-32 Course 2 (Part 16 - Hacking Hello World)

This tutorial will discuss hacking hello world.

-> Click HERE to read the article on LinkedIn.

Lesson 82: ARM-32 Course 2 (Part 17 - Constants)

This tutorial will discuss constants.

-> Click HERE to read the article on LinkedIn.

Lesson 83: ARM-32 Course 2 (Part 18 – Debugging Constants)

This tutorial will discuss debugging constants.

-> Click HERE to read the article on LinkedIn.

Lesson 84: ARM-32 Course 2 (Part 19 – Hacking Constants)

This tutorial will discuss hacking constants.

-> Click HERE to read the article on LinkedIn.

Lesson 85: ARM-32 Course 2 (Part 20 – Character Variables)

This tutorial will discuss character variables.

-> Click HERE to read the article on LinkedIn.

Lesson 86: ARM-32 Course 2 (Part 21 – Debugging Character Variables)

This tutorial will discuss debugging character variables.

-> Click HERE to read the article on LinkedIn.

Lesson 87: ARM-32 Course 2 (Part 22 – Hacking Character Variables)

This tutorial will discuss hacking character variables.

-> Click HERE to read the article on LinkedIn.

Lesson 88: ARM-32 Course 2 (Part 23 – Boolean Variables)

This tutorial will discuss boolean variables.

-> Click HERE to read the article on LinkedIn.

Lesson 89: ARM-32 Course 2 (Part 24 – Debugging Boolean Variables)

This tutorial will discuss debugging boolean variables.

-> Click HERE to read the article on LinkedIn.

Lesson 90: ARM-32 Course 2 (Part 25 – Hacking Boolean Variables)

This tutorial will discuss hacking boolean variables.

-> Click HERE to read the article on LinkedIn.

Lesson 91: ARM-32 Course 2 (Part 26 – Integer Variables)

This tutorial will discuss integer variables.

-> Click HERE to read the article on LinkedIn.

Lesson 92: ARM-32 Course 2 (Part 27 – Debugging Integer Variables)

This tutorial will discuss debugging integer variables.

-> Click HERE to read the article on LinkedIn.

Lesson 93: ARM-32 Course 2 (Part 28 – Hacking Integer Variables)

This tutorial will discuss hacking integer variables.

-> Click HERE to read the article on LinkedIn.

Lesson 94: ARM-32 Course 2 (Part 29 – Float Variables)

This tutorial will discuss float variables.

-> Click HERE to read the article on LinkedIn.

Lesson 95: ARM-32 Course 2 (Part 30 – Debugging Float Variables)

This tutorial will discuss debugging float variables.

-> Click HERE to read the article on LinkedIn.

Lesson 96: ARM-32 Course 2 (Part 31 – Hacking Float Variables)

This tutorial will discuss hacking float variables.

-> Click HERE to read the article on LinkedIn.

Lesson 97: ARM-32 Course 2 (Part 32 – Double Variables)

This tutorial will discuss double variables.

-> Click HERE to read the article on LinkedIn.

Lesson 98: ARM-32 Course 2 (Part 33 – Debugging Double Variables)

This tutorial will discuss debugging double variables.

-> Click HERE to read the article on LinkedIn.

Lesson 99: ARM-32 Course 2 (Part 34 – Hacking Double Variables)

This tutorial will discuss hacking double variables.

-> Click HERE to read the article on LinkedIn.

Lesson 100: ARM-32 Course 2 (Part 35 – SizeOf Operator)

This tutorial will discuss the sizeof operator.

-> Click HERE to read the article on LinkedIn.

Lesson 101: ARM-32 Course 2 (Part 36 – Debugging SizeOf Operator)

This tutorial will discuss debugging sizeof operator.

-> Click HERE to read the article on LinkedIn.

Lesson 102: ARM-32 Course 2 (Part 37 – Hacking SizeOf Operator)

This tutorial will discuss hacking sizeof operator.

-> Click HERE to read the article on LinkedIn.

Lesson 103: ARM-32 Course 2 (Part 38 – Pre-Increment Operator)

This tutorial will discuss the pre-increment operator.

-> Click HERE to read the article on LinkedIn.

Lesson 104: ARM-32 Course 2 (Part 39 – Debugging Pre-Increment Operator)

This tutorial will discuss debugging pre-increment operator.

-> Click HERE to read the article on LinkedIn.

Lesson 105: ARM-32 Course 2 (Part 40 – Hacking Pre-Increment Operator)

This tutorial will discuss hacking pre-increment operator.

-> Click HERE to read the article on LinkedIn.

Lesson 106: ARM-32 Course 2 (Part 41 – Post-Increment Operator)

This tutorial will discuss the post-increment operator.

-> Click HERE to read the article on LinkedIn.

Lesson 107: ARM-32 Course 2 (Part 42 – Debugging Post-Increment Operator)

This tutorial will discuss debugging post-increment operator.

-> Click HERE to read the article on LinkedIn.

Lesson 108: ARM-32 Course 2 (Part 43 – Hacking Post-Increment Operator)

This tutorial will discuss hacking post-increment operator.

-> Click HERE to read the article on LinkedIn.

Lesson 109: ARM-32 Course 2 (Part 44 – Pre-Decrement Operator)

This tutorial will discuss the pre-decrement operator.

-> Click HERE to read the article on LinkedIn.

Lesson 110: ARM-32 Course 2 (Part 45 – Debugging Pre-Decrement Operator)

This tutorial will discuss debugging pre-decrement operator.

-> Click HERE to read the article on LinkedIn.

Lesson 111: ARM-32 Course 2 (Part 46 – Hacking Pre-Decrement Operator)

This tutorial will discuss hacking pre-decrement operator.

-> Click HERE to read the article on LinkedIn.

Lesson 112: ARM-32 Course 2 (Part 47 – Post-Decrement Operator)

This tutorial will discuss post-decrement operator.

-> Click HERE to read the article on LinkedIn.

Lesson 113: ARM-32 Course 2 (Part 48 – Debugging Post-Decrement Operator)

This tutorial will discuss debugging post-decrement operator.

-> Click HERE to read the article on LinkedIn.

Lesson 114: ARM-32 Course 2 (Part 49 – Hacking Post-Decrement Operator)

This tutorial will discuss hacking post-decrement operator.

-> Click HERE to read the article on LinkedIn.


ARM-32 Project Course

Lesson 115: ARM-32 Project (Part 1 – Hacking Hello World)

ARM 32-bit Raspberry Pi Hacking Hello World example in Kali Linux. -> Click HERE to read the project on GitHub.

Lesson 116: ARM-32 Project (Part 2 – Hacking Int)

ARM 32-bit Raspberry Pi Hacking Int example in Kali Linux. -> Click HERE to read the project on GitHub.

Lesson 117: ARM-32 Project (Part 3 – Hacking Float)

ARM 32-bit Raspberry Pi Hacking Float example in Kali Linux. -> Click HERE to read the project on GitHub.

Lesson 118: ARM-32 Project (Part 4 – Hacking Double)

ARM 32-bit Raspberry Pi Hacking Double example in Kali Linux. -> Click HERE to read the project on GitHub.

Lesson 119: ARM-32 Project (Part 5 – Hacking Char)

ARM 32-bit Raspberry Pi Hacking Char example in Kali Linux. -> Click HERE to read the project on GitHub.

Lesson 120: ARM-32 Project (Part 6 – Hacking Char Pointer)

ARM 32-bit Raspberry Pi Char Pointer example in Kali Linux. -> Click HERE to read the project on GitHub.


x64 Course

Lesson 121: x64 Course (Part 1 – The Cyber Revolution)

This tutorial will discuss the cyber revolution.

-> Click HERE to read the article on LinkedIn.

Lesson 122: x64 Course (Part 2 - Transistors)

This tutorial will discuss transistors.

-> Click HERE to read the article on LinkedIn.

Lesson 123: x64 Course (Part 3 - Logic Gates)

This tutorial will discuss logic gates.

-> Click HERE to read the article on LinkedIn.

Lesson 124: x64 Course (Part 4 - Number Systems)

This tutorial will discuss number systems.

-> Click HERE to read the article on LinkedIn.

Lesson 125: x64 Course (Part 5 - Binary Addition)

This tutorial will discuss binary addition.

-> Click HERE to read the article on LinkedIn.

Lesson 126: x64 Course (Part 6 - Binary Subtraction)

This tutorial will discuss binary subtraction.

-> Click HERE to read the article on LinkedIn.

Lesson 127: x64 Course (Part 7 - Word Lengths)

This tutorial will discuss word lengths.

-> Click HERE to read the article on LinkedIn.

Lesson 128: x64 Course (Part 8 - General Architecture)

This tutorial will discuss the general architecture.

-> Click HERE to read the article on LinkedIn.

Lesson 129: x64 Course (Part 9 - Calling Conventions)

This tutorial will discuss calling conventions.

-> Click HERE to read the article on LinkedIn.

Lesson 130: x64 Course (Part 10 - Boolean Instructions)

This tutorial will discuss boolean instructions.

-> Click HERE to read the article on LinkedIn.

Lesson 131: x64 Course (Part 11 - Pointers)

This tutorial will discuss pointers.

-> Click HERE to read the article on LinkedIn.

Lesson 132: x64 Course (Part 12 - Load Effective Address)

This tutorial will discuss load effective address.

-> Click HERE to read the article on LinkedIn.

Lesson 133: x64 Course (Part 13 - The Data Segment)

This tutorial will discuss the data segment.

-> Click HERE to read the article on LinkedIn.

Lesson 134: x64 Course (Part 14 - SHL Instruction)

This tutorial will discuss the shl instruction.

-> Click HERE to read the article on LinkedIn.

Lesson 135: x64 Course (Part 15 - SHR Instruction)

This tutorial will discuss the shr instruction.

-> Click HERE to read the article on LinkedIn.

Lesson 136: x64 Course (Part 16 - ROL Instruction)

This tutorial will discuss rol instruction.

-> Click HERE to read the article on LinkedIn.

Lesson 137: x64 Course (Part 17 - ROR Instruction)

This tutorial will discuss the ror instruction.

-> Click HERE to read the article on LinkedIn.

Lesson 138: x64 Course (Part 18 - Boot Sector Basics [Part 1])

This tutorial will discuss boot sector basics.

-> Click HERE to read the article on LinkedIn.

Lesson 139: x64 Course (Part 19 - Boot Sector Basics [Part 2])

This tutorial will discuss more boot sector basics.

-> Click HERE to read the article on LinkedIn.

Lesson 140: x64 Course (Part 20 - Boot Sector Basics [Part 3])

This tutorial will discuss more boot sector basics.

-> Click HERE to read the article on LinkedIn.

Lesson 141: x64 Course (Part 21 - Boot Sector Basics [Part 4])

This tutorial will discuss more boot sector basics.

-> Click HERE to read the article on LinkedIn.

Lesson 142: x64 Course (Part 22 - Boot Sector Basics [Part 5])

This tutorial will discuss more boot sector basics.

-> Click HERE to read the article on LinkedIn.

Lesson 143: x64 Course (Part 23 - Boot Sector Basics [Part 6])

This tutorial will discuss more boot sector basics.

-> Click HERE to read the article on LinkedIn.

Lesson 144: x64 Course (Part 24 - Boot Sector Basics [Part 7])

This tutorial will discuss more boot sector basics.

-> Click HERE to read the article on LinkedIn.

Lesson 145: x64 Course (Part 25 - Boot Sector Basics [Part 8])

This tutorial will discuss more boot sector basics.

-> Click HERE to read the article on LinkedIn.

Lesson 146: x64 Course (Part 26 - Boot Sector Basics [Part 9])

This tutorial will discuss more boot sector basics.

-> Click HERE to read the article on LinkedIn.

Lesson 147: x64 Course (Part 27 - x64 Assembly [Part 1])

This tutorial will discuss x64 assembly.

-> Click HERE to read the article on LinkedIn.

Lesson 148: x64 Course (Part 28 - x64 Assembly [Part 2])

This tutorial will discuss more x64 assembly.

-> Click HERE to read the article on LinkedIn.

Lesson 149: x64 Course (Part 29 - x64 Assembly [Part 3])

This tutorial will discuss more x64 assembly.

-> Click HERE to read the article on LinkedIn.

Lesson 150: x64 Course (Part 30 - x64 Assembly [Part 4])

This tutorial will discuss more x64 assembly.

-> Click HERE to read the article on LinkedIn.

Lesson 151: x64 Course (Part 31 - x64 Assembly [Part 5])

This tutorial will discuss more x64 assembly.

-> Click HERE to read the article on LinkedIn.

Lesson 152: x64 Course (Part 32 - x64 Assembly [Part 6])

This tutorial will discuss more x64 assembly.

-> Click HERE to read the article on LinkedIn.

Lesson 153: x64 Course (Part 33 - x64 Assembly [Part 7])

This tutorial will discuss more x64 assembly.

-> Click HERE to read the article on LinkedIn.

Lesson 154: x64 Course (Part 34 - x64 C++ 1 Code [Part 1])

This tutorial will discuss c++ code as it relates to 64-bit assembly.

-> Click HERE to read the article on LinkedIn.

Lesson 155: x64 Course (Part 35 - x64 C++ 2 Debug [Part 2])

This tutorial will discuss more c++ code as it relates to 64-bit assembly.

-> Click HERE to read the article on LinkedIn.

Lesson 156: x64 Course (Part 36 - x64 C++ 3 Hacking [Part 3])

This tutorial will discuss more c++ code as it relates to 64-bit assembly.

-> Click HERE to read the article on LinkedIn.

Lesson 157: x64 Course (Part 37 - x64 C & Genesis Of Life)

This tutorial will discuss c and how it relates to x64 assembly.

-> Click HERE to read the article on LinkedIn.

Lesson 158: x64 Course (Part 38 - x64 Networking Basics)

This tutorial will discuss x64 networking basics.

-> Click HERE to read the article on LinkedIn.

Lesson 159: x64 Course (Part 39 - Why C?)

This tutorial will discuss the power of the c language.

-> Click HERE to read the article on LinkedIn.

Lesson 160: x64 Course (Part 40 - Hacking Hello World!)

This tutorial will discuss hacking hello world.

-> Click HERE to read the article on LinkedIn.

Lesson 161: x64 Course (Part 41 - Hacking Variables!)

This tutorial will discuss hacking variables.

-> Click HERE to read the article on LinkedIn.

Lesson 162: x64 Course (Part 42 - Hacking Branches!)

This tutorial will discuss hacking branches.

-> Click HERE to read the article on LinkedIn.

Lesson 163: x64 Course (Part 43 - Hacking Pointers!)

This tutorial will discuss hacking pointers.

-> Click HERE to read the article on LinkedIn.


ARM-64 Course

Lesson 164: ARM-64 Course (Part 1 - The Meaning Of Life)

In this lesson we will discuss the course concepts and the meaning of life.

-> Click HERE to read the article on LinkedIn.

Lesson 165: ARM-64 Course (Part 2 - Development Setup)

In this lesson we will discuss how to set up our development in 64-bit ARM with Kali Linux.

-> Click HERE to read the article on LinkedIn.

Lesson 166: ARM-64 Course (Part 3 - "Hello World")

In this lesson we will discuss how to write and compile a simple hello world program in C++.

-> Click HERE to read the article on LinkedIn.

Lesson 167: ARM-64 Course (Part 4 - Debugging "Hello World")

In this lesson we will debug our simple hello world program.

-> Click HERE to read the article on LinkedIn.

Lesson 168: ARM-64 Course (Part 5 - Hacking "Hello World")

In this lesson we will hack our simple hello world program.

-> Click HERE to read the article on LinkedIn.

Lesson 169: ARM-64 Course (Part 6 - Basic I/O)

In this lesson we will discuss how to write and compile a simple basicio program in C++ and discuss basic input validation.

-> Click HERE to read the article on LinkedIn.

Lesson 170: ARM-64 Course (Part 7 - Debugging Basic I/O)

In this lesson we will discuss how to debug a simple basicio program in C++ and discuss basic input validation.

-> Click HERE to read the article on LinkedIn.

Lesson 171: ARM-64 Course (Part 8 - Hacking Basic I/O)

In this lesson we will discuss how to hack a simple basicio program in C++ and discuss basic input validation.

-> Click HERE to read the article on LinkedIn.

Lesson 172: ARM-64 Course (Part 9 - Character Primitive Datatype)

In this lesson we will discuss the char primitive datatype.

-> Click HERE to read the article on LinkedIn.

Lesson 173: ARM-64 Course (Part 10 - Debugging Character Primitive Datatype)

In this lesson we will discuss debugging the char primitive datatype.

-> Click HERE to read the article on LinkedIn.

Lesson 174: ARM-64 Course (Part 11 - Hacking Character Primitive Datatype)

In this lesson we will discuss hacking the char primitive datatype.

-> Click HERE to read the article on LinkedIn.

Lesson 175: ARM-64 Course (Part 12 - Boolean Primitive Datatype)

In this lesson we will discuss the boolean primitive datatype.

-> Click HERE to read the article on LinkedIn.

Lesson 176: ARM-64 Course (Part 13 - Debugging Boolean Primitive Datatype)

In this lesson we will discuss debugging the boolean primitive datatype.

-> Click HERE to read the article on LinkedIn.

Lesson 177: ARM-64 Course (Part 14 - Hacking Boolean Primitive Datatype)

In this lesson we will discuss hacking the boolean primitive datatype.

-> Click HERE to read the article on LinkedIn.

Lesson 178: ARM-64 Course (Part 15 - Float Primitive Datatype)

In this lesson we will discuss the float primitive datatype.

-> Click HERE to read the article on LinkedIn.

Lesson 179: ARM-64 Course (Part 16 - Debugging Float Primitive Datatype)

In this lesson we will discuss debugging the float primitive datatype.

-> Click HERE to read the article on LinkedIn.

Lesson 180: ARM-64 Course (Part 17 - Hacking Float Primitive Datatype)

In this lesson we will discuss hacking the float primitive datatype.

-> Click HERE to read the article on LinkedIn.

Lesson 181: ARM-64 Course (Part 18 - Double Primitive Datatype)

In this lesson we will discuss the double primitive datatype.

-> Click HERE to read the article on LinkedIn.

Lesson 182: ARM-64 Course (Part 19 - Debugging Double Primitive Datatype)

In this lesson we will discuss debugging the double primitive datatype.

-> Click HERE to read the article on LinkedIn.

Lesson 183: ARM-64 Course (Part 20 - Hacking Double Primitive Datatype)

In this lesson we will discuss hacking the double primitive datatype.

-> Click HERE to read the article on LinkedIn.


Pico Hacking Course

Lesson 184: Pico Hacking Course (Part 1 - The Why, The How...)

In this lesson we will discuss the basic setup of the development environment for the Raspberry Pi Pico.

-> Click HERE to read the article on LinkedIn.

Lesson 185: Pico Hacking Course (Part 2 - Hello World)

In this lesson we will discuss the basic Hello World program.

-> Click HERE to read the article on LinkedIn.

Lesson 186: Pico Hacking Course (Part 3 - Debugging Hello World)

In this lesson we will discuss debugging the basic Hello World program.

-> Click HERE to read the article on LinkedIn.

Lesson 187: Pico Hacking Course (Part 4 - Hacking Hello World)

In this lesson we will discuss hacking the basic Hello World program.

-> Click HERE to read the article on LinkedIn.

Lesson 188: Pico Hacking Course (Part 5 - char)

In this lesson we will discuss the char data type.

-> Click HERE to read the article on LinkedIn.

Lesson 189: Pico Hacking Course (Part 6 - Debugging char)

In this lesson we will discuss debugging the char data type.

-> Click HERE to read the article on LinkedIn.

Lesson 190: Pico Hacking Course (Part 7 - Hacking char)

In this lesson we will discuss hacking the char data type.

-> Click HERE to read the article on LinkedIn.

Lesson 191: Pico Hacking Course (Part 8 - int)

In this lesson we will discuss the int data type.

-> Click HERE to read the article on LinkedIn.

Lesson 192: Pico Hacking Course (Part 9 - Debugging int)

In this lesson we will discuss debugging the int data type.

-> Click HERE to read the article on LinkedIn.

Lesson 193: Pico Hacking Course (Part 10 - Hacking int)

In this lesson we will discuss hacking the int data type.

-> Click HERE to read the article on LinkedIn.

Lesson 194: Pico Hacking Course (Part 11 - float)

In this lesson we will discuss the float data type.

-> Click HERE to read the article on LinkedIn.

Lesson 195: Pico Hacking Course (Part 12 - Debugging float)

In this lesson we will discuss debugging the float data type.

-> Click HERE to read the article on LinkedIn.

Lesson 196: Pico Hacking Course (Part 13 - Hacking float)

In this lesson we will discuss hacking the float data type.

-> Click HERE to read the article on LinkedIn.

Lesson 197: Pico Hacking Course (Part 14 - double)

In this lesson we will discuss the double data type.

-> Click HERE to read the article on LinkedIn.

Lesson 198: Pico Hacking Course (Part 15 - Debugging double)

In this lesson we will discuss debugging the double data type.

-> Click HERE to read the article on LinkedIn.

Lesson 199: Pico Hacking Course (Part 16 - Hacking double)

In this lesson we will discuss hacking the double data type.

-> Click HERE to read the article on LinkedIn.

Lesson 200: Pico Hacking Course (Part 17 - "ABSOLUTE POWER CORRUPTS ABSOLUTELY!", The Tragic Tale Of Input...)

In this lesson we will discuss the concept of proper input handling.

-> Click HERE to read the article on LinkedIn.

Lesson 201: Pico Hacking Course (Part 18 - "FOR 800 YEARS HAVE I TRAINED JEDI!", The FORCE That IS Input...)

In this lesson we will discuss the importance of proper input handling in addition to breaking down our custom input function.

-> Click HERE to read the article on LinkedIn.

Lesson 202: Pico Hacking Course (Part 19 - Input)

In this lesson we will discuss creating an effective input architecture.

-> Click HERE to read the article on LinkedIn.

Lesson 203: Pico Hacking Course (Part 20 - Debugging Input)

In this lesson we will discuss debugging input.

-> Click HERE to read the article on LinkedIn.


AArch64 Bytes Articles

AArch64 Bytes Articles (Part 1: Reversing Exit)

In this bite we learn about what happens at the very core of a 32-bit AArch64 instruction by reversing the exit Linux syscall.

-> Click HERE to read the article on Medium.

AArch64 Bytes Articles (Part 2: 64-bit Immediate Values)

In this bite we learn about how to handle moving a 64-bit immediate value into a 64-bit register.

-> Click HERE to read the article on Medium.

AArch64 Bytes Articles (Part 3: Yet Another Upper)

In this bite we learn how to create a simple parsing algorithm to convert a string's lowercase chars to uppercase, timeless Assembler example.

-> Click HERE to read the article on Medium.

ARTICLES ARE UNDER DEVELOPMENT


Windows Hacking Course

Windows Hacking Course (Chapter 1 - Hello World)

This chapter covers the basics of designing a very simple Windows Assembly Language message box program in pure Assembly for both x86 and x64 architectures.

-> Click HERE to read the FREE pdf book.

Windows Hacking Course (Chapter 2: Debugging Hello World x86)

This chapter covers the dynamic reverse engineering analysis, debugging, of the Hello World app in x86 Assembly.

-> Click HERE to read the FREE pdf book.

Windows Hacking Course (Chapter 3: Hacking Hello World x86)

This chapter covers the dynamic reverse engineering analysis, hacking, of the Hello World app in x86 Assembly.

-> Click HERE to read the FREE pdf book.

Windows Hacking Course (Chapter 4: Debugging Hello World x64)

This chapter covers the dynamic reverse engineering analysis, debugging, of the Hello World app in x64 Assembly.

-> Click HERE to read the FREE pdf book.

Windows Hacking Course (Chapter 5: Hacking Hello World x64)

This chapter covers the dynamic reverse engineering analysis, hacking, of the Hello World app in x64 Assembly.

-> Click HERE to read the FREE pdf book.

Windows Hacking Course (Chapter 6: Directories)

This chapter covers reviewing the Windows API CreateDirectoryW and RemoveDirectoryW functions in C.

-> Click HERE to read the FREE pdf book.

Windows Hacking Course (Chapter 7: Debugging Directories x86)

This chapter covers dynamic reverse engineering analysis, debugging, the Windows API CreateDirectoryW and RemoveDirectoryW functions in x86 Assembly.

-> Click HERE to read the FREE pdf book.

Windows Hacking Course (Chapter 8: Hacking Directories x86)

This chapter covers dynamic reverse engineering analysis, hacking, the Windows API CreateDirectoryW and RemoveDirectoryW functions in x86 Assembly.

-> Click HERE to read the FREE pdf book.

Windows Hacking Course (Chapter 9: Debugging Directories x64)

This chapter covers dynamic reverse engineering analysis, debugging, the Windows API CreateDirectoryW and RemoveDirectoryW functions in x64 Assembly.

-> Click HERE to read the FREE pdf book.

Windows Hacking Course (Chapter 10: Hacking Directories x64)

This chapter covers dynamic reverse engineering analysis, hacking, the Windows API CreateDirectoryW and RemoveDirectoryW functions in x64 Assembly.

-> Click HERE to read the FREE pdf book.

Windows Hacking Course (Chapter 11: CopyFile)

This chapter covers reviewing the Windows API CopyFileW function in C.

-> Click HERE to read the FREE pdf book.

BOOK IS UNDER DEVELOPMENT


Zeek Network Security Monitor Course

Zeek Network Security Monitor Course (Lesson 1: Setup)

In this lesson we set up a basic Ubuntu computer connected directly to an inexpensive tap which connects to your home router. I have provided products you can purchase if you do not have existing parts however please feel free to use any network tap of your choosing and/or any additional Ethernet adapters or cables of your choosing.

-> Click HERE to read the article on Medium.

Zeek Network Security Monitor Course (Lesson 2: alert-all-notices.zeek)

In this lesson we create an alert by logging all notices that Zeek deems worthy of your attention to the notice.log file in addition to sending you an email.

-> Click HERE to read the article on Medium.

Zeek Network Security Monitor Course (Lesson 3: conn.log)

In this lesson we will show the source IP addresses and ports and their destination IP addresses and ports.

-> Click HERE to read the article on Medium.

Zeek Network Security Monitor Course (Lesson 4: conn.log - 2)

In this lesson we will show the source IP addresses that generated the most network traffic, organized in descending order.

-> Click HERE to read the article on Medium.

Zeek Network Security Monitor Course (Lesson 5: conn.log - 3)

In this lesson we will show the destination ports that received the most network traffic, organized in descending order.

-> Click HERE to read the article on Medium.

Zeek Network Security Monitor Course (Lesson 6: conn.log - 4)

In this lesson we will show the number of connections per protocol service.

-> Click HERE to read the article on Medium.

Zeek Network Security Monitor Course (Lesson 7: conn.log - 5)

In this lesson we will show the distinct browsers used by the hosts.

-> Click HERE to read the article on Medium.

Zeek Network Security Monitor Course (Lesson 8: conn.log - 6)

In this lesson we will show the source and destination IP addresses of all UDP and TCP connections that lasted more than 90 seconds.

-> Click HERE to read the article on Medium.

Zeek Network Security Monitor Course (Lesson 9: conn.log - 7)

In this lesson we will show whether there any web servers operating on non-standardized ports.

-> Click HERE to read the article on Medium.

Zeek Network Security Monitor Course (Lesson 10: conn.log - 8)

In this lesson we will show the state history of connections as a string of letters.

-> Click HERE to read the article on Medium.


C++ Fundamentals Course

C++ Fundamentals Course (Chapter 1 - Hello World)

In this lesson we will discuss the basics of C++ output.

-> Click HERE to read the FREE pdf book.

C++ Fundamentals Course (Chapter 2 - Variables, Constants, Arrays, Vectors, Statements, Operators, Strings)

In this lesson we will discuss variables, constants, arrays, vectors, statements, operators and strings.

-> Click HERE to read the FREE pdf book.

C++ Fundamentals Course (Chapter 3 - Program Flow)

In this lesson we will discuss the basics of program flow.

-> Click HERE to read the FREE pdf book.

C++ Fundamentals Course (Chapter 4 - Functions)

In this lesson we will discuss functions.

-> Click HERE to read the FREE pdf book.

C++ Fundamentals Course (Chapter 5 - Pointers)

In this lesson we will discuss pointers.

-> Click HERE to read the FREE pdf book.

C++ Fundamentals Course (Chapter 6 - Input)

In this lesson we will discuss proper input validation.

-> Click HERE to read the FREE pdf book.

C++ Fundamentals Course (Chapter 7 - Classes)

In this lesson we will discuss class basics.

-> Click HERE to read the FREE pdf book.


MicroPython Firmware Development Course

MicroPython Firmware Development Course (Chapter 1 - Building Micropython)

This chapter covers how to build a MicroPython development environment.

-> Click HERE to read the FREE pdf book.

MicroPython Firmware Development Course (Chapter 2 - Basic I/O)

This chapter covers how to handle basic input and output in MicroPython.

-> Click HERE to read the FREE pdf book.

MicroPython Firmware Development Course (Chapter 3 - DataTypes & Numbers)

This chapter covers how to handle datatypes and numbers t in MicroPython.

-> Click HERE to read the FREE pdf book.

MicroPython Firmware Development Course (Chapter 4: Conditional Logic)

This chapter covers conditional logic and application flow chart design in MicroPython.

-> Click HERE to read the FREE pdf book.

MicroPython Firmware Development Course (Chapter 5: Lists, Tuples, Dictionaries & Loops)

This chapter covers lists, tuples, dictionaries and loops in MicroPython.

-> Click HERE to read the FREE pdf book.

BOOK IS UNDER DEVELOPMENT


License

Apache License, Version 2.0

About

A FREE comprehensive reverse engineering tutorial covering x86, x64, 32-bit ARM & 64-bit ARM architectures.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Assembly 30.6%
  • HTML 24.5%
  • CMake 18.3%
  • C++ 11.5%
  • Python 9.7%
  • C 3.3%
  • Makefile 2.1%