Reverse-Engineering
A FREE comprehensive reverse engineering tutorial covering x86, x64, 32-bit/64-bit ARM, 8-bit AVR and 32-bit RISC-V arc…
git clone https://github.com/mytechnotalent/Reverse-Engineering.gitmytechnotalent/Reverse-EngineeringA FREE comprehensive reverse engineering tutorial covering x86, x64, 32-bit/64-bit ARM, 8-bit AVR and 32-bit RISC-V architectures.
FREE EMBEDDED HACKING COURSE PROMO HERE
Join DC540 Discord HERE
OUROBOROS BADGE HERE
HOW IT WORKS HERE
CLICK IMAGE BELOW TO WATCH THE PROMO VIDEO!
Today's Tutorial [July 30, 2026]
Lesson 260: Hacking Rust Course (Chapter 15: Hacking Control Flow)
This chapter covers hacking control flow within a Rust program for the x64 architecture.
-> Click HERE to read the FREE pdf book.
Book
Reverse Engineering E-BOOK HERE
Reverse Engineering PDF HERE
Assembled by @0xInfection (Twitter)
Ghidra Plugins
G-AVR HERE
G-Pulley HERE
Cryptography
The Ouroboros Engine HERE
Network
Turbo Scanner HERE
Turbo Attack HERE
Windows Hacking
Hacking Windows HERE
Windows Process Lifecycle HERE
Windows Kernel Debugging HERE
MAC/Linux Hacking
Core Dump RE HERE
CTF's
DC540 Hacking Challenge 0x00001 HERE
DC540 Hacking Challenge 0x00002 [MicroPython CTF] HERE
DC540 Hacking Challenge 0x00003 [C CTF] HERE
DC540 Hacking Challenge 0x00004 [C CTF] HERE
DC540 Hacking Challenge 0x00005a HERE
DC540 Hacking Challenge 0x00005b [Assembler CTF] HERE
DC540 Hacking Challenge 0x00006 [UNKNOWN CTF] HERE
DC540 Hacking Challenge 0x00007 [UNKNOWN CTF] HERE
DC540 Hacking Challenge 0x00008 [UNKNOWN CTF] HERE
DC540 Hacking Challenge 0x00009 [Windows CTF] HERE
STEM
Python For Kids HERE
Python Zero To Hero HERE
RISC-V Assembler Drivers
0x00-uart HERE
Table of Contents
x86 Course HERE
ARM-32 Course 1 HERE
ARM-32 Course 2 HERE
ARM-32 Project Course HERE
x64 Course HERE
ARM-64 Course HERE
Pico Hacking Course HERE
Hacking Windows Course HERE
Go Hacking Course HERE
Hacking Rust Course HERE
Hacking Embedded Rust Course HERE
Hacking Embedded Rust Course w/ microbit HERE
Embedded Assembler Course HERE
Embedded Hacking Course HERE
Hacking Bits Course HERE
Hacking RISC-V Course HERE
RP2350 UART Driver Course HERE
RP2350 UART Driver RISC-V Course HERE
RP2350 Blink Driver Course HERE
RP2350 Blink Driver RISC-V Course HERE
RP2350 Button Driver Course HERE
RP2350 Button Driver RISC-V Course HERE
Wasm Course HERE
Embedded Wasm UART Echo Course HERE
Embedded Wasm Blinky Course HERE
Embedded Wasm Button Course HERE
Embedded Wasm Servo Course HERE
Assembler Course 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 FREE ebook.
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 FREE ebook.
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 FREE ebook.
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 FREE ebook.
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 FREE ebook.
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 FREE ebook.
Lesson 7: x86 Course (Part 7: Transistors And Memory)
This tutorial will address the basics of transistors and memory.
-> Click HERE to read the FREE ebook.
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 FREE ebook.
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 FREE ebook.
Lesson 10: x86 Course (Part 10: General-purpose Registers)
This tutorial will address the general purpose x86 registers.
-> Click HERE to read the FREE ebook.
Lesson 11: x86 Course (Part 11: Segment Registers)
This tutorial will address the x86 segment registers.
-> Click HERE to read the FREE ebook.
Lesson 12: x86 Course (Part 12: Instruction Pointer Register)
This tutorial will address the x86 instruction pointer register.
-> Click HERE to read the FREE ebook.
Lesson 13: x86 Course (Part 13: Control Registers)
This tutorial will address the x86 control registers.
-> Click HERE to read the FREE ebook.
Lesson 14: x86 Course (Part 14: Flags)
This tutorial will address the status, control and systems flags.
-> Click HERE to read the FREE ebook.
Lesson 15: x86 Course (Part 15: Stack)
This tutorial will address the stack.
-> Click HERE to read the FREE ebook.
Lesson 16: x86 Course (Part 16: Heap)
This tutorial will address the heap.
-> Click HERE to read the FREE ebook.
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 FREE ebook.
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 FREE ebook.
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 FREE ebook.
Lesson 20: x86 Course (Part 20 - Instruction Code Handling)
This tutorial will address op codes and instruction code handling.
-> Click HERE to read the FREE ebook.
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 FREE ebook.
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 FREE ebook.
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 FREE ebook.
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 FREE ebook.
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 FREE ebook.
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 FREE ebook.
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 FREE ebook.
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 FREE ebook.
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 FREE ebook.
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 FREE ebook.
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 FREE ebook.
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 FREE ebook.
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 FREE ebook.
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 FREE ebook.
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 FREE ebook.
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 FREE ebook.
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 FREE ebook.
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 FREE ebook.
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 FREE ebook.
Lesson 40: x86 Course (Part 40 - Conclusion)
This tutorial will conclude this x86 tutorial.
-> Click HERE to read the FREE ebook.
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 FREE ebook.
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 FREE ebook.
Lesson 43: ARM-32 Course 1 (Part 3 - Binary Addition)
This tutorial will discuss binary addition.
-> Click HERE to read the FREE ebook.
Lesson 44: ARM-32 Course 1 (Part 4 - Binary Subtraction)
This tutorial will discuss binary subtraction.
-> Click HERE to read the FREE ebook.
Lesson 45: ARM-32 Course 1 (Part 5 - Word Lengths)
This tutorial will discuss word lengths.
-> Click HERE to read the FREE ebook.
Lesson 46: ARM-32 Course 1 (Part 6 - Registers)
This tutorial will discuss registers.
-> Click HERE to read the FREE ebook.
Lesson 47: ARM-32 Course 1 (Part 7 - Program Counter)
This tutorial will discuss the program counter.
-> Click HERE to read the FREE ebook.
Lesson 48: ARM-32 Course 1 (Part 8 - CPSR)
This tutorial will discuss the CPSR.
-> Click HERE to read the FREE ebook.
Lesson 49: ARM-32 Course 1 (Part 9 - Link Register)
This tutorial will discuss the Link Register.
-> Click HERE to read the FREE ebook.
Lesson 50: ARM-32 Course 1 (Part 10 - Stack Pointer)
This tutorial will discuss the Stack Pointer.
-> Click HERE to read the FREE ebook.
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 FREE ebook.
Lesson 52: ARM-32 Course 1 (Part 12 - Von Neumann Architecture)
This tutorial will discuss Von Neumann Architecture.
-> Click HERE to read the FREE ebook.
Lesson 53: ARM-32 Course 1 (Part 13 - Instruction Pipeline)
This tutorial will discuss the instruction pipeline.
-> Click HERE to read the FREE ebook.
Lesson 54: ARM-32 Course 1 (Part 14 - ADD)
This tutorial will discuss the add instruction.
-> Click HERE to read the FREE ebook.
Lesson 55: ARM-32 Course 1 (Part 15 - Debugging ADD)
This tutorial will discuss debugging the add instruction.
-> Click HERE to read the FREE ebook.
Lesson 56: ARM-32 Course 1 (Part 16 - Hacking ADD)
This tutorial will discuss hacking the add instruction.
-> Click HERE to read the FREE ebook.
Lesson 57: ARM-32 Course 1 (Part 17 - ADDS)
This tutorial will discuss the adds instruction.
-> Click HERE to read the FREE ebook.
Lesson 58: ARM-32 Course 1 (Part 18 – Debugging ADDS)
This tutorial will discuss debugging the adds instruction.
-> Click HERE to read the FREE ebook.
Lesson 59: ARM-32 Course 1 (Part 19 – Hacking ADDS)
This tutorial will discuss hacking the adds instruction.
-> Click HERE to read the FREE ebook.
Lesson 60: ARM-32 Course 1 (Part 20 – ADC)
This tutorial will discuss the ADC instruction.
-> Click HERE to read the FREE ebook.
Lesson 61: ARM-32 Course 1 (Part 21 – Debugging ADC)
This tutorial will discuss debugging the ADC instruction.
-> Click HERE to read the FREE ebook.
Lesson 62: ARM-32 Course 1 (Part 22 – Hacking ADC)
This tutorial will discuss hacking the ADC instruction.
-> Click HERE to read the FREE ebook.
Lesson 63: ARM-32 Course 1 (Part 23 – SUB)
This tutorial will discuss the SUB instruction.
-> Click HERE to read the FREE ebook.
Lesson 64: ARM-32 Course 1 (Part 24 – Debugging SUB)
This tutorial will discuss debugging the SUB instruction.
-> Click HERE to read the FREE ebook.
Lesson 65: ARM-32 Course 1 (Part 25 – Hacking SUB)
This tutorial will discuss hacking the SUB instruction.
-> Click HERE to read the FREE ebook.
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 FREE ebook.
Lesson 67: ARM-32 Course 2 (Part 2 – Number Systems)
This tutorial will discuss number systems.
-> Click HERE to read the FREE ebook.
Lesson 68: ARM-32 Course 2 (Part 3 – Binary Addition)
This tutorial will discuss binary addition.
-> Click HERE to read the FREE ebook.
Lesson 69: ARM-32 Course 2 (Part 4 – Binary Subtraction)
This tutorial will discuss binary subtraction.
-> Click HERE to read the FREE ebook.
Lesson 70: ARM-32 Course 2 (Part 5 – Word Lengths)
This tutorial will discuss word lengths.
-> Click HERE to read the FREE ebook.
Lesson 71: ARM-32 Course 2 (Part 6 – Registers)
This tutorial will discuss registers.
-> Click HERE to read the FREE ebook.
Lesson 72: ARM-32 Course 2 (Part 7 – Program Counter)
This tutorial will discuss program counter.
-> Click HERE to read the FREE ebook.
Lesson 73: ARM-32 Course 2 (Part 8 - CPSR)
This tutorial will discuss the CPSR.
-> Click HERE to read the FREE ebook.
Lesson 74: ARM-32 Course 2 (Part 9 - Link Register)
This tutorial will discuss the link register.
-> Click HERE to read the FREE ebook.
Lesson 75: ARM-32 Course 2 (Part 10 - Stack Pointer)
This tutorial will discuss the stack pointer.
-> Click HERE to read the FREE ebook.
Lesson 76: ARM-32 Course 2 (Part 11 - Firmware Boot Procedures)
This tutorial will discuss the firmware boot procedures.
-> Click HERE to read the FREE ebook.
Lesson 77: ARM-32 Course 2 (Part 12 - Von Neumann Architecture)
This tutorial will discuss the Von Neumann Architecture.
-> Click HERE to read the FREE ebook.
Lesson 78: ARM-32 Course 2 (Part 13 - Instruction Pipeline)
This tutorial will discuss the instruction pipeline.
-> Click HERE to read the FREE ebook.
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 FREE ebook.
Lesson 80: ARM-32 Course 2 (Part 15 - Debugging Hello World)
This tutorial will discuss debugging hello world.
-> Click HERE to read the FREE ebook.
Lesson 81: ARM-32 Course 2 (Part 16 - Hacking Hello World)
This tutorial will discuss hacking hello world.
-> Click HERE to read the FREE ebook.
Lesson 82: ARM-32 Course 2 (Part 17 - Constants)
This tutorial will discuss constants.
-> Click HERE to read the FREE ebook.
Lesson 83: ARM-32 Course 2 (Part 18 – Debugging Constants)
This tutorial will discuss debugging constants.
-> Click HERE to read the FREE ebook.
Lesson 84: ARM-32 Course 2 (Part 19 – Hacking Constants)
This tutorial will discuss hacking constants.
-> Click HERE to read the FREE ebook.
Lesson 85: ARM-32 Course 2 (Part 20 – Character Variables)
This tutorial will discuss character variables.
-> Click HERE to read the FREE ebook.
Lesson 86: ARM-32 Course 2 (Part 21 – Debugging Character Variables)
This tutorial will discuss debugging character variables.
-> Click HERE to read the FREE ebook.
Lesson 87: ARM-32 Course 2 (Part 22 – Hacking Character Variables)
This tutorial will discuss hacking character variables.
-> Click HERE to read the FREE ebook.
Lesson 88: ARM-32 Course 2 (Part 23 – Boolean Variables)
This tutorial will discuss boolean variables.
-> Click HERE to read the FREE ebook.
Lesson 89: ARM-32 Course 2 (Part 24 – Debugging Boolean Variables)
This tutorial will discuss debugging boolean variables.
-> Click HERE to read the FREE ebook.
Lesson 90: ARM-32 Course 2 (Part 25 – Hacking Boolean Variables)
This tutorial will discuss hacking boolean variables.
-> Click HERE to read the FREE ebook.
Lesson 91: ARM-32 Course 2 (Part 26 – Integer Variables)
This tutorial will discuss integer variables.
-> Click HERE to read the FREE ebook.
Lesson 92: ARM-32 Course 2 (Part 27 – Debugging Integer Variables)
This tutorial will discuss debugging integer variables.
-> Click HERE to read the FREE ebook.
Lesson 93: ARM-32 Course 2 (Part 28 – Hacking Integer Variables)
This tutorial will discuss hacking integer variables.
-> Click HERE to read the FREE ebook.
Lesson 94: ARM-32 Course 2 (Part 29 – Float Variables)
This tutorial will discuss float variables.
-> Click HERE to read the FREE ebook.
Lesson 95: ARM-32 Course 2 (Part 30 – Debugging Float Variables)
This tutorial will discuss debugging float variables.
-> Click HERE to read the FREE ebook.
Lesson 96: ARM-32 Course 2 (Part 31 – Hacking Float Variables)
This tutorial will discuss hacking float variables.
-> Click HERE to read the FREE ebook.
Lesson 97: ARM-32 Course 2 (Part 32 – Double Variables)
This tutorial will discuss double variables.
-> Click HERE to read the FREE ebook.
Lesson 98: ARM-32 Course 2 (Part 33 – Debugging Double Variables)
This tutorial will discuss debugging double variables.
-> Click HERE to read the FREE ebook.
Lesson 99: ARM-32 Course 2 (Part 34 – Hacking Double Variables)
more like this
smb-vanilla-port
A C and C++ decompilation of the NES games "Super Mario Bros" and "Super Mario Bros: The Lost Levels"



