If you already have some basic reverse engineering and malware analysis knowledge and wish to go further, then this course is for you. I will take you from basic to intermediate level in reverse engineering and analyzing malware. You will learn using plenty of practical walk-throughs. The focus of this course will be on how to unpack malware. Most modern malware are packed in order to defeat analysis. Hence, this Intermediate Level Course provides the required knowledge and skills to unpack malware. All the needed tools will be introduced and explained. By the end of this course, you will have the intermediate level skill in malware analysis under your belt to further your studies in this field. Even if you do not intend to take up malware analysis as a career, still the knowledge and skills gained in reverse engineering and analysis would be beneficial to you to reverse software as well.
If you already have some basic reverse engineering and malware analysis knowledge and wish to go further, then this course is for you. I will take you from basic to intermediate level in reverse engineering and analyzing malware. You will learn using plenty of practical walk-throughs. The focus of this course will be on how to unpack malware. Most modern malware are packed in order to defeat analysis. Hence, this Intermediate Level Course provides the required knowledge and skills to unpack malware. All the needed tools will be introduced and explained. By the end of this course, you will have the intermediate level skill in malware analysis under your belt to further your studies in this field. Even if you do not intend to take up malware analysis as a career, still the knowledge and skills gained in reverse engineering and analysis would be beneficial to you to reverse software as well.
Everything is highly practical. No boring theory or lectures. More like walk-throughs which you can replicate and follow along. We will focus on API Hooking and Memory Analysis and Tracing to determine where and when to dump memory after a malware has unpacked its payload into memory. In this course, we will be using Oracle Virtual Machine installed with Flare-VM. Take note that all software used in this course are free.
Topics include:
Types of Malware and Terminologies
Dynamic and Static Analysis
Assembly Language Refresher and Malicious APIs
API Hooking, Process Hijacking, Dumping Memory
Fixing Section Alignments, Un-mapping and Re-Basing Dumped Files
Enumerating Breakpoints and Memory Tracing
Hooking VirtualProtect, VirtualAlloc, GetProcAddress, CreateProcessInternalW and other common API's
Using Scylla Plugin to Dump Memory
Using Delphi Interactive Reconstructor
Dumping Memory from Memory Viewer, Process Hacker and Memory Maps
API Enumeration Count Trick To Know When to Dump
Self-Injection and Remote Thread Injection
and more...
This course is suitable for:
Students who has already done a basic level malware analysis course
Hackers looking for additional tools and techniques to reverse software
Reverse Engineers who want to venture into malware analysis
The prerequisites:
Some basics in malware analysis or software reverse engineering.
Windows PC with Virtual Machine and Flare-VM Installed.
Note:
If you do not have the basics of malware analysis, it is recommended to take my earlier course first, which is entitled:
Reverse Engineering & Malware Analysis Fundamentals
Go ahead and enroll now. I will see you inside.
Static Analysis of .NET Trojan - Part 1
Intro to the course.
Types of Malware
Malware Analysis Terminologies
Dynamic Analysis of .NET Trojan - Part 1
Static Analysis of .NET Trojan - Part 2
How to solve the problem when the malware hangs in a Running State when debugging with dnSpy
Assembly Language Basics
Malicious APIs
API Hooking, Process Hijacking and Dumping Memory
Tracing Process Hijacking and Dumping Memory
Fixing Section Alignment, Unmapping, fixing IAT and Re-basing
Unpacking Part 1: Static Analysis of Emotet Trojan
Unpacking Part 2: Debugging of Emotet Trojan to Hunt For Unpacked Code
Unpacking Part 3: Dumping Memory and Unmapping Dumped File
IDA Static Analysis and xdbg Enumerating Breakpoints
API Hooking and Memory Tracing
Dumping Memory and Unmapping File
API Hooking with VirtualProtect, VirtualAlloc and GetProcAddress
Memory Tracing and Scylla Dumping
PE-Studio and Interactive Delphi Reconstructor (IDR)
Unpacking part 1: API Hooking
Unpacking part 2: Dumping from Memory Map
Unpacking part 3: Un-mapping Dumped File
Dridex - part 1 - Initial Analysis
Dridex - part 2 - API Enumeration Count
Dridex - part 3 - Self-Injection and Process Hacker Dumping
Dridex - part 4 - Unmapping the Dumped File
Lab: Unpacking Ramnit Trojan
Ramnit - part 2 - Tracking VirtualAlloc to Identify When To Dump
Ramnit - part 3 - Unpacking UPX with CFF Explorer
Remcos - part 1 - exploring .NET with xdbg
Some students may experience the xdbg getting Terminated when they open Remcos trojan. This lesson shows how to solve that issue by setting xdbg to Ignore Exceptions.
Remcos - part 3 - Analysis with PE-Bear and PE-Studio
Remcos - part 4 - Unpacking with dnSpy by tracing Invoke
Zloader - part 1 - PE-Studio and API Hooking until VirtualProtect
Zloader - part 2 - Tracing Pointer to Unpacked Code for Dumping
Zloader - part 3 - PE-Studio and PE-Bear Analysis
Bonus Lecture
OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.
Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.
Find this site helpful? Tell a friend about us.
We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.
Your purchases help us maintain our catalog and keep our servers humming without ads.
Thank you for supporting OpenCourser.