Reverse Engineering Basics: Static Analysis
Introduction Static analysis is the art of understanding a program without running it. It’s the first step in any reverse engineering workflow and often reveals enough to understand what a binary does. Essential Tools Disassemblers Tool Platform Notes Ghidra Cross-platform Free, decompiler included IDA Pro Cross-platform Industry standard, expensive Binary Ninja Cross-platform Modern API, mid-range price radare2 Cross-platform CLI-based, scriptable File Analysis 1 2 3 4 5 6 7 8 9 10 11 12 # Basic file identification file target_binary # Check security mitigations checksec --file=target_binary # List imported symbols nm -D target_binary objdump -T target_binary # List strings strings -n 8 target_binary | less Reading Assembly The key skill is reading disassembly output. Here’s a simple example: ...