İçeriğe atla
← Blog
Araçlar

Ghidra Nedir, Nasıl Kullanılır? Kurulum ve İlk Analiz

Ghidra, ABD Ulusal Güvenlik Ajansı'nın (NSA) geliştirdiği ve 2019'da açık kaynak yaptığı ücretsiz bir tersine mühendislik aracıdır. Derlenmiş bir programı açar, makine kodunu assembly olarak listeler ve C'ye benzeyen okunabilir koda çevirir. Zararlı yazılım analizinde, zafiyet araştırmasında ve CTF yarışmalarında kullanılır. Ticari işlerde de ücretsizdir.

Yazan: Fevzi Ege YurtsevenlerSon güncelleme: İlk yayın: 9 dk okuma
Bu konunun dersi: Dosyayı çalıştırmadan tanımakTersine Mühendislik ve Zararlı Analizi yolu · 12 dk · ücretsiz, kayıt gerekmez

Ghidra nedir sorusunun kısa cevabı şu: kaynak kodu elinde olmayan bir programın nasıl çalıştığını görmeni sağlayan, NSA yapımı ücretsiz bir tersine mühendislik aracı. Bir .exe ya da Linux programını açar, işlemci komutlarını ve C'ye benzeyen karşılığını yan yana gösterir. Ekim 2026 itibarıyla güncel sürüm 12.2'dir ve JDK 25 ister. Aşağıda güvenli indirmeyi, kurulumu ve ilk analizi adım adım bulacaksın.

Ghidra nedir ve ne işe yarar?

Ghidra, derlenmiş programları okumak için kullanılan bir tersine mühendislik çerçevesidir. Bir programı derlediğinde okunabilir kaynak kod, işlemcinin anladığı makine koduna dönüşür. Tersine mühendislik bu yolu geriye doğru yürür.

Araç bir dosyayı iki biçimde gösterir:

  • Listing (disassembly): Makine kodunun assembly karşılığı. Adres adres, komut komut ilerler.
  • Decompiler: Aynı kodun C'ye benzeyen sözde kod hali. Değişken adları ve yorumlar kaybolmuştur, ama akış okunur.

Ghidra'yı NSA'nın Araştırma Müdürlüğü geliştirdi. Kaynak kodu 2019'dan beri GitHub'da Apache 2.0 lisansıyla açık. x86, ARM, AARCH64, MIPS, PowerPC ve RISC-V gibi onlarca işlemci ailesini tanır. Windows'un PE (.exe, .dll), Linux'un ELF ve macOS'un Mach-O dosyalarını içe aktarır.

Kim kullanırNe için kullanır
Zararlı yazılım analistiŞüpheli dosyanın ne yaptığını onu çalıştırmadan anlamak
Zafiyet araştırmacısıKaynak kodu yayımlanmamış yazılımda hata aramak
CTF oyuncusuTersine mühendislik (rev) sorularında gizli parolayı ya da bayrağı bulmak
Gömülü sistem araştırmacısıModem, kamera gibi cihazların ürün yazılımını incelemek

Ghidra nereden güvenle indirilir?

Ghidra'yı yalnız projenin resmî GitHub deposundaki Releases bölümünden indir. Eski resmî adres ghidra-sre.org da Ekim 2026 itibarıyla bu depoya yönlendiriyor. Ghidra'nın kurulum programı (setup.exe) yoktur. Resmî dağıtım tek bir zip dosyasıdır.

  1. Ghidra sürümler sayfasını aç.
  2. En üstteki sürümün Assets bölümünden ghidra_<sürüm>_PUBLIC_<tarih>.zip dosyasını indir. 12.2'de adın tarih kısmı 20261016'dır. "Source code" adlı iki arşiv kaynak koddur, çalıştırılacak sürüm değildir.
  3. Sürüm notunda yazan SHA-256 değerini, indirdiğin dosyadan hesapladığın değerle karşılaştır.
SistemKomut
macOSshasum -a 256 ghidra_*_PUBLIC_*.zip
Linuxsha256sum ghidra_*_PUBLIC_*.zip
Windows (PowerShell)Get-FileHash .\ghidra_*_PUBLIC_*.zip

Komutları indirme klasöründe çalıştır. İki değer birebir aynı değilse dosyayı açma, sil. Başka sitelerde "Ghidra indir", "kurulum paketi" ya da "özel sürüm" adıyla dolaşan dosyalar resmî değildir. Ghidra zaten ücretsiz olduğu için kırılmış ya da satılan bir sürümü de yoktur. Böyle paketlerin riskini crack program zararlı mı yazısında okuyabilirsin.

Güncel kalmak da bir güvenlik adımıdır. Projenin GitHub güvenlik bildirimleri sayfasında 22 Ekim 2026'da 31 bildirim yayımlandı. Biri kritik, onu yüksek önemde. Hepsi 12.2 sürümünde kapatıldı. Bir kısmı, özel hazırlanmış bir dosya açıldığında Ghidra'yı çökertebiliyor. Bir kısmı da dosya sisteminde yetkisiz yazma ya da silmeye yol açabiliyor.

Kali Linux kullanıyorsan sudo apt install ghidra ile de kurabilirsin. Ekim 2026 itibarıyla Kali deposundaki paket 12.1.4, yani GitHub'daki 12.2'nin gerisinde. 12.2'deki güvenlik düzeltmelerini almak için GitHub'daki zip'i kullan.

Ghidra hangi Java sürümünü ister?

Ghidra Java ile yazıldığı için 64 bit bir JDK ister. Gereken sürüm, Ghidra sürümüne göre değişir. Tablo her sürümün resmî kurulum belgesinden alındı:

Ghidra sürümüGereken en düşük JDKNot
12.2 (22 Ekim 2026)JDK 25Ekim 2026'daki güncel sürüm
11.2 ile 12.1.4 arasıJDK 21GhidraMCP'nin Ekim 2026'daki sürümü 12.1.4 için derleniyor
10.2 ile 11.1.2 arasıJDK 17Eski kurulumlarda sık görülür
9.0 ile 10.1.5 arasıJDK 11Çok eski, yeni işte kullanma

Belge, ücretsiz JDK olarak Adoptium Temurin ve Amazon Corretto'yu gösteriyor. Ghidra önce JAVA_HOME değişkenine, o yoksa PATH'teki Java'ya bakar. Uygun sürümü kendisi bulamazsa senden JDK klasörünün yolunu ister. Kurulu sürümü görmek için terminalde java -version çalıştır.

Ghidra nasıl kurulur?

Ghidra'yı kurmak için zip dosyasını bir klasöre açar ve başlatma betiğini çalıştırırsın. Kişisel kullanımda yönetici yetkisi gerekmez. Kaldırmak için klasörü silmen yeter.

  1. Tablodaki sürüme uygun JDK'yi kur.
  2. Zip dosyasını yeni bir klasöre aç. Eski bir Ghidra klasörünün üstüne açma.
  3. Açılan klasöre gir ve Ghidra'yı başlat.
unzip ghidra_*_PUBLIC_*.zip
cd ghidra_*_PUBLIC/
./ghidraRun          # Linux ve macOS
ghidraRun.bat        # Windows

Ekim 2026 itibarıyla en düşük gereksinimler 4 GB RAM, 1 GB disk alanı ve 64 bit bir işletim sistemidir: Windows 10 (1809 ve sonrası), macOS 10.13 ve sonrası ya da Linux.

Resmî 12.2 zip'i, decompiler gibi yerel bileşenleri yalnız Windows ve x86-64 Linux için hazır getiriyor. macOS'ta (Intel ve Apple Silicon) ve ARM tabanlı Linux'ta bu bileşenleri ilk açılıştan önce kendin derlersin, yoksa decompiler çalışmaz. macOS'ta internete bağlıyken Ghidra klasöründe şu komutları çalıştır. İlk satır Xcode komut satırı araçlarını kurar:

xcode-select --install
cd support/gradle/
./gradlew buildNatives

Linux'ta Xcode yerine GCC ya da Clang ile make gerekir. Resmî belgeye göre bu derleme, Gatekeeper'ın imzasız bileşenleri karantinaya almasını da önler.

Ghidra nasıl kullanılır? İlk analiz adım adım

İlk analiz için başkasının programına değil, kendi yazdığın küçük bir dosyaya bak. Aşağıdaki program bir parolayı karşılaştırır. CTF sorularındaki "crackme" dosyalarının en basit hali budur.

#include <stdio.h>
#include <string.h>

int main(void) {
char giris[32];
printf("Parola: ");
if (scanf("%31s", giris) == 1 && strcmp(giris, "altay-2026") == 0)
puts("Dogru parola");
else
puts("Yanlis parola");
return 0;
}
```

Linux ya da macOS'ta gcc -O0 -o ornek ornek.c ile derle. Sonra Ghidra'da şu adımları izle:

  1. File → New Project (Ctrl+N) menüsünden Non-Shared Project seç, klasör ve ad ver.
  2. File → Import File (kısayol I) ile ornek dosyasını ekle. Ghidra dosya biçimini ve işlemciyi kendisi önerir, varsayılanları kabul et.
  3. Proje penceresinde dosyaya çift tıkla. CodeBrowser açılır.
  4. Ghidra "has not been analyzed. Would you like to analyze it now?" diye sorar. Yes de, açılan seçeneklerde varsayılanlarla analizi başlat.

Analiz bitince metinden fonksiyona git:

  1. Window → Defined Strings penceresini aç ve "Dogru parola" satırını bul.
  2. Adres sütununa çift tıkla. Listing o metne gider.
  3. Metne sağ tıkla, References → Show References to ile onu kullanan yeri bul ve oraya git.
  4. Decompiler penceresinde (Ctrl+E) strcmp çağrısını ve karşılaştırılan "altay-2026" metnini okursun.
  5. Anlamsız adları düzelt: değişkenin üstündeyken L tuşu yeniden adlandırır, Ctrl+L türünü değiştirir.

Sonra strip ornek ile sembolleri silip aynı dosyayı yeniden içe aktar. Bu kez main adı görünmez. Ghidra adı bilinmeyen fonksiyonlara FUN_ ile başlayan, adrese dayalı adlar verir. Bu adları anlamlı hale getirmek analizin asıl işidir.

Ghidra arayüzünde hangi pencereler önemli?

Ghidra'da günlük işin beş pencerede geçer. Önce bunları tanı:

PencereNe gösterirNe zaman bakarsın
ListingAdres adres assembly komutlarıDecompiler'ın neyi atladığını görmek için
Decompiler (Ctrl+E)Seçili fonksiyonun C benzeri haliZamanının çoğunu burada geçirirsin
Symbol TreeFonksiyonlar, içe aktarılan kütüphaneler, etiketlerProgramın hangi kütüphane fonksiyonlarını çağırdığını görmek için
Defined StringsProgramdaki tanımlı metinlerAnalize bir ipucuyla başlamak için
Function GraphFonksiyonun dallanma grafiğiKarmaşık if ve döngüleri çözmek için

İşe yarayan birkaç kısayol daha: G belirli bir adrese gider, Alt+Sol ok geri döner, Ctrl+Shift+E program metninde arama yapar. Tam liste kurulum klasöründeki docs/CheatSheet.html dosyasında.

Ghidra mı IDA Free mi? Binary Ninja ve radare2 ile farkı

Yeni başlıyorsan Ghidra daha az sınırla gelir, çünkü IDA ve Binary Ninja'nın ücretsiz sürümleri mimari, ticari kullanım ve betik desteğinde kısıtlıdır. Ekim 2026 itibarıyla üretici sayfalarına göre durum:

AraçLisansDecompilerTicari kullanımBetik ve eklenti
GhidraÜcretsiz, açık kaynak (Apache 2.0)Yerel, onlarca mimarideSerbestJava ve Python
IDA FreeÜcretsiz, kapalı kaynakYalnız x86 ve x64, bulutta çalışırYokIDAPython ve SDK yok
Binary Ninja FreeÜcretsiz, kapalı kaynakx86, x86-64, ARMv7 ve ARMv8YokAPI ve eklenti yok
radare2 ve CutterÜcretsiz, açık kaynakCutter'da rz-ghidra eklentisiyle Ghidra'nın decompiler'ıSerbestVar

Binary Ninja Free'nin sınırlarını Vector 35'in ücretsiz sürüm sayfasında görebilirsin. radare2 komut satırı aracıdır. Cutter ise rizin tabanlı grafik arayüzüdür.

Ghidra MCP nedir, yapay zekâyla Ghidra kullanılır mı?

Ghidra MCP, Ghidra'yı Model Context Protocol üzerinden bir yapay zekâ asistanına bağlayan eklentilere verilen addır. Sık anılan örnek GhidraMCP adlı topluluk projesidir. NSA'nın resmî bileşeni değildir.

Kurulumdan sonra Ghidra içinde bir eklenti çalışır ve varsayılan olarak 127.0.0.1:8080 adresinde yerel bir HTTP sunucusu açar. Ayrı bir MCP sunucusu bu adrese bağlanır. Asistan da fonksiyonları listeleme, decompile etme ve yeniden adlandırma gibi araçları kullanır. Projenin belgesinde VS Code ve Claude Code için örnek ayarlar var.

Kullanmadan önce dört noktayı bil:

  • Sürüm uyumu: Eklenti belirli bir Ghidra sürümü için derlenir. Ekim 2026'da projenin belgesi 12.1.4'ü gösteriyor. 12.2'ye geçmeden önce uyumlu sürüm çıktı mı kontrol et.
  • Veri nereye gidiyor: Asistan bulutta çalışıyorsa decompile edilen kod ve dosyadaki metinler o hizmete gider. Müşteri dosyası ya da gizli yazılım için önce izin al.
  • Dolaylı prompt injection: İncelediğin zararlı dosya, modeli yönlendirmeye çalışan metinler taşıyabilir. Asistanın önerdiği komutu okumadan çalıştırma.
  • Ağa açma: Eklenti yalnız 127.0.0.1'de dinler. MCP sunucusunu ayrı bir süreç olarak çalıştırıyorsan onu da 127.0.0.1'de tut.

MCP'nin nasıl çalıştığını ve genel risklerini MCP nedir yazısında bulabilirsin. Ghidra MCP'nin komut çalıştıran HexStrike AI ve Kali MCP sunucularından farkını HexStrike AI nedir? Kali MCP ile yapay zekâya pentest aracı yazısında karşılaştırdık.

Tersine mühendislik yasal mı?

Kendi programında, açık kaynak yazılımda, eğitim için hazırlanmış crackme dosyalarında, CTF sorularında ve yazılı izin aldığın işlerde tersine mühendislik meşrudur. Türkiye'de çerçeveyi 5846 sayılı Fikir ve Sanat Eserleri Kanunu çizer:

  • 38. madde, programı kullanma hakkı olan kişinin, programı yükleyip çalıştırırken altında yatan fikir ve ilkeleri anlamak için işleyişini gözlemlemesini, incelemesini ve sınamasını serbest bırakır. Kodun çevrilmesi ise yalnız bağımsız yazılmış bir programla birlikte çalışabilirlik (araişlerlik) sağlamak için ve sınırlı koşullarla serbesttir. Bu yolla elde edilen bilgi, ifade bakımından esasen benzer bir program geliştirmek için kullanılamaz.
  • 72. madde, kopya koruması gibi teknolojik önlemleri etkisiz kılmaya yönelik araç üreten, dağıtan ya da satanlara altı aydan iki yıla kadar hapis cezası öngörür.

Ticari bir yazılımı incelemeden önce lisans sözleşmesini de oku. Bu bölüm genel bilgidir. Emin değilsen bir hukukçuya danış.

Zararlı bir dosyayı Ghidra'ya içe aktarıp incelemek onu çalıştırmaz, çünkü bu statik analizdir. Yine de bilinmeyen dosyaları ağdan yalıtılmış bir sanal makinede incele. Yukarıdaki güvenlik bildirimleri, analiz aracının da hata barındırabileceğini gösteriyor. Laboratuvarı kurmak için VirtualBox ile sanal siber güvenlik laboratuvarı rehberini izleyebilirsin.

Ghidra öğrenmek için nereden başlamalısın?

En hızlı yol, küçük ve güvenli dosyalarda bol tekrardır. Şu sırayı izle:

  1. Kendi programların: Küçük C programları yaz, Ghidra'da aç, kaynakla karşılaştır. Derleyici ayarını -O0 yerine -O2 yapıp çıktının nasıl değiştiğine bak.
  2. Ghidra'nın kendi eğitimi: Kurulum klasöründeki docs/GhidraClass/Beginner klasöründe giriş eğitiminin öğrenci kılavuzu var. Alıştırma dosyaları da aynı GhidraClass klasöründe duruyor.
  3. Crackme ve CTF: Rev sorularıyla başlayabilirsin. Hangi kategoriden başlayacağını CTF kategorileri yazısında karşılaştırabilirsin.
  4. Yönlendirilmiş pratik: Akademinin laboratuvarlarında bir dosyanın başlığını okumaktan paketlenmiş dosyayı tanımaya kadar statik analiz adımlarını deneyebilirsin. Sıralı bir plan istersen öğrenme yollarına bak.

Kaynaklar

Sık sorulan sorular

Ghidra ücretsiz mi, ticari işte kullanılabilir mi?

Evet, Ghidra tamamen ücretsizdir. Apache 2.0 lisanslı açık kaynak bir projedir, bu yüzden şirket içinde ve ücretli işlerde de lisans bedeli ödemeden kullanabilirsin. Ücretli sürümü, kurulum programı ya da Pro paketi yoktur. Bu adlarla satılan ya da dağıtılan dosyalar resmî değildir. Ghidra'yı yalnız projenin GitHub sürümler sayfasından indir.

Ghidra mı IDA mı, yeni başlayan hangisini seçmeli?

Yeni başlıyorsan Ghidra'yla başla. Decompiler'ı yereldir, onlarca işlemci mimarisini destekler ve ticari kullanım dahil ücretsizdir. IDA Free ise Ekim 2026 itibarıyla yalnız x86 ve x64 kodunu çözer, decompiler'ı bulutta çalışır ve ticari kullanıma kapalıdır. Yöntem iki araçta da aynıdır. Ghidra'da öğrendiğin akış okuma becerisi IDA'ya geçince de işine yarar.

Ghidra exe dosyasını kaynak koduna çevirir mi?

Tam olarak çevirmez. Ghidra Windows'un .exe ve .dll dosyalarını açar ve decompiler ile C'ye benzeyen bir sözde kod üretir. Bu kod orijinal kaynak değildir. Değişken adları, yorumlar ve çoğu zaman fonksiyon adları kaybolmuştur. Derleyicinin yaptığı iyileştirmeler de akışı değiştirir. Çıktıyı okuyup adlandırarak anlamlı hale getirmek analistin işidir.

Ghidra açılmıyor, Java hatası veriyor. Ne yapmalıyım?

Önce terminalde java -version komutuyla kurulu sürüme bak. Ghidra 12.2 en az JDK 25, 12.1 ve 12.0 sürümleri JDK 21 ister. Uygun JDK yoksa Temurin ya da Corretto gibi ücretsiz bir dağıtımı kur. Ghidra uygun sürümü kendisi bulamazsa açılışta JDK klasörünün yolunu sorar. JAVA_HOME değişkeni eski bir sürümü gösteriyorsa onu da güncelle.

Ghidra kullanmak için programlama bilmek şart mı?

Uzman olman gerekmez ama temel C bilgisi işini çok kolaylaştırır, çünkü decompiler çıktısı C'ye benzer. Değişken, döngü, fonksiyon ve işaretçi kavramlarını bilmen yeterli bir başlangıçtır. Assembly'yi zamanla öğrenirsin. En verimli yol, kendi yazdığın küçük programları derleyip Ghidra'da açmak ve çıktıyı kaynak kodla satır satır karşılaştırmaktır.

  • ghidra
  • tersine mühendislik
  • decompiler
  • zararlı yazılım analizi
  • ctf

İlgili yazılar

Okuduğunu uygula.
Ücretsiz. Hesap açınca bitirdiğin dersler puanıyla hesabına geçer.
İlk derse başla