Skip to content

Reversing

Reversing (tersine mühendislik), derlenmiş veya paketlenmiş bir ikiliyi anlamak için statik inceleme ile çalışma zamanı gözlemini birleştirir. Bu bölüm pentest/malware/CTF odaklı pratik akışı Türkçe sunar; pwn odaklı bellek sömürüsü için Binary Exploitation bölümüne bakın.

Girdi: PE / ELF / Mach-O / shellcode / .NET / APK native .so
Hedef: davranış, C2, crypto, vuln, unpack
Araçlar: strings, Ghidra/IDA, x64dbg/gdb, Frida, Detect It Easy

Önce “ne” (format, packer, import), sonra “nasıl” (debug/hook), gerekirse “içerik” (unpack → tekrar statik). Sabırlı enumeration exploit’ten önce gelir.

  1. Triage — file, hash, strings, packer/imza (DIE, YARA).

  2. Statik — import/export, cfg, şüpheli API, crypto sabitleri.

  3. Dinamik — debugger/Frida; breakpoint, API izleme, anti-debug farkındalığı.

  4. Unpack — packer stub’ı aş → dump → temiz ikiliyi yeniden analiz et.

  5. Rapor — IOC, davranış özeti, pentest bulgusuna bağla.

KatmanNe aranır
MetadataCompiler, packer, imza, zengin header
ImportsVirtualAlloc, CreateRemoteThread, WinHttp, ptrace…
StringsURL, path, hata mesajı, format string
RuntimeDecrypt stub, C2 beacon, anti-VM
Native + managed.NET (dnSpy), JNI/ObjC köprüleri

İlgili: Binary Exploitation, Mobile, AI.

file + DIE → UPX/custom packer
→ debugger OEP → dump
→ Ghidra’da C2 string → IOC