Ailenizin röntgencisi NSA, yıllardır aktif olarak geliştirdiği ghidra ters mühendislik araç zincirini internetten ücretsiz olarak dağıtmaya başladı. Söylendiğine göre Ghidra birçok işlemci kodunu dissassemble edecek şekilde konfigüre edilebiliyor. Henüz incelemedim ama araç zincirinde z80, 6502, 68k gibi bizim de ilgilendiğimiz işlemciler var. Buradaki üstüne basılan şey "Ticari Kalitede Ters Derleme". Yani "söylendiğine göre", sıradan bir dissasembly/decompiling değil, kod üzerinde ciddi analizler yaparak string tarama, fonksiyon bulma, ve siz kod içinde gezerken kodu seçimlerinize göre otomatik güncelleme gibi yetenekleri mevcutmuş. En yakın rakibi ida pro yıllık 13000$ iken, ida pro'ya rakip olacak kalitede (ama ondan iyi değilmiş henüz, ama beleş ve açık kaynak sonuçta) bir araç.
Aslında tam olarak ne yapar ne işe yarar bilemiyorum ama, tam ba son 1-2 haftadır carmen sandiego'nun 16bitlik dos versionunun data dosyalarını açan bir program yazıyordum, textleri extract edebilyiorum ama grafik yapısını bir türlü çözemedim, nerede olduklarını bulamadım. Belki bir işe yarar diye göz atacağım. Bu arada yanlışlıkla sizin kredi kartı bilgilerinizi ya da tayyibe ettiğiniz küfürleri falan çözersem kusura bakmayın.
*** Linkler
Ana sayfa:
https://ghidra-sre.org/Wiki ve github sayfası:
https://github.com/NationalSecurityAgency/ghidra/wikiGhidra yeni başlayanlar için açıklamalı kılavuz:
https://github.com/dannyquist/re/blob/master/ghidra/ghidra-getting-started.mdŞurdan sosyal medyadaki yankılarına göz atabilirsiniz:
https://www.zdnet.com/article/nsa-release-ghidra-a-free-software-reverse-engineering-toolkit/Desteklenen işlemciler: screenshot aldım

*** Deneyimler:
Açtım, kar intro'sunu disassemble ettim, birkaç fonksiyonu başarı ile tespit etti ama zx spectrum'un çılgın floating bus bug'lı interrupt'ını pek çözemedi. Yine de burda bir ISR mevcut, gidiyor ama nasıl gidiyor, nereye gidiyor çözemedim tarzı bir imleç koyduğu için kendisini takdir ettim. Yine de sonuç zx spectrum:1 NSA:0
Elbetteki carmen.exe'yi de hemen denedim. 16bit MZ binary olarak tanıdı, uygun yüklemeleri yapacağını söylese de binary'nin entrypointini bile bulamadı (garip) ve yok bunda hiçbişey diyip hata verip oturdu aşağı. Bir satır bile dissasembly yaratamadı, boş ekrana bakakaldım. Sonuç: Carmen Sandiego:1 NSA:0
Pasmo'nın exesine bakayım dedim bu ispanyollar napmış kimbilir.
Windows PE binary olunca canavar kesildi, yarım saat dissasembly, ordan burdan şurdan her dandirik loop ve fonksiyonu tanıdı, yazarının tüm banka hesap bilgilerini ve hangi tür kızlardan hoşlandığı bilgisini de yanına ekleyiverdi. Sonuç: İspanya:0 NSA:1
Bu tur 2:1 NSA'nın yenilgisi ile sona erdi.
Yine de şu etkileyici çevrimi göz ardı etmemek lazım:

(ue.o -> Benim karlar düşer zx spectrum introsunun ham hali oluyor)
Assembler'i C'ye decompile etmiş daha iyi anlayalım diye.

Lan olm ben onu saf asm yazmıştım. Neyse, vay anasını sayın seyirciler. Tamam hadi bir puan da burdan olsun, sonuç 2:2 bitti.
*** Son olarak;
Kurmak isteyenler çekinmesin, hem JDK11, hem de Ghidra bir klasöre unzip ediliyor ve kurulum için admin yetkilerine ihtiyaç duymuyor (daha doğrusu kurulum yok, klasörden çalışıyor, zaten bir JAVA appleti kendisi). Kolayca da kullanılıyor, test edildi onaylandı. Alana şimdiden hayırlı olsun.