All projectsNext projectEngine Controller
Reverse engineering
Binary analysis with no source code, static and dynamic, to understand and evolve undocumented code.
The problem
Given a binary with no source and no documentation, you have to rebuild what it actually does: its execution flow, its data structures, and the assumptions its author made, including the wrong ones.
What I did
The Snow Crash, Rainfall and Override projects from 42's security track: a series of binaries analysed level by level.
- Static analysis: disassembly and decompilation with Ghidra, IDA, radare2 and objdump to rebuild the program's logic.
- Dynamic analysis: stepping through execution in gdb, inspecting stack, registers and memory to confirm or refute hypotheses.
- Understanding undocumented code: going from assembly to a readable model of the behaviour, then exploiting or evolving it.
Skills demonstrated
Reading x86 assembly, calling conventions and process memory layout, static and dynamic analysis methodology, fluency with the field's reference tools, rigorous evidence-based reasoning.