If you are completely new to reverse engineering and malware analysis, then this course is for you. I will take you from zero to proficient level in reverse engineering and analyzing malware. You will learn using plenty of practical walk-throughs. We will learn the basics first then gradually proceed to more advanced topics. All the needed tools will be introduced and explained. By the end of this course, you will have the fundamentals of 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 are completely new to reverse engineering and malware analysis, then this course is for you. I will take you from zero to proficient level in reverse engineering and analyzing malware. You will learn using plenty of practical walk-throughs. We will learn the basics first then gradually proceed to more advanced topics. All the needed tools will be introduced and explained. By the end of this course, you will have the fundamentals of 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 use tools like tridnet, bintext, pestudio, cff explorer, regshot, procdot, fakenet, wireshark, process monitor, process hacker, xdbg, Ghidra and more...
Topics include:
Lab Setup
Tools
OS Fundamentals
Virtual Memory and the PE file
Windows Internals
Malware Components
Static analysis
Dynamic Analysis
Network Analysis
Unpacking Standard and Custom packers
Dumping memory
and more...
This course is suitable for:
Anyone who has no background on malware analysis and just starting out in this field
Hobbyist who just like to learn how to reverse engineer and analyze malware
Students who like to get started on the career path to become malware analysts
Hackers looking for additional tools and techniques to reverse software
The prerequisites:
Just a windows PC and an interest in malware analysis, or software reverse engineering.
Enroll now and I will see you inside. Thanks.
[ 2022 Update ] Installing Windows 10 Virtual Machine
Alternative solution to Flare VM, if the installation of Flare VM is not working.
[2022 Update] Installing Flare VM 3.0 in Windows 10 virtual machine
[2022 Update] Installing additional missing tools
List of tools used for this course and download links.
Understanding Files and File Formats.
Exercise: Identify File Formats
Process creation.
Virtual Memory
Portable Executable (PE) File - Part 1
Portable Executable (PE) File - Part 2
Win32 API
Intro to Static and Dynamic Analysis
Installing additional tools - bintext
Configuring and Using Procmon and Procdot
Lab: Static Analysis of Malware Sample 1
Dynamic Analysis Workflow
Lab: Dynamic Analysis of Malware Sample 1
Lab: Procdot Analysis of Malware Sample 1
Lab: Network Analysis of Malware Sample 1
Lab Exercise: Intro to Analysis of Malware Sample 2
Lab: Static Analysis of Malware Sample 2 - Unpacking
Lab: Static Analysis of Malware Sample 2 - Embedded Strings Analysis
Lab: Static Analysis of Malware Sample 2 - PE Header and Hash Analysis
Lab: Static Analysis of Malware Sample 2 - Regshot Analysis
Lab: Static Analysis of Malware Sample 2 - Procdot Analysis
Lab: Static Analysis of Malware Sample 2 - Network Analysis
Assembly Language Basics
Intro to Malware Sample 3
Decompiling and extraction using exe2aut
Disassembling and Decompiling with Ghidra
Debugging with xdbg
[2022 Update] For those who are having problems with VirtualAlloc. There is more than one way to trace memory allocations. If VirtualAlloc is not working for you, then lookout for VirtualAllocEx and NtAllocateVirtualMemory, instead. Malware usually has additional payloads embedded within it. VirtualAlloc is used to allocate memory for unpacking these payloads. By tracing the memory allocations, we can identify where to manually dump these payloads into separate files for further analysis.
Dumping Memory Using Process Hacker
Trace VirtualAlloc API calls and dump memory using Process Hacker.
Intro To Malware Sample 4 (TeslaCrypt Ransomware)
File and Packer Identification
Debugging and Unpacking with xdbg and Process Hacker
Unpacking - Part 2
Analysis with Ghidra
Intro To Malware Sample 5 (Simda Trojan)
Identifying Abnormal Epilogues
Unpacking the Shellcode
Final Unpacking and Analysis in Ghidra
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.