Assembly Language Programming for Reverse Engineering

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

4.88 (184 reviews)
Udemy
platform
English
language
Network & Security
category
instructor
Assembly Language Programming for Reverse Engineering
2,695
students
15 hours
content
Mar 2024
last update
$84.99
regular price

What you will 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 . . .

Why take this course?

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 I will see you inside!

Screenshots

Assembly Language Programming for Reverse Engineering - Screenshot_01Assembly Language Programming for Reverse Engineering - Screenshot_02Assembly Language Programming for Reverse Engineering - Screenshot_03Assembly Language Programming for Reverse Engineering - Screenshot_04

Reviews

Kayla
February 1, 2024
I like the course so far. I appreciate him giving us the hacker perspective on assebmly. Im hoping that he will go through how we can edit real applications and tell us how we can apply what we learned to reverse engineering real applications. Because thats what matters. Being able to open up a program and sunderstand its assembly.
Berkay
January 23, 2024
Thank you for teaching me this programming language which I thought would be very difficult. I also want to ask something, if I am interested in malware analysis and reverse engineering, I wonder in which order I should learn your tutorials. You answer everyone, thank you for your understanding.
Matteo
January 10, 2024
This course is not only for complitely beginners, it is for babies. This can be seen as a pro or as a cons based on your education. For someone who has a basic knowledge of information technology this course is too slow.
Dennis
January 2, 2024
Have watched the first two lectures now. Content seems good, you know what you are talking about, that's great, but no introduction to the topic, no summary, no explanation what we are going to do, no introduction of yourself. And you should get a better microphone to filter out background noise. Will watch until the end since the information given are quite good even if the videos could be better.
Asier
December 18, 2023
This course has been groundbreaking for me! I came to this course expecting nothing, just maybe learning how x86 assembly works. What I had instead is a very comprehensive and detail course about assembly, where you can MANIPULATE ANY program in whatever way you want. I have gain confidence to understand how programs execute behind the hoods and how to analyze them from a debugging point of view where there is no high level source code. If there is something that I miss, it may be to explain a little about x64 assembly. Nonetheless, I understand that most programs are written for 32 bits, which is the reason as to why the course focus on it. This course is for anyone who interested in low level programming, and want to know how all is created under the hood. I will say someone who has completed a programming course (preferably C) is the minimum expected to take this course.
David
December 6, 2023
I found this course to be really thorough on all the topics covered, thanks to the multitude of examples. As a result, I’m working through it quicker than most courses.
Jonathan
November 30, 2023
I thoroughly enjoyed this course. It provided an accessible approach to a subject that I have long wanted to study, but previously found challenging to know how to get started. I was very impressed by the comprehensive coverage provided by the tutor and the thoughtful approach in considering the questions that I as a student may have. Thank you very much Mr Chin.
Lohitha
November 28, 2023
Really liked the unique teaching style that involved modifying existing files, which made learning both enjoyable and straightforward compared to the traditional method of solely writing programs. Assembly language seemed daunting before this course of yours. thank you. But one feedback could have collated all the ppt into one pdf, so we could use it to revise.
Doug
September 16, 2023
I like how the course used 32xdbg to add the code for each lesson and run so we did not have to use an assembler, like NASM or MASM. For me, the course moved to slow. I kept fast forwarding the videos, using the Powerpoint presentations and working on my own. It should be mentioned I already had exposure to assembly, programming in several languages and reverse engineering some crackmes. I will look for more advanced courses.
Francis
August 22, 2023
Over the last few years, Paul Chin has created many reverse engineering courses. However, most of these courses required to know a bit of Assembly to be properly understood, and it's difficult to find material that teaches this subject without getting overwhelmed. I'm glad to see this new course, that should help make more sense of the previous lectures. I really like the approach that was chosen here: directly hack into an existing program inside a debugger to rewrite its code and execute it step by step to see what happens. This is very fitting with the whole "reverse engineering" theme. In all fairness, this is not an in-depth course on Assembly. Still, it should serve as a proper starting point and give enough basics so that a student can learn more on his own. I've also noted that Paul Chin is still updating this course and adds a few extra chapters over time.
Yuri
August 17, 2023
I like his way. He also imparts the knowledge in detail and at a comfortable pace. I can recommend Paul
Swaraj
August 16, 2023
One of the best course out there for learning Assembly code if you're interested in learning reverse engineering. The instructor gives a clear and concise explanation for every code written by him and the definitions are simple and understandable for even absolute beginners. Highly Recommended. Moreover, please do include exercises for us at the end of the course, so we can practice ourselves and be familiar with the flow of the code explained.
Xiulan
July 13, 2023
Mr. Chin's approach to using a debugger and approaching assembly from a reverse engineering perspective is excellent. My goal is to understand the assembly instructions better when reversing engineering Malware, and this course is appropriate for that. I highly recommend all of Mr. Chin's courses!
Leon
June 22, 2023
Paul Chin is by far the best Assembly and Reverse Engineering instructor on udemy and also a genuinely nice person, I'd definitely recommend checking out this course!
Galymzhan
June 6, 2023
The course is very nice, and contains understandable explanations. I expected a bit more of a reverse engineering as the description was saying "But learning it that way will not give you the skills to understand reverse engineered programs".

Charts

Price

Assembly Language Programming for Reverse Engineering - Price chart

Rating

Assembly Language Programming for Reverse Engineering - Ratings chart

Enrollment distribution

Assembly Language Programming for Reverse Engineering - Distribution chart
5053884
udemy ID
1/2/2023
course created date
4/21/2023
course indexed date
Bot
course submited by