Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Udemy

Assembly Language Programming for Reverse Engineering

via Udemy

Overview

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

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:


  1. modify existing code

  2. overwrite existing code

  3. modify memory segments to insert data

  4. create new functions

  5. exploit code caves

  6. add new functionality to existing programs

  7. and 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 Iwill see you inside!

Taught by

Paul Chin, PhD

Reviews

4.7 rating at Udemy based on 316 ratings

Start your review of Assembly Language Programming for Reverse Engineering

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.