Yazılım tersine mühendislik için analiz çerçevesi
Ghidra, Ulusal Güvenlik Ajansı (NSA) tarafından geliştirilen ve açık kaynak olarak paylaşılan kapsamlı bir yazılım tersine mühendislik (SRE) çerçevesidir. Java ve C++ çekirdeğiyle geliştirilen platform; derlenmiş ikili (binary) dosyaları kaynak koda dönüştürür, güvenlik araştırmacılarına gelişmiş dekompiler, simbolik analiz ve çoklu mimari desteği sunar.
Güncelleme
- 22 Ekim 2026: Yıldız 89.183 → 92.835, son sürüm Ghidra_12.2_build (22 Ekim 2026).
- 16 Ekim 2026: Yıldız 84.292 → 89.183, son sürüm Ghidra_12.1.4_build (21 Eylül 2026).
- 12 Ekim 2026: Yıldız 79.733 → 84.292, son sürüm Ghidra_12.1.4_build (21 Eylül 2026).
- 27 Eylül 2026: Yıldız 78.142 → 79.733, son sürüm Ghidra_12.1.4_build (21 Eylül 2026).
Ne kazandırır?
- Yerleşik güçlü C dekompileri: Makine kodlarını ve assembly yönergelerini okunabilir, yüksek seviyeli C benzeri sözdizimine dönüştürme.
- Geniş işlemci ve mimari yelpazesi: x86, ARM, AArch64, MIPS, PowerPC, RISC-V, SPARC ve yüzlerce gömülü mikrodenetleyici mimarisi desteği.
- İşbirlikçi çok kullanıcılı analiz: Ghidra Server altyapısıyla aynı ikili dosya üzerinde eşzamanlı açıklama ekleme, fonksiyon isimlendirme ve sürüm kontrolü.
- Otomasyon ve Headless analiz: Grafik arayüze girmeden sunucu üzerinde binlerce zararlı yazılımı komut satırından otomatik tarama.
- Java ve Python ile genişletilebilirlik: Özel scriptler, eklentiler ve veri tipi kütüphaneleriyle analizi kişiselleştirme.
Kurulum ve sistem gereksinimleri
# macOS Homebrew ile kurulum:
brew install --cask ghidra
# Linux / Windows (Manuel arşivden başlatma):
# JDK 21 64-bit kurulu olmalıdır.
./ghidraRun # Linux / macOS
ghidraRun.bat # WindowsÇalıştırma ve headless komut satırı analizi
./ghidraRunanalyzeHeadless /proje/dizini ProjeAdi -import hedef_dosya.bin -postScript GuvenlikAnalizi.pyTeknik mimari: Sleigh ve dekompiler motoru
Ghidra'nın endüstri standardı haline gelmesini sağlayan çekirdek mimari şu bileşenlerden oluşur:
- Sleigh işlemci modelleme dili: Yeni bir işlemci veya komut seti mimarisini (ISA) Ghidra'ya tanıtmak için kullanılan deklaratif tanımlama dili.
- P-Code ara temsil katmanı (IR): Tüm işlemci yönergelerini ortak bir ara dile (P-Code) çevirerek mimariden bağımsız veri akışı ve kontrol akışı analizi yapma.
- C++ tabanlı dekompiler motoru: Kontrol akış grafiklerini basitleştiren, değişken tiplerini çıkaran ve karmaşık döngüleri C koduna indirgeyen yüksek performanslı yerel motor.
Tersine mühendislik ve zafiyet analizi iş akışları
Ghidra, karmaşık siber güvenlik ve yazılım denetim süreçlerinde temel araç olarak konumlanır:
- Zararlı yazılım analizi (Malware Triage): Şüpheli yürütülebilir dosyaları izole ortamda açıp gizli API çağrılarını, C2 alan adlarını ve şifreleme anahtarlarını ortaya çıkarma.
- İkili dosya karşılaştırma (Program Diff): Güvenlik yaması öncesi ve sonrasındaki iki dosya arasındaki farkları görselleştirerek kapatılan zafiyeti tespit etme.
- Gömülü yazılım (Firmware) analizi: IoT cihazlarından alınan ham flash bellek dökümlerini bellek haritasına oturtup bootloader ve çekirdek fonksiyonlarını çözümleme.
Kod bilmiyorsanız
Şüpheli bir ikili (binary) dosyayı Ghidra kullanarak incelemek istiyorum. Ghidra'da yeni bir proje açma, dosyayı içe aktarma, otomatik analizi (Auto Analysis) çalıştırma, Decompiler penceresinde fonksiyonları inceleme ve dışarıya çağrılan şüpheli API fonksiyonlarını tespit etme adımlarını adım adım açıklar mısın?
Depo: https://github.com/NationalSecurityAgency/ghidra. Kurulum ve çalıştırmada bu deponun README dosyasındaki resmî talimatları esas al.
Başlamadan önce hangi işletim sisteminde çalıştığımızı ve gerekli araçların (ör. Python, Node.js, Git, Docker) kurulu olup olmadığını kontrol et; eksik olanları bu sisteme göre adım adım kur.
Çalışmak için yeni ve boş bir klasör oluştur. Bu klasörün dışındaki dosyalarıma dokunma, hiçbir şeyi silme. Her komutu çalıştırmadan önce ne yapacağını bir cümleyle söyle.
Her adımın sonunda ekranda ne görmem gerektiğini söyle. Bir hata oluşursa hata mesajını sana olduğu gibi yapıştıracağım, birlikte düzeltelim.
Sıkça sorulan sorular
- Ghidra ile IDA Pro arasındaki temel farklar nelerdir? IDA Pro ticari ve yüksek lisans bedellerine sahipken, Ghidra tamamen ücretsiz ve açık kaynaklıdır. Ghidra, tüm mimariler için yerleşik dekompiler sunar ve çok kullanıcılı işbirliği sunucusu içerir.
- Zararlı yazılım analizi yaparken Ghidra güvenli midir? Evet, statik analiz sırasında dosya çalıştırılmaz, yalnızca kodları çözümlenir. Ancak analizin izole bir sanal makinede (VM) yapılması güvenlik açısından esastır.
- Ghidra Server nasıl kurulur? Ghidra paketinde yer alan server dizinindeki svrAdmin betiğiyle yerel ağda birkaç dakika içinde bir takım sunucusu açılabilir ve kullanıcı yetkileri atanabilir.
- Python 3 betikleri Ghidra içinde çalıştırılabilir mi? Ghidra varsayılan olarak Jython (Python 2.7) ile gelse de, PyGhidra eklentisi sayesinde modern Python 3 ortamları ve harici kütüphaneler (NumPy, Capstone) doğrudan kullanılabilir.
Bağlantılar
TreScout bu aracı geliştirmedi · GitHub trendlerinde keşfedip Türkçe tanıttı. Tanıtım metni deponun kendi belgelerinden yapay zekâ ile hazırlandı. Bu sayfa deponun 2026-08-28 tarihindeki hâlini anlatır: Yıldız sayısı ve yazdığımız metin o güne aittir, depo sonrasında değişmiş olabilir. Güncel durum için depo bağlantısına bakın.