π§ HIERARKI REVERSE ENGINEERING β Dari String & Metadata (Level 0) sampai Deobfuscation VM (Level 7)
Reverse engineering adalah membedah logika tanpa dokumentasi. Hirarki ini memetakan perjalanan dari membaca string mentah (Level 0) sampai membalikkan bytecode VM protector (Level 7). Setiap level menambah depth β dan biaya waktu. Mulai dari yang paling murah; berhenti ketika cukup untuk menjawab pertanyaan. Untuk playbook teknis lengkap (alat per level + command), lihat Sheet 1 β RE Software & Firmware.
Cara Baca
Level 0 = sebelum analisis (recon). Level 7 = paling advanced (deobfuscator custom VM). Untuk incident response, Level 0β2 biasanya cukup. Level 4+ untuk bug bounty, malware zero-day, APT research.
Tabel Utama β Level 0 sampai Level 7
| π§ Level | π§ Pendekatan | β‘ Alat & Teknik | β οΈ Tembok Kematian | π― Kapan Digunakan |
|---|---|---|---|---|
| Level 0 β String & Metadata Recon | strings, file, binwalk, ExifTool, Detect It Easy, TrID | Ekstrak semua teks readable: URL, API key, path hardcoded. Identifikasi format file. Carve firmware image otomatis. Identifikasi packer/compiler | Obfuscation sederhana (XOR string encode) sudah cukup menyembunyikan strings. Binwalk gagal pada firmware terenkripsi penuh | Triage cepat, ekstrak credentials, identifikasi library |
| Level 1 β Disassembly Statis | Ghidra, IDA Free/Pro, Cutter/Rizin, objdump, readelf | Machine code β assembly β pseudo-C decompile. Analisis CFG, cross-reference, identifikasi crypto dari pola instruksi. Ghidra (NSA, gratis) setara IDA Pro | Stripped binary = semua fungsi FUN_00401234. Butuh jam renaming manual. Obfuscated control flow menyesatkan decompiler | Analisis malware, audit library third-party, cari hardcoded credential |
| Level 2 β Dynamic Analysis | x64dbg, OllyDbg, GDB+PEDA, Frida, Process Monitor, strace | Jalankan program di debugger β pause, inspect memori, ubah register, bypass kondisi. Frida: inject JavaScript ke proses manapun. ProcMon: rekam semua syscall | Anti-debug: IsDebuggerPresent, timing check, exception-based detection. Sandbox evasion: VM detection, sleep sampai keluar | Bypass proteksi, analisis malware behavior, hooking mobile app API |
| Level 3 β Firmware RE | Binwalk, Firmwalker, FACT, Ghidra + SVD-Loader, OpenOCD | Ekstrak firmware via UART/JTAG/flash dump. FACT: analysis otomatis credential/versi. SVD-Loader: load register definition MCU ARM | Firmware terenkripsi dengan kunci di secure element = butuh hardware attack. Custom RTOS tanpa dokumentasi = susah orientasi | Router, kamera IP, IoT device audit, medical device |
| Level 4 β Protocol RE | Wireshark + Lua dissector, Scapy, Proxmark3, Universal Radio Hacker (URH) | RE protokol proprietary dari traffic capture. Build Wireshark dissector custom. Proxmark3: RE RFID/NFC. URH: RE RF signal dari SDR | E2E encryption + cert pinning. Rolling code (remote mobil) berubah tiap penggunaan. Protokol tidak terdokumentasi | Akses kontrol, protokol industri (Modbus, DNP3), smart card research |
| Level 5 β Symbolic Execution & Fuzzing | angr, KLEE, AFL++, LibFuzzer, Triton | Symbolic execution = input simbolik β matematika, generate input capai tiap branch. AFL++: coverage-guided fuzzing β mutasi otomatis, pantau coverage, crash = potensi vuln | Path explosion pada program besar. Fuzzing butuh jamβminggu untuk crash di target kompleks | Vulnerability research, CTF, bug bounty, audit library kripto |
| Level 6 β Binary Exploitation | pwntools, ROPgadget, pwndbg, heap exploitation, kernel exploit | Dari crash β controlled code execution. ROP: chain gadget bypass NX/DEP. Kernel exploit: dari user space ke Ring 0. Heap feng shui: kontrol alokasi memory | ASLR + PIE + Stack Canary + Full RELRO + seccomp = exploitasi sangat sulit. Kernel mitigasi modern (SMEP, SMAP, CET) | CVE research, pwn CTF, jailbreak iOS/Android, privilege escalation |
| β οΈ Level 7 β Compiler & VM Internals | LLVM IR analysis, JVM/Dalvik bytecode, WebAssembly RE, VMProtect deobfuscation | RE pada intermediate representation. LLVM IR: compiler-introduced vulnerability. Dalvik: Android app. WASM: browser DRM/anti-cheat. VM deobfuscation: balikkan bytecode custom VM (VMProtect, Themida) β satu fungsi bisa jadi ribuan instruksi | VM protector = satu fungsi jadi ribuan instruksi custom ISA β butuh minggu untuk satu fungsi kritis. Data flow analysis rumit | DRM bypass, advanced malware, anti-cheat RE, APT tool analysis |
Peta Visual β Effort vs Depth
β Kedalaman pemahaman
β
L7 βββΌββββββββββββββββββββββββββ Deobfuscation VM / LLVM IR
β (minggu)
L6 βββΌββββββββββββββββββββ Binary exploitation
β (hari-minggu)
L5 βββΌβββββββββββββ Symbolic execution / fuzzing
β (hari)
L4 βββΌβββββββ Protocol RE
β (jam-hari)
L3 βββΌβββ Firmware RE
β (jam)
L2 βββΌβββ Dynamic analysis (Debugger/Frida)
β (30-60 menit)
L1 βββΌβββ Static disassembly
β (15-30 menit)
L0 βββΌβββ String recon
β (5-10 menit)
βββββββββββββββββββββββββββ Waktu & effort
RE Bukan Linier β Bolak-Balik Level
Praktisi RE jarang lurus L0βL7. Mereka bolak-balik: L1 static β L2 dynamic cek behavior β balik L1 untuk konfirmasi β L4 protocol RE β L1 lagi. Hirarki ini adalah menu, bukan resep. Pilih level yang menjawab pertanyaan paling murah.
Kenapa Hirarki Ini Penting
1. RE Adalah Dialog Dengan Binary
Setiap level seperti bertanya:
- L0: βSiapa kamu?β (strings, metadata)
- L1: βApa yang bisa kamu lakukan?β (disassembly)
- L2: βApa yang kamu lakukan saat jalan?β (dynamic)
- L5: βApa yang terjadi kalau aku kasih input ini?β (fuzzing)
- L6: βBisakah aku mengontrolmu?β (exploitation)
Binary βmenjawabβ hanya kalau teknik yang tepat digunakan. Hirarki membantu kita memilih pertanyaan yang tepat berdasarkan apa yang sudah kita tahu.
2. Anti-Analysis = Harga Yang Harus Dibayar
Semakin tinggi level RE, semakin banyak anti-analysis yang ditemui β karena developer binary sadar bahwa binary mereka akan di-RE. Tiap level punya anti-analysis spesifik:
- Level 0 β XOR string, encrypted sections
- Level 1 β Obfuscated control flow (O-LLVM)
- Level 2 β Anti-debug, anti-VM, timing checks
- Level 4 β Certificate pinning, custom encryption
- Level 7 β VM-based obfuscation
Mendeteksi anti-analysis di level bawah sudah merupakan intelijen: semakin kuat anti-analysis, semakin sensitif binary itu.
3. Output RE = Input untuk Level Lain
Hasil RE di satu level jadi input level berikutnya:
- L0 strings β L1 cari cross-reference string itu
- L1 rename fungsi β L2 set breakpoint lebih mudah
- L2 dynamic dump β L3 firmware RE dapat konteks runtime
- L4 protocol spec β L5 fuzzer tahu format message
- L6 exploit β validasi bahwa analysis L5 benar (RCE)
Validasi silang antar level adalah cara terkuat untuk memastikan RE benar.
Plot Twists
Plot Twist 1: AI Mengubah RE β Tapi Tidak Sepenuhnya
2024β2026: LLM binary decompilation (Ghidra + LLM plugin, IDA + GPT) bisa generate pseudo-code yang lebih readable. Tapi untuk:
- Obfuscated code (control flow flattening) β LLM sering hallucinate
- Binary with anti-analysis β LLM ikut bingung
- Protocol RE β LLM bisa bantu baca hex dump tapi tidak gantikan pattern recognition manusia AI = tools, bukan replacement. Level 7 masih butuh manusia karena butuh reasoning tentang intent.
Plot Twist 2: Frida (L2) Adalah Game Changer Terbesar 2010-an
Frida: dynamic instrumentation tanpa perlu reverse engineer dulu. Inject JavaScript ke proses berjalan β trace function calls, bypass SSL pinning, dump memory, hook API. Untuk mobile app RE, Frida mengurangi waktu Week 0 β L2 menjadi 30 menit. Bandingkan dengan IDA Pro Week 0 β L4 yang butuh hari.
Plot Twist 3: Ghidra Gratis Setara IDA Pro Untuk 90% Kasus
IDA Pro: USD 2,589 (Pro) β standar industri dekade. Ghidra (NSA, 2019): gratis, open source, decompiler setara. Untuk 90% kasus (malware, firmware, IoT RE), Ghidra cukup. IDA unggul di: plugin ecosystem, debugging, dan binary diffing untuk patch analysis. Mulai dengan Ghidra β upgrade ke IDA hanya kalau butuh.
Plot Twist 4: Hardware RE (Sheet 2) Adalah RE Level Paling Dalam
Sheet 2 β Hardware Hacking: dari visual inspect (L0) sampai decap + FIB (L7). Sesuatu yang tidak bisa di-RE di software (firmware terenkripsi, secure element locked) harus di-RE di hardware. Kedua disiplin RE dan HW hacking saling melengkapi: satu tutup celah yang lain.
Plot Twist 5: Waktu RE Paling Sering Dihabiskan Untuk Renaming
Stripped binary: Ghidra/IDA generate nama fungsi
FUN_00401234. 60% waktu RE dihabiskan untuk: rename fungsi berdasarkan konteks + tipe data parameter + struktur. Tools automatic rename (FLIRT, F.L.I.R.T., Lumina) membantu tapi tetap butuh validasi manual. Renaming adalah investasi: semakin baik nama, semakin cepat sisa RE.
Perbandingan Level per Use Case
| Profil | Level Minimum | Saran Fokus |
|---|---|---|
| Malware analyst | L0βL2 | Ghidra + Frida + sandbox |
| Bug bounty hunter | L1, L5βL6 | Ghidra + AFL++ + pwntools |
| IoT security researcher | L0βL4 | Binwalk + Ghidra + URH + JTAGulator |
| Mobile app security | L1βL2 + Frida | jadx + Frida + objection |
| DRM/anti-cheat RE | L7 | VMProtect deobfuscation + LLVM IR |
| CTF player | L1βL6 | Ghidra + pwntools + angr + GDB |
Sumber & Telusur Lebih Lanjut
- Sheet 1 (RE Lengkap) β hardware-hacking-re (Level 0β7 tabel + alat per level)
- Sheet 2 (Hardware Hacking) β hardware-hacking-re (Level 0β7 fisik β visual inspect sampai decap)
- Firmware RE Deepdive β firmware-reverse-engineering-deepdive (782 baris β firmware extraction, UART, JTAG, QEMU)
- Malware Analysis β malware-analysis-reverse-engineering-playbook (RE untuk endpoint detection)
- Web Exploit Level Analog β hierarchy-offensive (Level privilege escalation)
- Side-Channel & Hardware Attack β (akan ada:
hierarchy-side-channel.md) - Master Index β master-index
RE adalah satu-satunya skill di security yang membuat binary bicara. Tanpa RE, lo cuma lihat behaviour dari luar. Dengan RE, lo baca pikirannya. Semakin tinggi level, semakin banyak yang binary itu ceritakan β tapi semakin lo bayar dengan waktu dan fokus.
Reverse Engineering Hierarchy | Level 0 (String Recon) β Level 7 (VM Deobfuscation) Β· Membuat Binary Bicara