Mastering Reverse Engineering & Exploitation

Uncover, Analyze, and Exploit System Vulnerabilities

This training equips participants with the skills to analyze and deconstruct software and systems, uncovering vulnerabilities that could be exploited. Through hands-on exercises, attendees will learn techniques to dissect applications, understand underlying code structures, and identify security weaknesses, preparing them to effectively assess and enhance system security.

Training Modules

Module 1: Introduction to Reverse Engineering

This module introduces participants to foundational reverse engineering techniques, focusing on disassembling and analyzing binary files to understand software behavior and identify potential vulnerabilities.

Module 2: Windows & Linux Reverse Engineering

​This module introduces participants to various assembly languages and equips them with the skills to use debugging tools like OllyDbg and GDB. Through hands-on exercises on both Windows and Linux platforms, attendees will learn to analyze code flow, identify vulnerabilities, and understand low-level program operations.

Module 3: Executable File Analysis

​This module teaches participants to unpack and disassemble Windows Portable Executable (PE) and Linux Executable and Linkable Format (ELF) files, enhancing their ability to analyze and understand executable structures across these platforms.

Module 4: Automated Reverse Engineering Tools

This module introduces participants to leading automated reverse engineering tools—IDA Pro, Ghidra, Radare2, and Binary Ninja.

Module 5: Exploiting Vulnerabilities

In this module, participants will gain practical experience in identifying and exploiting common software vulnerabilities, focusing on buffer overflows, format string vulnerabilities and other common exploits.

Module 6: Static vs. Dynamic Analysis

This module provides participants with a comprehensive understanding of two primary approaches to vulnerability assessment: static and dynamic analysis. Static analysis involves examining source code or binaries without execution to identify potential security flaws, offering early detection during the development phase. Dynamic analysis, on the other hand, assesses applications during runtime, observing actual behavior to uncover vulnerabilities that manifest during execution.

Module 7: Practical Exploit Development

This module immerses participants in the art of developing custom exploits, focusing on prevalent vulnerabilities such as heap and stack overflows.

Module 8: Code Obfuscation & Anti-Debugging Techniques

This module explores how malware authors employ code obfuscation and anti-debugging strategies to evade detection and hinder analysis. Participants will learn to identify and bypass these defenses, enhancing their skills in malware analysis and software security.