Tags
Language
Tags
May 2025
Su Mo Tu We Th Fr Sa
27 28 29 30 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 31
    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

    X64 Assembly Language And Reverse Engineering Practicals

    Posted By: ELK1nG
    X64 Assembly Language And Reverse Engineering Practicals

    X64 Assembly Language And Reverse Engineering Practicals
    Published 3/2024
    MP4 | Video: h264, 1920x1080 | Audio: AAC, 44.1 KHz
    Language: English | Size: 10.76 GB | Duration: 12h 52m

    Understand x64 (64-bit) assembly code and apply knowledge to reversing x86 and x64 programs

    What you'll 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 . . .

    Requirements

    Completed the first course in this series: Assembly Language Programming for Reverse Engineering

    Windows OS running Intel x86_86 architecture

    Oracle VirtualBox Running Windows 10 or 11 virtual machine

    Description

    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:- Navigate and utilize the x64dbg debugger- Analyze and alter x64 executable files to inject custom code.- Harness data, executable and memory segments to expand program capabilities.- Develop new functions within existing applications for added functionality.- Understand the x64 Microsoft Calling conventions and Stack Frames.- Directly manipulate memory data segment- Bypass string encryption - Deep tracing to retrieve data and passwords- Use Python to patch process memory- Modify packed programs without unpackingand more . . .Features of this course:This course is oriented towards practical applicationsNo lengthy, dull theoretical lecturesFirst half of this course: Learn x64 Assembly Language through the x64dbg debuggerSecond half of this course: Practice reversing, tracing, extracting data, memory hacking, and modifying executable binariesLearning 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!

    Overview

    Section 1: Introduction

    Lecture 1 Introduction

    Lecture 2 Installing Virtual Machine and x64dbg

    Section 2: Intro to x64 architecture

    Lecture 3 Why use a Debugger for learning Assembly Language

    Lecture 4 x64 instructions

    Section 3: Your First Program

    Lecture 5 Write your first instruction

    Section 4: Accessing Memory

    Lecture 6 Storing number constants in memory

    Lecture 7 Storing string constants in memory

    Lecture 8 Creating variables

    Section 5: Add Instructions

    Lecture 9 How to zero out a register using XOR

    Lecture 10 ADD instructions

    Section 6: Partial MOV instructions

    Lecture 11 Creating a new template

    Lecture 12 Partial MOV instructions

    Section 7: PUSH and POP instructions

    Lecture 13 Basics of PUSH and POP

    Lecture 14 Exercise on PUSH and POP

    Section 8: MOV Instructions

    Lecture 15 Intro to MOV Instructions

    Lecture 16 Practical on MOV Instructions

    Section 9: XCHG Instructions

    Lecture 17 XCHG Instruction

    Lecture 18 XCHG Memory

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

    Lecture 19 INC and DEC

    Lecture 20 NEG

    Lecture 21 ADD and SUB

    Section 11: Register Flags

    Lecture 22 Intro to the Register Flags

    Lecture 23 CF Flag

    Lecture 24 OF Flag

    Lecture 25 SF Flag

    Lecture 26 ZF Flag

    Section 12: Bitwise Logical Operations

    Lecture 27 Introduction to Bitwise Logical Operations

    Lecture 28 AND Operations

    Lecture 29 OR Operations

    Lecture 30 XOR Operations

    Lecture 31 Flags Register

    Lecture 32 NOT Operation

    Section 13: Jump Instructions

    Lecture 33 Introduction to Jumps

    Lecture 34 JMP Instructions

    Lecture 35 TEST Instructions

    Lecture 36 CMP Instructions

    Lecture 37 Conditional Jumps

    Lecture 38 Signed Conditional Jumps

    Lecture 39 Implementing If Statements

    Lecture 40 Implementing If-Else Statements

    Lecture 41 Multiple IF tests

    Lecture 42 WHILE Loops

    Lecture 43 DO-WHILE Loops

    Section 14: Memory Arrays

    Lecture 44 Introduction to arrays in x64dbg

    Lecture 45 Looping through an array

    Lecture 46 LEA Instructions

    Section 15: MUL and DIV instructions

    Lecture 47 MUL instructions

    Lecture 48 DIV Instructions

    Lecture 49 IMUL Instructions

    Section 16: Creating Functions

    Lecture 50 The Stack

    Lecture 51 Creating Stackframes, CALL and RET instructions

    Lecture 52 Calling Conventions

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

    Lecture 54 Function Call with 4 args and 4 local variables

    Lecture 55 Function Call with 5 args

    Lecture 56 Function Call with 6 args

    Lecture 57 Function Call with 7 args

    Section 17: Practicals on Reverse Engineering

    Lecture 58 Introduction to the Practicals

    Lecture 59 How to check exe type

    Section 18: Phishing for Passwords

    Lecture 60 Phishing for Passwords

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

    Lecture 61 How to reverse a jump and patch the file

    Section 20: The Comment Tracing method

    Lecture 62 The Comment Tracing method

    Section 21: Patch exe to change password

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

    Section 22: GUI Crackme Techniques

    Lecture 64 Enabling a disabled greyed out button

    Lecture 65 How to remove a Nag Message Box

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

    Section 23: Deep Tracing Username and Password

    Lecture 67 Tracing username

    Lecture 68 Tracing password

    Section 24: Tracing EAX values and Stepping into Calls

    Lecture 69 Tracing EAX values

    Lecture 70 Patching to show the Right Message

    Section 25: Get the password

    Lecture 71 Tracing EAX values to get password

    Lecture 72 Patching to show Congrats message

    Section 26: Loop Tracing Long Passwords

    Lecture 73 Loop Tracing Part 1

    Lecture 74 Loop Tracing Part 2

    Lecture 75 Loop Tracing Part 3

    Lecture 76 Identifying multiple patching options to always show the good message

    Section 27: Loop Tracing GUI Crackme

    Lecture 77 Loop Tracing Registration Number - Part 1

    Lecture 78 Loop Tracing Registration Number - Part 2

    Lecture 79 Proper way to patch MessageBox

    Section 28: Comment Tracking Techniques

    Lecture 80 Comment Tracking Technique - Part 1

    Lecture 81 Comment Tracking Technique - Part 2

    Lecture 82 Patching To Show the Good Message

    Section 29: How to Create Keygens

    Lecture 83 Creating a Self-Keygen

    Lecture 84 Modifying MessageBox Caption using CodeCaves

    Section 30: How to Create Keygens even though no Error MessageBox is shown

    Lecture 85 Phishing for the Serial

    Lecture 86 Improvise an alternative MessageBox to show serial key

    Section 31: Fast Tracing by Toggling ZF flag

    Lecture 87 Fast Tracing by Toggling the ZF flag

    Lecture 88 Patching Multiple Jumps with Block NOPs

    Section 32: Removing Recurrent Nags and Defeating Anti-Debugger Protection

    Lecture 89 Installing Process Hacker

    Lecture 90 Behaviour Analysis

    Lecture 91 Defeating Anti-Debugger and Killing the 1st Nag

    Lecture 92 Killing the 2nd Nag and Avoiding Patching Relocation Memory

    Lecture 93 Killing 3rd Nag and Using Intermodular Exit API to Quit

    Section 33: Self-Keygen Using Data Segment with printf Function

    Lecture 94 Tracing the algorithm for key generation

    Lecture 95 Inject own printf function from within an exe to print out serial key

    Section 34: Tracing length of secret code and analyzing x64 Fastcall Parameters

    Lecture 96 Behaviour Analysis

    Lecture 97 Tracing length of secret code

    Lecture 98 Analyzing x64 Fastcall Parameters

    Section 35: Bypassing Encryption

    Lecture 99 Behaviour Analysis

    Lecture 100 Bypassing encryption by analyzing CMP instructions

    Lecture 101 Bypassing encryption by patching

    Section 36: Bypass UPX protection

    Lecture 102 Debug a UPX packed binary

    Lecture 103 Phish for password without using string search

    Lecture 104 Patch memory with Python

    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 hacker's perspective,Security researchers