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

fairycn/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)


Hacking Windows E-BOOK HERE

UNDER DEVELOPMENT


STEM Reverse Engineering Demo HERE


Fundamental C++ PDF HERE


Fundamental Go PDF HERE

COMING SOON


Fundamental Python PDF HERE

UNDER DEVELOPMENT


Python For Kids PDF HERE


ToyOS HERE


AArch64 Bytes HERE

UNDER DEVELOPMENT


Tor Everything PDF HERE


Zeek Network Security Monitor HERE


STM32F401CCUx_PA0ButtonHandler Driver (Assembly Language) 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


Hacking Windows Course

Hacking Windows 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.

Hacking Windows 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.

Hacking Windows 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.

Hacking Windows 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.

Hacking Windows 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.

Hacking Windows 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.

Hacking Windows 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.

Hacking Windows 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.

Hacking Windows 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.

Hacking Windows 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.

Hacking Windows Course (Chapter 11: CopyFile)

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

-> Click HERE to read the FREE pdf book.

Hacking Windows Course (Chapter 12: Debugging CopyFile x86)

This chapter covers dynamic reverse engineering analysis, debugging, the Windows API CopyFileW function in x86 Assembly.

-> Click HERE to read the FREE pdf book.

Hacking Windows Course (Chapter 13: Hacking CopyFile x86)

This chapter covers dynamic reverse engineering analysis, hacking, the Windows API CopyFileW function in x86 Assembly.

-> 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%