- Ghidra MCP Server, Ghidra’nın tersine mühendislik yeteneklerini yapay zeka ve otomasyon çerçeveleri ile bağlayan bir Model Context Protocol (MCP) sunucusu
- 110 MCP aracı ve 132 endpoint üzerinden fonksiyon analizi, veri yapısı keşfi, string çıkarma gibi geniş kapsamlı ikili analiz yetenekleri sunuyor
- Toplu işleme, atomik transaction ve gerçek zamanlı analiz desteği sunuyor; Docker dağıtımı ve headless modda çalıştırılabiliyor
- Cross-binary dokümantasyon aktarımı özelliğiyle farklı ikili sürümler arasında fonksiyon dokümantasyonunu otomatik eşliyor
- Yapay zeka destekli tersine mühendislik iş akışlarını üretim düzeyinde kararlılıkla hayata geçirebilen bir platform
Genel Bakış
- Ghidra MCP Server, Ghidra’nın analiz motorunu yapay zeka araçları ve otomasyon sistemleriyle bağlayan üretim sınıfı bir MCP sunucusu
- Model Context Protocol’ü eksiksiz uygulayarak yapay zeka modelleriyle etkileşimi destekliyor
- Ghidra’nın yeteneklerini HTTP REST ve MCP protokolü (stdio/SSE) üzerinden açığa çıkarıyor
Başlıca Özellikler
- Çekirdek MCP entegrasyonu
- MCP ile tam uyumlu, 110 MCP aracı sunuyor, toplu işlemleri ve atomik transaction’ları destekliyor
- Ghidra’nın analiz motoruyla gerçek zamanlı entegrasyon sağlıyor
- İkili analiz
- Fonksiyon decompile etme, çağrı grafiği, çapraz referanslar, veri yapılarının otomatik oluşturulması
- String çıkarma, sembol tablosu analizi, bellek eşlemesi ve Cross-binary dokümantasyon aktarımı özelliğini içeriyor
- Geliştirme ve otomasyon
- Build-test-deploy-doğrulama otomasyon pipeline’ı
- Ghidra script’leri oluşturma, çalıştırma ve yönetme; çoklu program karşılaştırması; toplu yeniden adlandırma ve yorum ekleme
Kurulum ve Çalıştırma
- Gereksinimler: Java 21 LTS, Apache Maven 3.9+, Ghidra 12.0.2, Python 3.8+
- Kurulum adımları
- Depoyu clone ettikten sonra Python bağımlılıklarını kurun
- 14 Ghidra kütüphanesini kopyalayın ve Maven ile build edin
- Eklentiyi Ghidra extension klasörüne deploy edin
- Çalıştırma biçimi
- Stdio taşıması (varsayılan, yapay zeka araçları için) veya SSE taşıması (Web/HTTP istemcileri için) seçilebilir
- Ghidra içinde Tools > GhidraMCP > Start MCP Server yolunu izleyin
Performans ve Kararlılık
- 110 MCP aracı eksiksiz uygulanmış; çoğu işlemde 1 saniyenin altında yanıt süresi sağlanıyor
- API çağrılarını %93 azaltan bir toplu işlem yapısı sunuyor
- Tüm işlemler atomik transaction olarak yürütülerek güvenilirlik sağlanıyor
- Sürüm farkındalığına sahip otomatik deploy script’leri sunuluyor
API Yapısı
- Temel işlemler: bağlantı kontrolü, metadata sorgulama, sürüm bilgisi, entry point keşfi
- Fonksiyon analizi: fonksiyon listesi, ada göre arama, decompile, çağrı ilişkisi grafiği, dokümantasyon tamlık değerlendirmesi
- Bellek ve veri: segment listeleri, disassemble, çapraz referanslar, bellek içeriği inceleme
- Cross-binary dokümantasyon: fonksiyon hash’i üretme, dokümantasyon dışa aktarma/uygulama, hash tabanlı eşleme
- Veri tipi yönetimi: struct ve enum oluşturma, alan düzenleme, yinelenen tipleri birleştirme
- Sembol ve etiket yönetimi: import/export listeleri, string analizi, namespace ve global değişken yönetimi
- Yeniden adlandırma ve yorum ekleme: fonksiyon, veri ve değişken adlarını değiştirme; toplu yorum ayarlama
- Tip sistemi: fonksiyon prototype tanımlama, değişken tipi ayarlama, calling convention sorgulama
- Ghidra script yönetimi: script listesi, çalıştırma, kaydetme, düzenleme, silme
- Çoklu program desteği: açık programlar arasında geçiş, proje dosyası listesi, doküman karşılaştırması
- Analiz araçları: tanımlanmamış fonksiyonları bulma, string tabanlı arama, byte pattern arama
Mimari
- AI/Automation araçları ↔ MCP Bridge ↔ Ghidra Plugin yapısı
bridge_mcp_ghidra.py: MCP protokolünü HTTP çağrılarına dönüştüren Python sunucusu
GhidraMCP.jar: Ghidra işlevlerini HTTP üzerinden sunan Java eklentisi
ghidra_scripts/: 70’ten fazla otomasyon script’i içeriyor
Geliştirme ve Build
- Maven tabanlı build ve PowerShell deploy script’leri sunuluyor
- Proje yapısı Python sunucusu, Java eklentisi, Ghidra kütüphaneleri, dokümantasyon, örnekler ve build script’lerinden oluşuyor
- Zorunlu 14 kütüphanenin (yaklaşık 37 MB) Ghidra kurulum yolundan kopyalanması gerekiyor
- Otomatik deploy, toplu işlem, atomik transaction ve ayrıntılı logging özelliklerini içeriyor
Dokümantasyon ve Yapay Zeka İş Akışları
- docs/ klasöründe kapsamlı dokümantasyon, proje yapısı, adlandırma kuralları ve Hungarian notation yer alıyor
- Yapay zeka iş akışı prompt’ları: fonksiyon dokümantasyonu, sürümler arası eşleme ve hızlı başlangıç prompt’ları sunuluyor
- Sürüm geçmişi: CHANGELOG.md ve docs/releases içinde sürüm bazlı ayrıntılar bulunuyor
Lisans ve Durum
- Apache License 2.0 ile lisanslanmış
- Sürüm 2.0.0, 110 MCP aracı tam uygulanmış, 70’ten fazla Ghidra script’i içeriyor
- Üretim ortamına dağıtıma hazır, yapay zeka tabanlı tersine mühendislik için uygun
İlgili Projeler
- re-universe: PostgreSQL tabanlı büyük ölçekli ikili benzerlik analizi platformu
- cheat-engine-server-python: dinamik bellek analizi ve hata ayıklama için MCP sunucusu
Teşekkür
- Ghidra ekibine, Model Context Protocol geliştiricilerine ve topluluk katkıcılarına teşekkür ediliyor
1 yorum
Hacker News yorumları
Birden fazla yazılım sürümünü tersine mühendislikle inceleme süreci çok acı vericiydi; bu yüzden bu projeyi yaptım
Temelinde normalize edilmiş bir fonksiyon hashing sistemi var; fonksiyonun mantıksal yapısına (komutlar, operandlar, kontrol akışı) göre hash üretiyor
Bu sayede ikili dosya yeniden derlense veya rebase edilse bile aynı fonksiyon aynı hash’e sahip oluyor ve tüm yorumlar, türler ve adlar otomatik olarak taşınıyor
Ghidra için bir MCP köprüsü olarak 110 araç içeriyor ve Claude, Claude Code veya diğer MCP istemcileriyle entegre olabiliyor
Diablo II’nin çeşitli yama sürümleriyle doğruladım ve 1.300’den fazla fonksiyon yorumunu otomatik olarak taşıyabildim
Docker tabanlı headless mod ile CI entegrasyonu da mümkün
v2.0.0’da yalnızca localhost binding, timeout ayarları, etiket silme, .env ayarları gibi eklemeler yapıldı
Hashing yaklaşımı veya MCP tasarımı hakkında tartışmaya açığım
Kurulum kılavuzu eksik gibi görünüyor. Ghidra’da kurup yeniden başlattım ama Tools menüsünde GhidraMCP görünmüyor
GH Discussions’ın doğru iletişim kanalı olup olmadığını merak ediyorum
LaurieWired’in Ghidra MCP sunucusunu denedim; ikili analiz ve keygen üretimi çok eğlenceli ve kolaydı
Bu MCP sunucusunu da kesinlikle kullanacağım
Projenin tam böyle bir anda ortaya çıkması ilginç
İş arkadaşımın Claude ile birlikte Ghidra kullanarak River Ride oyununu hacklediğini görünce ben de denedim
PowerPC için eski bir oyunu Apple Silicon’a port ettim; birkaç MCP denedim ama Claude Code sık sık kod uydurdu
Sonunda en iyi sonucu Cursor + GPT 5.2 Codex’in headless moduyla aldım
Örneğin 1.300 satırlık bir C64-SID dosyasını 30 dakikada tamamen geri oluşturdu
Şu anda bütün bir C64 oyununu tersine mühendislikle çözmek için çok ajanlı bir sistem kuruyorum
Örnek kod’a bakabilirsiniz
Yapay zeka ile tersine mühendislik küçümseniyor
Ben bir Android uygulamasından şifreleme anahtarı çıkarma işini başardım; anahtar shader’ın içine gizlenmişti ve onu elde etmek için shader’ı gerçekten çalıştırmak gerekiyordu
Şimdi tarayıcıda çok oyunculu özelliği ekliyoruz
LaurieWired’in 15 araçlık sürümünü aylardır kullanıyorum; uygulamanın iç yapısı tamamen şeffaf görünüyormuş gibi hissettiriyor
Hata takibi, eklenti geliştirme, uygulama değiştirme; hepsi mümkün
Objective-C kodu için ayrıca Hopper Disassembler kullanıyorum
İlgili makale: Full recompilation with LLMs and Ghidra
LLM’lerle tersine mühendislik gerçekten küçümseniyor
30 yıllık bir oyunu geri kazandırıyorum; Ghidra decompile çıktısını ve sembol bilgilerini modele RAG yöntemiyle verirseniz şaşırtıcı sonuçlar çıkıyor
Gemini 3 Flash gibi düşük maliyetli modeller bile yeterince işe yarıyor
Fonksiyonun bazı bölümlerini atlıyor ya da switch bloklarının içini sadece yorum olarak bırakıyor
Buna karşılık Claude Opus veya Qwen3-30B-A3B çok daha tamamlanmış kod üretiyor
Gemini’nin geniş bağlam penceresi avantaj ama PCode’un aşırı ayrıntılı yapısı yüzünden pratikte hâlâ ciddi kısıtlar var
MCP’ye fazla araç bağlanınca performansın düştüğünü düşünüyordum; bu da iyi bir tasarım gibi görünmüyor
Yine de hâlâ API dönüştürme odaklı araçlar LLM’lerle uyum açısından zayıf kalıyor
Tersine mühendis değilim ama Claude Code ve Ghidra MCP ile bir ransomware decryptor geliştirdim
Terabaytlarca veriyi kurtardığımda gerçekten süper güç kazanmış gibi hissettim
Yapay zekanın ikili analizde insanüstü yetenekler sergileyebileceğini düşünüyorum
Şu anda düşük verimli ve sıkıcı bir iş ama yapay zeka sayesinde güvenlik denetimleri veya tedarik zinciri saldırılarına karşı savunmada da kullanılabilir
MOOLLM’in “skill-snitch” aracı diğer becerilerin davranışını izliyor, “cursor-mirror” ise Cursor’un iç durumunu tamamen görüyor
Bu beceriler birbiriyle birleştirme ve özyinelemeli çağrı yapabiliyor; MCP’den çok daha hızlı, “speed of light” tarzında çalışıyorlar
İlgili materyaller: Leela MOOLLM Demo Transcript, speed-of-light skill, skill-snitch report
Bunun neden CLI tabanlı yapılmadığını merak ediyorum. Günümüzde LLM’ler ve ajanlar CLI ile daha iyi çalışıyor gibi görünüyor