HOME > IT & Software > x64 Assembly Language and Reverse Engineering Practicals

x64 Assembly Language and Reverse Engineering Practicals

Synopsisx64 Assembly Language and Reverse Engineering Practicals, ava...
x64 Assembly Language and Reverse Engineering Practicals  No.1

x64 Assembly Language and Reverse Engineering Practicals, available at $44.99, has an average rating of 4.63, with 109 lectures, 7 quizzes, based on 31 reviews, and has 623 subscribers.

You will learn about x64 (64-bit) Assembly Language Reverse Engineering x64dbg debugging Modifying programs Injecting code into 64-bit exe files Hollowing out 64-bit exe files 64-bit registers 64-bit memory read and write access x64 calling conventions Creating x64 functions Password phishing without strings Creating keygens Reversing program code logic Trace highlighting and animation Stack manipulation Comment tracing debug technique Hooking WinAPI debug technique File Patching Enabling disabled buttons Removing Nag Screens Deep Tracing to Phish out passwords Loop tracing techniques Defeating Anti-Debugger protection Reversing binary without strings Using Python to write Loaders and Memory Patcher Reversing Software Protected Binary without unpacking and more . . . This course is ideal for individuals who are Students who have completed my first course in this series: Assembly Language Programming for Reverse Engineering or Anyone who already know x86 Assembly (32-bit) and want to learn x64 (64-bit) Assembly from a hackers perspective or Security researchers It is particularly useful for Students who have completed my first course in this series: Assembly Language Programming for Reverse Engineering or Anyone who already know x86 Assembly (32-bit) and want to learn x64 (64-bit) Assembly from a hackers perspective or Security researchers.

Enroll now: x64 Assembly Language and Reverse Engineering Practicals

Summary

Title: x64 Assembly Language and Reverse Engineering Practicals

Price: $44.99

Average Rating: 4.63

Number of Lectures: 109

Number of Quizzes: 7

Number of Published Lectures: 108

Number of Published Quizzes: 7

Number of Curriculum Items: 116

Number of Published Curriculum Objects: 115

Number of Practice Tests: 2

Number of Published Practice Tests: 2

Original Price: $79.99

Quality Status: approved

Status: Live

What You Will Learn

  • x64 (64-bit) Assembly Language
  • Reverse Engineering
  • x64dbg debugging
  • Modifying programs
  • Injecting code into 64-bit exe files
  • Hollowing out 64-bit exe files
  • 64-bit registers
  • 64-bit memory read and write access
  • x64 calling conventions
  • Creating x64 functions
  • Password phishing without strings
  • Creating keygens
  • Reversing program code logic
  • Trace highlighting and animation
  • Stack manipulation
  • Comment tracing debug technique
  • Hooking WinAPI debug technique
  • File Patching
  • Enabling disabled buttons
  • Removing Nag Screens
  • Deep Tracing to Phish out passwords
  • Loop tracing techniques
  • Defeating Anti-Debugger protection
  • Reversing binary without strings
  • Using Python to write Loaders and Memory Patcher
  • Reversing Software Protected Binary without unpacking
  • and more . . .
  • Who Should Attend

  • Students who have completed my first course in this series: Assembly Language Programming for Reverse Engineering
  • Anyone who already know x86 Assembly (32-bit) and want to learn x64 (64-bit) Assembly from a hackers perspective
  • Security researchers
  • Target Audiences

  • Students who have completed my first course in this series: Assembly Language Programming for Reverse Engineering
  • Anyone who already know x86 Assembly (32-bit) and want to learn x64 (64-bit) Assembly from a hackers perspective
  • Security researchers
  • If you’ve been using debuggers to reverse-engineer programs and wish you had a better understanding of Assembly Language, or if you’re just looking to learn Assembly Language in a fun and exciting way, then this course is for you. Embark on a journey to master the intricacies of x64 assembly language with this specialized course, designed for those aiming to elevate their reverse engineering skills. This is the second course in this series after the first one: Assembly Language Programming for Reverse Engineering. In that earlier course the focus was on x86 basics where we covered 32-bit assembly. In this course, we continue the journey by learning x64 (64-bit assembly).  In the second half of this course, we will apply all the knowledge from the first course, as well as new insights from this course, to hands-on reverse-engineering exercises with executable binaries. Taking the first course is preferable but not mandatory. You could just jump straight into this x64 course and learn the differences with x86 as you go along.

    While traditional assembly language courses focus on writing code from scratch using assemblers like NASM or FASM, they often leave a knowledge gap when it comes to applying that expertise to real-world reverse engineering. This course is tailored to fill this gap, providing you with the knowledge to modify and extend the functionality of existing  32-bit and 64-bit applications.

    Utilizing the powerful x64dbg debugger, we’ll bypass the traditional assemblers to teach you assembly language in the context it’s most used in the field: directly within the debugging environment. This is also known as the hacker’s perspective to assembly language. This hands-on approach ensures that you learn by doing, which is critical for effectively reverse engineering and manipulating software.

    This black art is not widely taught and there are no existing courses elsewhere that put together coherently all the knowledge of assembly and reverse engineering in one place. More often than not, courses on Assembly and Reverse Engineering are offered separately. Many courses on Reverse Engineering don’t cover the background assembly language from a software hacker’s perspective. Moreover, almost all Assembly Language courses focus on writing programs from scratch rather than modifying existing programs to add new functionality with your own code using a debugger like x64dbg.

    In this course, you will learn to:

    1. – Navigate and utilize the x64dbg debugger

    2. – Analyze and alter x64 executable files to inject custom code.

    3. – Harness data, executable and memory segments to expand program capabilities.

    4. – Develop new functions within existing applications for added functionality.

    5. – Understand the x64 Microsoft Calling conventions and Stack Frames.

    6. – Directly manipulate memory data segment

    7. – Bypass string encryption

    8. – Deep tracing to retrieve data and passwords

    9. – Use Python to patch process memory

    10. – Modify packed programs without unpacking

    11. and more . . .

    Features of this course:

    1. This course is oriented towards practical applications

    2. No lengthy, dull theoretical lectures

    3. First half of this course: Learn x64 Assembly Language through the x64dbg debugger

    4. Second half of this course: Practice reversing, tracing, extracting data, memory hacking, and modifying executable binaries

    Learning Objectives:

    By the end of this course, you will have a thorough understanding of x64 assembly language from a reverse engineer’s perspective, a skill set that is rare and highly sought after in fields like cybersecurity, malware analysis, and software development.

    Whether you’re a security researcher, a malware analyst, a student of software security, or a programmer looking to deepen your understanding of software internals, this course is your stepping stone to becoming proficient in the ‘black art’ of assembly language and reverse engineering.

    Enroll now to gain this competitive edge and take your skills to the next level. Let’s unravel the complexities of x64 together. I look forward to guiding you through every step of this exciting journey! See you inside!

    Course Curriculum

    Chapter 1: Introduction

    Lecture 1: Introduction

    Lecture 2: Installing Virtual Machine and x64dbg

    Chapter 2: Intro to x64 architecture

    Lecture 1: Why use a Debugger for learning Assembly Language

    Lecture 2: x64 instructions

    Chapter 3: Your First Program

    Lecture 1: Write your first instruction

    Chapter 4: Accessing Memory

    Lecture 1: Storing number constants in memory

    Lecture 2: Storing string constants in memory

    Lecture 3: Creating variables

    Chapter 5: Add Instructions

    Lecture 1: How to zero out a register using XOR

    Lecture 2: ADD instructions

    Chapter 6: Partial MOV instructions

    Lecture 1: Creating a new template

    Lecture 2: Partial MOV instructions

    Chapter 7: PUSH and POP instructions

    Lecture 1: Basics of PUSH and POP

    Lecture 2: Exercise on PUSH and POP

    Chapter 8: MOV Instructions

    Lecture 1: Intro to MOV Instructions

    Lecture 2: Practical on MOV Instructions

    Chapter 9: XCHG Instructions

    Lecture 1: XCHG Instruction

    Lecture 2: XCHG Memory

    Chapter 10: INC, DEC, NEG, ADD and SUB

    Lecture 1: INC and DEC

    Lecture 2: NEG

    Lecture 3: ADD and SUB

    Chapter 11: Register Flags

    Lecture 1: Intro to the Register Flags

    Lecture 2: CF Flag

    Lecture 3: OF Flag

    Lecture 4: SF Flag

    Lecture 5: ZF Flag

    Chapter 12: Bitwise Logical Operations

    Lecture 1: Introduction to Bitwise Logical Operations

    Lecture 2: AND Operations

    Lecture 3: OR Operations

    Lecture 4: XOR Operations

    Lecture 5: Flags Register

    Lecture 6: NOT Operation

    Chapter 13: Jump Instructions

    Lecture 1: Introduction to Jumps

    Lecture 2: JMP Instructions

    Lecture 3: TEST Instructions

    Lecture 4: CMP Instructions

    Lecture 5: Conditional Jumps

    Lecture 6: Signed Conditional Jumps

    Lecture 7: Implementing If Statements

    Lecture 8: Implementing If-Else Statements

    Lecture 9: Multiple IF tests

    Lecture 10: WHILE Loops

    Lecture 11: DO-WHILE Loops

    Chapter 14: Memory Arrays

    Lecture 1: Introduction to arrays in x64dbg

    Lecture 2: Looping through an array

    Lecture 3: LEA Instructions

    Chapter 15: MUL and DIV instructions

    Lecture 1: MUL instructions

    Lecture 2: DIV Instructions

    Lecture 3: IMUL Instructions

    Chapter 16: Creating Functions

    Lecture 1: The Stack

    Lecture 2: Creating Stackframes, CALL and RET instructions

    Lecture 3: Calling Conventions

    Lecture 4: Simple Function Call with 4 args and no local variables

    Lecture 5: Function Call with 4 args and 4 local variables

    Lecture 6: Function Call with 5 args

    Lecture 7: Function Call with 6 args

    Lecture 8: Function Call with 7 args

    Chapter 17: Practicals on Reverse Engineering

    Lecture 1: Introduction to the Practicals

    Lecture 2: How to check exe type

    Chapter 18: Phishing for Passwords

    Lecture 1: Phishing for Passwords

    Chapter 19: How to reverse a jump and patch the file

    Lecture 1: How to reverse a jump and patch the file

    Chapter 20: The Comment Tracing method

    Lecture 1: The Comment Tracing method

    Chapter 21: Patch exe to change password

    Lecture 1: How to directly access memory to modify password and patch the exe file

    Chapter 22: GUI Crackme Techniques

    Lecture 1: Enabling a disabled greyed out button

    Lecture 2: How to remove a Nag Message Box

    Lecture 3: Patching to accept any serial key and also to modify the message box

    Chapter 23: Deep Tracing Username and Password

    Lecture 1: Tracing username

    Lecture 2: Tracing password

    Chapter 24: Tracing EAX values and Stepping into Calls

    Lecture 1: Tracing EAX values

    Instructors

  • x64 Assembly Language and Reverse Engineering Practicals  No.2
    Paul Chin
    College lecturer
  • Rating Distribution

  • 1 stars: 0 votes
  • 2 stars: 0 votes
  • 3 stars: 2 votes
  • 4 stars: 8 votes
  • 5 stars: 21 votes
  • Frequently Asked Questions

    How long do I have access to the course materials?

    You can view and review the lecture materials indefinitely, like an on-demand channel.

    Can I take my courses with me wherever I go?

    Definitely! If you have an internet connection, courses on Udemy are available on any device at any time. If you don’t have an internet connection, some instructors also let their students download course lectures. That’s up to the instructor though, so make sure you get on their good side!