Reverse Engineering Cheat Sheet

Goal: understand what a binary does without source. Start with strings/analysis → static disassembly → dynamic debugging.

First Look (quick triage)

Static Analysis (disassembly)

Dynamic Analysis (debugger)

Deobfuscation / unpacking

Android/Java

ELF/PE essentials

Ghidra quick-start commands (headless / script)

# GUI
File → Import File → OK → double-click → Analyze → Yes
# decompile: click function → press F5 (or Window → Decompile)

Basic Rev-of-CTF checklist

  1. Strings → the flag/secret is usually there
  2. If encoded: base64/hex/xor — detect via look, xxd, or radare2 rar-ish enc
  3. If function checks: load in GDB, run, feed input, single-step to cmp/jne, read compare value (often plaintext or adjacent in memory)
  4. If packed: packer detect → unpack → repeat
  5. If encrypted: find key material in data section and the crypto used (AES/RSA detect via imports)

Tools

Tips