Throughout the history of invention, curious minds have sought to understand the inner workings of their gadgets. Whether investigating a broken watch, or improving an engine, these people have broken down their goods into their elemental parts to understand how they work. This is Reverse Engineering (RE), and it is done every day from recreating outdated and incompatible software, understanding malicious code, or exploiting weaknesses in software. In this course we will explore what drives people to reverse engineer software and the methodology and tools used to do it.
Topics include, but are not limited to:
Uses for RE
The tricks and pitfalls of analyzing compiled code
Identifying calling conventions
How to navigate x86 assembly using IDA Pro
Identifying Control Flows
Identifying the Win32 API
Using a debugger to aid RE
Dynamic Analysis tools and techniques for RE
Provide detailed knowledge on RE methodology and tools.
Demonstrate how to navigate x86 assembly code while avoiding tangents.
Prepare students for follow on courses in Malware and Vulnerability Analysis.
The materials within this course focus on the Knowledge Skills and Abilities (KSAs) identified within the Specialty Areas listed below. Click to view Specialty Area details within the interactive National Cybersecurity Workforce Framework.