Tags
Language
Tags
June 2025
Su Mo Tu We Th Fr Sa
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 1 2 3 4 5
    Attention❗ To save your time, in order to download anything on this site, you must be registered 👉 HERE. If you do not have a registration yet, it is better to do it right away. ✌

    ( • )( • ) ( ͡⚆ ͜ʖ ͡⚆ ) (‿ˠ‿)
    SpicyMags.xyz

    Assembly Language Programming For Reverse Engineering

    Posted By: ELK1nG
    Assembly Language Programming For Reverse Engineering

    Assembly Language Programming For Reverse Engineering
    Published 4/2023
    MP4 | Video: h264, 1280x720 | Audio: AAC, 44.1 KHz
    Language: English | Size: 6.61 GB | Duration: 9h 11m

    Understand assembly code and modify exe files to add new functionality using x64dbg

    What you'll learn

    Assembly Language Basics

    Reverse Engineering

    xdbg debugging basics

    Modifying programs

    Injecting code into exe files

    Hollowing out an exe file

    CPU registers

    Basic Addition

    INC, DEC, MUL and DIV instructions

    Accessing main memory (RAM)

    The Stack

    Function Calls

    Input and Output Functions

    Code Caves

    Functions that returns a value

    The Flags Register

    Jumps

    Compare Instructions

    Structured Programming

    Signed Operations

    and more . . .

    Requirements

    PC

    Basic C programming knowledge would be helpful but not necessary

    You will learn everything you need to know

    Description

    If you have been using debuggers to reverse engineer programs but wished you had more understanding of Assembly Language, then this course is for you. We will cover enough assembly language to allow you to understand how to modify exe files to insert your own code or, to modify existing exe files to do things which it was not intended to do.Traditionally, assembly language programming is taught using an assemblers like NASM or FASM. But learning it that way will not give you the skills to understand reverse engineered programs. There is a missing link (knowledge gap) of how to apply your assembly knowledge to modify programs. This course fills that knowledge gap. Instead of using an assembler, we will directly use the x64dbg debugger to learn assembly language. That is right, we will write our own assembly code inside the x64dbg debugger itself.  You will learn Assembly Language from the ground up with zero knowledge as a complete beginner.We will use techniques that allow you to: modify existing codeoverwrite existing code modify memory segments to insert datacreate new functionsexploit code cavesadd new functionality to existing programsand more…This black art is not widely taught and there are no existing courses elsewhere that puts together coherently all the knowledge of assembly and reverse engineering. Mostly what you will find are separate courses on Assembly and Reverse Engineering. Many courses on Reverse Engineering don't cover the background assembly language from a software hacker's perspective. And almost all Assembly Language courses teach you how to write programs from scratch, instead of how to modify existing programs to add new functionality with your own code using a debugger like x64dbg.The knowledge you gain will be your added advantage either as a security researcher, or, malware analyst, or student of software security. It will also benefit programmers who want to know how programs run internally and how to extend program functionality if you do not have the source code.Go ahead and enroll now and I will see you inside!

    Overview

    Section 1: Introduction

    Lecture 1 Installing the tools

    Lecture 2 Binary and Hexadecimal Number Systems

    Section 2: Basic Skills

    Lecture 3 Introduction to xdbg debugger

    Lecture 4 Debugger Stepping Basics

    Lecture 5 How to hollow out an exe file

    Section 3: Registers

    Lecture 6 Introduction to CPU registers

    Lecture 7 The MOV Instruction

    Section 4: Basic Addition

    Lecture 8 Addition using full registers

    Lecture 9 Addition of partial registers

    Lecture 10 Subtraction

    Section 5: INC, DEC, MUL and DIV instructions

    Lecture 11 INC and DEC Instructions

    Lecture 12 MUL Instructions

    Lecture 13 DIV Instructions

    Lecture 14 DIV Exercises

    Section 6: Accessing main memory (RAM)

    Lecture 15 Register to memory and memory to register

    Lecture 16 MOV to memory and direct memory patching techniques

    Lecture 17 Memory Exercise

    Section 7: The Stack

    Lecture 18 Pushing register values to the stack

    Lecture 19 Popping stack values to registers

    Lecture 20 How to push Constants and Strings to the Stack

    Section 8: Function calls

    Lecture 21 Introduction to function calls

    Lecture 22 Function call with 2 parameters

    Lecture 23 Exercise: Function calls with 2 parameters

    Lecture 24 Exercise: Function calls with 3 parameters

    Section 9: Input and Output functions

    Lecture 25 Intro to input output in assembly

    Lecture 26 How to read in numbers and output it again

    Lecture 27 How to read in strings and output it back to user

    Section 10: Code Caves

    Lecture 28 Introduction to Code Caves

    Lecture 29 A simple code cave

    Lecture 30 Code Cave Hello

    Lecture 31 Exercise: Get Firstname, Lastname

    Section 11: Calculator Project

    Lecture 32 Project description

    Lecture 33 Designing the solution

    Lecture 34 Coding the calculator

    Section 12: Functions that returns a value

    Lecture 35 Introduction to functions that returns a value

    Lecture 36 Exercise on strlen() function

    Section 13: The Flags Register

    Lecture 37 Intro to the Flags Register and the ZF flag

    Lecture 38 The SF Flag

    Lecture 39 The CF Flag

    Lecture 40 The OF Flag

    Lecture 41 Which flag to look: OF or CF?

    Section 14: Jumps

    Lecture 42 Introduction to Jumps and JZ

    Lecture 43 JNZ jump

    Lecture 44 JZ Loops

    Lecture 45 JNZ Loops

    Lecture 46 Other conditional jumps

    Section 15: CMP instructions

    Lecture 47 Introduction to compare instructions

    Lecture 48 Practical on the CMP instructions

    Lecture 49 Comparing unsigned and signed numbers

    Section 16: Structured Programming

    Lecture 50 Introduction to Structured Programming and If-Else Statements

    Lecture 51 For Loops

    Lecture 52 While Loops

    Lecture 53 Break out of Loops

    Lecture 54 Graph view, Trace Animate and Principles of Jumps

    Section 17: Signed Operations

    Lecture 55 NEG instruction

    Lecture 56 Signed and Unsigned Extensions

    Lecture 57 Practical on signed and unsigned extensions

    Lecture 58 Converting Bytes and Words Using CBW and CWDE

    Lecture 59 Converting Bytes and Words Using CWD and CDQ

    Section 18: Resources for further study

    Lecture 60 Bonus Lecture

    Security researchers and students,Reverse Engineers,Anyone interested to learn Assembly Language from a software hacker's perspective