Tersine Mühendislik Araç Seti: Kapsamlı Kurulum ve Kullanım Rehberi
Bu yazı, aegisSoft tersine mühendislik çalışma alanında günlük olarak kullanılan araçların tamamını tek bir yerde toplar. Her araç için ne işe yaradığını, nasıl kurulduğunu, nasıl ayarlandığını ve tipik bir operasyon akışında nasıl kullanıldığını açıklar. Yazı, genelleştirilmiş AGENTS.md ve PROMPTS.md şablonlarıyla birlikte gelir; bu şablonlar aşağıdaki bağlantılardan indirilebilir.
0. Çalışma Alanı Felsefesi
Tersine mühendislikte en sık yapılan hata, araçları kurup sonra "nerede ne var" sorusunu sormaktır. Bu rehberin temel ilkesi şudur: araçlar konumdan bağımsız çağrılabilir olmalı, hiçbir betikte mutlak yol bulunmamalı ve her proje kendi PROJECT.md dosyasını taşımalıdır. Tüm yollar göreli veya ortam değişkeni üzerinden çözümlenir; hiçbir değer sabit kodlanmaz.
Önerilen üst düzey dizin yapısı:
<WORKSPACE_ROOT>/
├── Tools/ # Tüm analiz araçları (junction/symlink ile sürümden bağımsız)
├── Projects/ # Her proje kendi alt dizininde
│ └── <project_name>/
│ └── PROJECT.md # Proje kimliği, mimari, derleme komutları, yol haritası
├── evidence/ # Adli çıktılar, pcap, db, strings
├── AGENTS.md # Bu rehberin bağlayıcı kopyası
└── PROMPTS.md # Oturum başlatma şablonları
1. Araç Envanteri
Aşağıdaki tablo, çalışma alanında bulunan araçların tamamını, konumlarını, çağrı dosyalarını ve temel amaçlarını listeler. Konumlar göreli (workspace köküne göre) verilmiştir; gerçek kurulumda junction/symlink kullanılır.
| Araç | Konum | Çağrı | Amaç |
|---|---|---|---|
| REA (Reverse Engineering Agent) | Tools/rea/ | MCP entegrasyonu | Birincil otonom MCP motoru; statik/dinamik RE, ADB ve ikili analiz köprüleri |
| Detect It Easy (DIE) | Tools/die/ | diec.exe, die.exe | PE/ELF/Mach-O/APK packer, derleyici, linker, koruma ve entropi tespiti |
| dnSpy | Tools/dnspy/ | dnSpy.exe, dnSpy.Console.exe | .NET decompile (C#), CIL opcode yamalama, runtime debugging |
| Il2CppDumper | Tools/il2cppdumper/ | Il2CppDumper.exe | Unity IL2CPP sembol, metot ve tip çıkarma (dump.cs, script.json, il2cpp.h) |
| x64dbg / x32dbg | Tools/x64dbg/ | x96dbg.exe, x64dbg.exe, x32dbg.exe | Windows yerel ikililer için dinamik kullanıcı alanı debugger |
| System Informer | Tools/systeminformer/ | SystemInformer.exe, peview.exe | Çekirdek seviyesi süreç, DLL/handle, bellek ve PE analizi |
| Process Hacker 2 | Tools/processhacker/ | ProcessHacker.exe | Süreç, servis ve soket inceleme, çekirdek sürücü kancası |
| Sysinternals Suite | Tools/sysinternals/ | procmon64.exe, procexp64.exe, autoruns64.exe, strings64.exe | Canlı olay yakalama, kalıcılık tespiti, dizgi taraması |
| Explorer Suite / CFF | Tools/cff-explorer/ | CFF Explorer.exe, PE Detective.exe | PE32/PE32+ başlık modifikasyonu, ASLR/DEP, IAT onarımı |
| Cheat Engine | Tools/cheatengine/ | Cheat Engine.exe | Bellek tarama, pointer haritalama, AOB enjeksiyon, Lua |
| 7-Zip | Tools/7zip/ | 7z.exe, 7zFM.exe | APK, IPA, ASAR, MSI, CAB, NSIS ve çoklu format ayıklama |
| SQLite Tools | Tools/sqlite-tools/ | sqlite3, sqldiff, sqlite3_analyzer | SQLite sorgulama, şema dökümü, B-Tree ve diff |
| Wakaru | Tools/wakaru/ | wakaru.exe | Webpack/Rollup/ESBuild/Vite/Bun paket açma ve JS decompile |
| Wireshark & TShark | Tools/wireshark/ | WiresharkPortable64.exe, tshark.exe, dumpcap.exe | Paket yakalama, DPI, TLS deşifreleme |
| Sigrok-CLI & Zadig | Tools/sigrok-cli/ | sigrok-cli.exe, zadig.exe | Mantıksal analizör, protokol çözme, WinUSB sürücü |
| JADX | Tools/jadx/ | jadx.bat, jadx-gui-*.exe | Android DEX -> Java kaynak dönüşümü |
| Apktool | Tools/ | apktool.bat | APK/AAB kaynak decode (smali/res) ve rebuild |
| Cutter / Rizin | Tools/cutter/ | cutter.exe, rizin.exe, rz-bin, rz-diff | ELF, PE, Mach-O, ARM64/x86 reversing |
| Ghidra | Tools/ghidra/ | ghidraRun.bat, analyzeHeadless.bat | NSA decompiler, headless otomasyon |
| Scrcpy | Tools/scrcpy/ | scrcpy.exe | Android ekran yansıtma ve kontrol |
| Perfetto | Tools/perfetto/ | perfetto.exe, traceconv.exe | Android/sistem performans profilleme |
| Frida Server | Tools/ | frida-server-*.exe | Dinamik hook ve bellek enjeksiyonu |
| Burp Suite Community | Tools/BurpSuiteCommunity/ | BurpSuiteCommunity.exe | Web proxy, Repeater, Intruder |
| mitmproxy | Tools/mitmproxy/ | mitmproxy.exe, mitmweb.exe, mitmdump.exe | TLS-capable intercepting proxy |
| OWASP ZAP | Tools/ZAP/ | ZAP.exe, zap.bat | Web güvenlik tarayıcısı ve fuzzer |
| wabt | Tools/wabt/bin/ | wasm2wat.exe, wasm-decompile.exe | WebAssembly decompile |
| Playwright | Sistem geneli | npx playwright | Headless tarayıcı otomasyonu |
| synchrony | Sistem geneli | synchrony | javascript-obfuscator deobfuscation |
2. Kurulum ve Ayarlama
2.1. Genel İlkeler
- Tüm araçlar tek bir
Tools/kökü altında toplanır; sürümden bağımsız çağrı için junction (Windows) veya symlink (Linux/macOS) kullanılır. - Hiçbir betikte mutlak yol yazılmaz;
%~dp0(Batch),$PSScriptRoot(PowerShell) veya göreli yol kullanılır. - Cihaz kimlikleri, IP/port ve API anahtarları git'e alınmaz; yerel, git-ignored bir yapılandırma dosyasında tutulur.
- Her araç PATH üzerinde kayıtlıysa CLI üzerinden doğrudan çağrılabilir olmalıdır.
2.2. Android SDK ve ADB
- Android SDK kökü ortam değişkeniyle (
ANDROID_SDK_ROOT) tanımlanır. platform-tools/(adb),build-tools/<sürüm>/(aapt2, d8, zipalign, apksigner) veplatforms/android-<api>/android.jaryolu göreli çözümlenir.- ADB kablosuz hata ayıklama (TLS/mDNS) oturumu kurulur; cihaz kimliği ve yedek IP/port yerel yapılandırmada saklanır.
- Honor MagicOS gibi agresif pil yönetimi olan cihazlarda arka plan servisleri
FOREGROUND_SERVICE+ kalıcı bildirim +WAKE_LOCKile donatılır.
2.3. Python, Node.js ve Web Araçları
- Python 3.10+ ve Scripts dizini PATH üzerinde olmalıdır.
- Node.js, npm, npx ve global web RE araçları (
synchrony,@playwright/cli) sistem genelinde kurulu olur. - Playwright tarayıcı çekirdekleri
%LOCALAPPDATA%/ms-playwright/altında bulunur.
2.4. Java ve Android Studio JBR
- Android Studio JBR (
jbr/bin/)javac,keytool,jarsağlar. - Sistem Java SDK (JDK 17+) ayrı bir konumda tutulur;
JAVA_HOMEile referans verilir.
3. Araç Bazlı Kurulum ve Ayarlama
3.1. SQLite Araçları
sqlite3,sqldiff,sqlite3_analyzerPATH üzerinde olmalıdır.- Sorgulama:
sqlite3 app_data.db,.schema,.tables. - CSV/JSON dışa aktarma:
sqlite3 -header -csv app_data.db "SELECT * FROM users;" > users.csv. - İki DB arası fark:
sqldiff before.db after.db > changes.sql. - B-Tree haritası:
sqlite3_analyzer app_data.db > db_analysis.txt.
3.2. Wakaru (JS Decompiler)
wakaruPATH üzerinde olmalıdır.- Otomatik bundle ayrıştırma:
wakaru -u auto -o output_dir bundle.js. - Katı yapısal ayrıştırma:
wakaru --unpack=strict -o output_dir bundle.js. - Vue 3 SFC kurtarma:
wakaru -u auto --vue-sfc -o output_dir app.min.js. - Bun executable çıkarma:
wakaru bun binary.exe -o unpacked_bun_dir. - Source map çıkarma:
wakaru extract bundle.js.map -o src_recovered. - Dead-code elimination:
wakaru -u auto --dce --formatter -o output_dir bundle.js.
3.3. Sigrok-CLI ve Zadig
sigrok-clivezadig.exePATH üzerinde olmalıdır.- Cihaz tarama:
sigrok-cli --scan. - Sinyal yakalama:
sigrok-cli --driver fx2lafw --config samplerate=1m --samples 100k -o capture.sr. - Protokol çözümleme:
sigrok-cli -i capture.sr -P i2c:scl=D0:sda=D1 -A i2c=address-data. - UART:
sigrok-cli -i capture.sr -P uart:rx=D0:baudrate=115200. - Sürücü atama:
zadig.exeaçılarak aygıt içinWinUSBveyalibusb-win32seçilir.
3.4. Wireshark ve TShark
tshark,dumpcap,editcap,mergecap,capinfosPATH üzerinde olmalıdır.- Arayüz listesi:
tshark -D. - Canlı yakalama:
tshark -i 1 -c 100 -w capture.pcapng. - Ring buffer:
dumpcap -i 1 -b filesize:50000 -w ring_buffer.pcapng. - Filtre:
tshark -r capture.pcapng -Y "http.request.method == POST or tls.handshake". - TLS deşifreleme:
SSLKEYLOGFILEortam değişkeni set edilir, ardındantshark -r capture.pcapng -o "tls.keylog_file:<KEYLOG_PATH>" -Y "http2 or websocket". - HTTP obje çıkarma:
tshark -r capture.pcapng --export-objects "http,exported_files/". - Pcap bölme/birleştirme:
editcap,mergecap; özet:capinfos capture.pcapng.
3.5. Detect It Easy (DIE)
diec,die,dielPATH üzerinde olmalıdır.- Temel analiz:
diec target.exe. - Entropi:
diec -e target.exe(7.2 üzeri packer/şifreli payload işareti). - Derin tarama:
diec -d target.exe. - JSON rapor:
diec -j target.exe > analysis.json. - GUI:
die.exe target.exe.
3.6. Il2CppDumper
Il2CppDumper.exePATH üzerinde olmalıdır.- Komut:
Il2CppDumper.exe <libil2cpp.so/GameAssembly.dll> <global-metadata.dat> <output_dir>. - Çıktılar:
dump.cs(sınıf/metot/alan/ofset),script.json(Ghidra/IDA fonksiyon adresleri),il2cpp.h(C++ tip tanımları),stringliteral.json. - Ghidra'ya sembol yükleme:
ghidra_with_struct.pyçalıştırılarakscript.jsonveil2cpp.hseçilir.
3.7. dnSpy
dnSpy.exe,dnSpy.Console.exePATH üzerinde olmalıdır.- Derleme açma:
dnSpy.exe Assembly-CSharp.dll. - Metot düzenleme: hedef metoda sağ tık ->
Edit Method (C#)...->Compile->File -> Save Module.... - CIL yamalama:
Edit IL Instructions...ileldc.i4.1,ret,nopuygulanır. - Canlı debugging:
Debug -> Attach to Process....
3.8. x64dbg / x32dbg
x96dbg.exe,x64dbg.exe,x32dbg.exePATH üzerinde olmalıdır.- Otomatik mimari seçimi:
x96dbg.exe target.exe. - Kesme noktaları:
F2(software),F7(step into),F8(step over),F9(run). - Adrese git:
Ctrl+G. - Donanımsal kesme:
bph <adres> [r|w|x]. - API kesmesi:
bp CreateFileW,bp VirtualAlloc.
3.9. System Informer ve Process Hacker 2
SystemInformer.exe,ProcessHacker.exe,peview.exePATH üzerinde olmalıdır.- PE inceleme:
peview.exe target.exe. - Token yetkileri: hedef süreç -> Properties -> Token sekmesi.
- Canlı dizgiler: process Properties -> Memory -> Strings.
- Kilitli handle/mutex:
Ctrl+F.
3.10. Sysinternals Suite
procmon64.exe,procexp64.exe,autoruns64.exe,strings64.exe,handle64.exe,tcpview64.exePATH üzerinde olmalıdır.- Dizgi çıkarma:
strings64.exe -nobanner target.exe > strings.txt. - Procmon yakalama:
procmon64.exe /accepteula /backingfile capture.pml /quiet. - Log açma:
procmon64.exe /openlog capture.pml. - Autoruns:
autorunsc64.exe -accepteula -a * -c > autoruns.csv. - Handle:
handle64.exe -accepteula -p target.exe.
3.11. CFF Explorer
CFF Explorer.exePATH üzerinde olmalıdır.- ASLR/DEP kaldırma:
Nt Headers -> Optional Header -> DllCharacteristicsalanındanDLL can move (ASLR)veNX compatible (DEP)bayrakları kaldırılır. - IAT onarımı:
Import Directory/Import Adder. - Section yetkileri:
Section Headersüzerinden0xE0000020(execute/read/write) atanır.
3.12. Cheat Engine
Cheat Engine.exePATH üzerinde olmalıdır.- Değer taraması: Exact Value, Value Between, Increased/Decreased; türler: 4 Bytes, Float, Double, Text, AOB.
- Pointer scan:
Generate pointermap, yeniden başlatma, kesişen zincir süzme. - AOB injection: Memory Viewer ->
Tools -> Auto Assemble.
3.13. 7-Zip
7z.exe,7zFM.exePATH üzerinde olmalıdır.- Ayıklama:
7z x package.apk -o"unpacked_apk/". - Installer çıkarma:
7z x setup.exe -o"extracted_installer/". - Listeleme:
7z l target_archive.zip.
3.14. Ghidra
ghidraRun.bat,analyzeHeadless.batPATH üzerinde olmalıdır.- Headless analiz:
analyzeHeadless.bat <proje_dizini> <proje_adi> -import <ikili> -postScript <script.py>. - Il2Cpp sembol aktarımı: Script Manager üzerinden
ghidra_with_struct.pyçalıştırılır.
3.15. Burp Suite, mitmproxy ve ZAP
- Burp Suite Community: web proxy, request/response manipülasyonu, Repeater, Intruder.
- mitmproxy:
mitmproxy.exe(CLI),mitmweb.exe(web arayüz),mitmdump.exe(scriptable); HTTP/1, HTTP/2, WebSocket ve TLS desteği. - OWASP ZAP: aktif/pasif zafiyet tarama, API fuzzer.
3.16. wabt (WebAssembly)
wasm2wat.exe,wat2wasm.exe,wasm-decompile.exePATH üzerinde olmalıdır.- WASM -> WAT:
wasm2wat input.wasm -o output.wat. - Decompile:
wasm-decompile input.wasm -o output.dcmp.
3.17. Playwright ve synchrony
- Playwright:
npx playwright installile tarayıcı çekirdekleri kurulur. - synchrony:
npm install -g synchronyile javascript-obfuscator çıktıları deobfuscate edilir.
4. Genel Operasyon Protokolleri
4.1. Android Veritabanı Adli İncelemesi
- Çek:
adb shell "run-as <PAKET> cp databases/<DB>.db /sdcard/",adb pull,adb shell rm. - Şema:
sqlite3 ./evidence/<DB>.db ".schema" > ./evidence/schema.sql. - Delta:
sqldiff ./evidence/before.db ./evidence/after.db > ./evidence/delta.sql. - Depolama:
sqlite3_analyzer ./evidence/<DB>.db > ./evidence/storage_stats.txt.
4.2. Ağ Trafiği Yakalama
- Yakala:
tshark -i 1 -f "tcp port 443 or udp port 53" -w ./evidence/traffic.pcapng. - TLS deşifre:
SSLKEYLOGFILEset et,tshark -r ... -o "tls.keylog_file:<PATH>" -Y "http2". - Obje çıkarma:
tshark -r ./evidence/traffic.pcapng --export-objects "http,./evidence/extracted_files".
4.3. JavaScript / Electron Paket Açma
- Bundle veya
app.asaredin. wakaru -u auto --dce --formatter -o ./decompiled_js/ bundle.js.- Vue SFC:
wakaru -u auto --vue-sfc -o ./decompiled_vue/ app.min.js. - Source map:
wakaru extract bundle.js.map -o ./recovered_src/.
4.4. Donanım ve Bus Sinyali
- Doğrula:
sigrok-cli --scan. - Yakala:
sigrok-cli --driver fx2lafw --config samplerate=2m --samples 500k -o ./evidence/bus_capture.sr. - Çözümle:
sigrok-cli -i ./evidence/bus_capture.sr -P i2c:scl=D0:sda=D1 -A i2c=address-data.
4.5. Unity IL2CPP / Mono
- Paketi ayıkla (7-Zip).
- Mono:
Managed/Assembly-CSharp.dlldosyasını dnSpy ile aç. - IL2CPP:
libil2cpp.so/GameAssembly.dll+global-metadata.datileIl2CppDumper.exeçalıştır. dump.csincele, RVA not et, Ghidra'yaghidra_with_struct.pyile sembol aktar.
4.6. Windows PE Analizi
diec -e -d target.exe > ./evidence/die_analysis.json.strings64.exe -nobanner target.exe > ./evidence/strings.txt.- CFF Explorer ile başlık ve bayrak inceleme.
peview.exe target.exeile RVA ve section doğrulama.
4.7. Canlı Süreç ve Çekirdek Telemetrisi
procmon64.exe /accepteula /backingfile ./evidence/procmon_events.pml /quiet.- Hedef eylemi gerçekleştir.
procmon64.exe /terminate, ardındanprocmon64.exe /openlog ./evidence/procmon_events.pml.- System Informer ile süreç ağacı, DLL yüklemeleri ve soketleri izle.
4.8. Dinamik Hata Ayıklama
x64dbg.exe target.exe(32-bit isex32dbg.exe/x96dbg.exe).- TLS/system breakpoint geç, entry point'e gel.
- API breakpoint:
bp MessageBoxW,bp RegQueryValueExW,bp VirtualProtect. - Cheat Engine ile canlı bellek ve pointer doğrulaması.
5. Güvenlik ve Etik
Bu rehber yalnızca yetkili, savunma amaçlı ve eğitim amaçlı tersine mühendislik için kullanılmalıdır. Üçüncü taraf sistemleri analiz etmeden önce uygun yetkilendirme alınmalıdır. Cihaz kimlikleri, API anahtarları ve tokenlar sürüm kontrolüne alınmamalıdır; çıkarılan sırlar şifreli yerel bir kasada saklanmalıdır. EOF
6. Resmi İndirme Kaynakları
Aşağıdaki bağlantılar yalnızca resmi kaynaklardır. Ayna (mirror) siteler yalnızca resmi kaynak erişilemezse ve kullanıcı onayıyla kullanılır. Kurulumdan sonra sürüm ve SHA-256 özeti Tools/<araç>/VERSION.txt içine yazılır.