← Blog'a Dön
Araçlar 📅 29.08.2026 ⏱️ 8 dakika ✍️ Fevzi Ege Yurtsevenler

Ghidra Nedir? Tersine Mühendisliğe Başlangıç Rehberi

Ghidra, bir programın çalışan dosyasını (binary) okunabilir koda çeviren ücretsiz ve açık kaynaklı tersine mühendislik aracıdır. Bu rehber, kurulumdan ilk analize kadar yeni başlayanlar için adım adım anlatır.

#ghidra nedir#araçlar#siber güvenlik#yeni başlayanlar

Ghidra, derlenmiş bir programın çalışan dosyasını (binary) insanın okuyabileceği koda çeviren, ücretsiz ve açık kaynaklı bir tersine mühendislik (reverse engineering) aracıdır. ABD Ulusal Güvenlik Ajansı (NSA) tarafından geliştirilip 2019'da açık kaynak olarak yayımlanmıştır ve bugün güvenlik araştırmacılarının, kötü amaçlı yazılım analistlerinin ve CTF oyuncularının sık kullandığı temel araçlardan biridir.

Bu yazı; tersine mühendisliğin ne olduğunu, Ghidra'nın nasıl kurulup ilk analizin nasıl yapıldığını yeni başlayanların anlayacağı sadelikte anlatır. Amacımız derin bir zafiyet analizi değil, kapıyı aralamak.

Tersine mühendislik nedir?

Tersine mühendislik, bir yazılımın kaynak kodu elinizde olmadan onun nasıl çalıştığını dışarıdan çözmektir. Bir programı derlediğinizde okunabilir kaynak kod, işlemcinin anladığı makine koduna dönüşür. Tersine mühendislik bu yolu geriye doğru yürür: makine kodundan yola çıkarak programın mantığını yeniden anlaşılır hale getirir. Güvenlik dünyasında zararlı yazılım analizi, zafiyet araştırması ve CTF çözümlerinde kullanılır.

Ghidra ne işe yarar?

Ghidra bir programı iki temel biçimde gösterir: disassembly (makine kodunun assembly karşılığı) ve decompiler (bu kodun C benzeri okunabilir sözde-koda çevrilmiş hali). En güçlü yanlarından biri, ücretsiz olmasına rağmen kaliteli bir decompiler sunmasıdır. Fonksiyonları listeler, string'leri bulur, çağrı grafiğini çıkarır ve x86, ARM, MIPS gibi birçok mimariyi destekler. Kısacası, bir dosyanın içinde ne olup bittiğini görmenizi sağlar.

Ghidra hangi araçlardan farklı?

Tersine mühendislikte tek araç Ghidra değildir. Aşağıdaki tablo, yeni başlayanların en çok duyduğu araçları karşılaştırır. Doğru araç, bütçenize ve alışkanlığınıza göre değişir.

AraçÜcretAçık kaynakDecompilerYeni başlayan için
GhidraÜcretsizEvetDahili, güçlüÇok uygun
IDA FreeÜcretsiz sürümHayırSınırlıUygun
Cutter (radare2)ÜcretsizEvetEklenti ileOrta
Binary NinjaÜcretliHayırDahiliOrta

Bütçesi olmayan bir öğrenci için Ghidra, ücretsiz olması ve güçlü decompiler'ı sayesinde başlamak için mantıklı bir tercihtir.

Ghidra nasıl kurulur?

Ghidra Java ile yazılmıştır, bu yüzden çalışması için sisteminizde güncel bir JDK (genellikle 17 veya üzeri) bulunmalıdır. Kurulum, resmi sürümü indirip arşivi açmak ve başlatma betiğini çalıştırmaktan ibarettir; ayrı bir yükleyici yoktur.

# 1) Önce Java sürümünü doğrula (JDK 17+ önerilir)
java -version

# 2) Ghidra resmi sürümünü indir (ghidra-sre.org veya GitHub) ve arşivi aç
unzip ghidra_*.zip
cd ghidra_*/

# 3) Ghidra'yı başlat
./ghidraRun        # Linux / macOS
ghidraRun.bat      # Windows

Java kurulu değilse önce bir JDK kurmanız gerekir. Ghidra açıldığında sizi boş bir proje ekranı karşılar.

Ghidra ile ilk analiz nasıl yapılır?

Ghidra dosyaları "proje" içinde düzenler. Yeni başlarken en iyi alıştırma, kendi yazdığınız küçük bir programı veya eğitim amaçlı bir "crackme" dosyasını analiz etmektir. Temel akış şöyledir:

  1. File > New Project ile boş bir proje oluşturun.
  2. Analiz edeceğiniz dosyayı proje penceresine sürükleyip bırakın (Import File).
  3. Dosyaya çift tıklayarak CodeBrowser'ı açın.
  4. Ghidra "Analyze?" diye sorduğunda Yes deyip varsayılan seçeneklerle analizi başlatın.

Analiz bitince Ghidra fonksiyonları, string'leri ve kod bloklarını otomatik olarak çıkarmış olur. Denemek için basit bir örnek derleyebilirsiniz:

# Kendi laboratuvarında analiz etmek için minik bir örnek derle
echo 'int main(){ int x=42; return x; }' > ornek.c
gcc -o ornek ornek.c

# Sonra bu "ornek" dosyasını Ghidra'ya Import File ile ekle

Ghidra arayüzünde neye bakılır?

İlk açılışta arayüz kalabalık görünebilir, ama günlük işiniz birkaç pencerede geçer. Yeni başlayanın tanıması gereken temel bölümler şunlardır:

  • Decompiler (sağ pencere): Seçtiğiniz fonksiyonun C benzeri okunabilir hali. En çok zaman buraya bakarsınız.
  • Listing (orta pencere): Adres adres assembly kodu ve makine talimatları.
  • Symbol Tree (sol): Fonksiyonlar, import edilen kütüphaneler ve etiketler.
  • Defined Strings (Window menüsünden): Programın içindeki metinler; çoğu analiz burada bir ipucuyla başlar.

Pratik bir alışkanlık: önce Defined Strings penceresinde ilginç bir metin arayın (örneğin "Access granted" gibi), üstüne çift tıklayıp o metnin hangi fonksiyonda kullanıldığına gidin ve decompiler'da mantığı okuyun. Değişken ve fonksiyon adlarını sağ tık > Rename ile anlamlandırdıkça kod okunaklı hale gelir.

Tersine mühendislik yasal ve etik mi?

Bu araçların gücü, sorumluluğu da beraberinde getirir. Tersine mühendisliği yalnızca size ait yazılımlar, açık kaynak dosyalar, eğitim amaçlı crackme'ler veya yazılı izin aldığınız sistemler üzerinde yapın. Başkasının lisanslı yazılımını izinsiz çözmek, kopya koruma mekanizmalarını kırmak ya da telif hakkı olan kodu izinsiz analiz etmek çoğu ülkede ve lisans sözleşmesinde yasaktır.

Etik tarafı da unutmayın: tersine mühendislik sadece "kırmak" için değil, savunma için de kullanılır. Zararlı yazılımların nasıl çalıştığını çözmek, güvenlik yamalarını doğrulamak ve kendi yazılımınızın dayanıklılığını test etmek meşru ve değerli kullanımlardır. Öğrenirken kendi kontrollü laboratuvarınızda kalın.

Ghidra öğrenmek için nereden pratik yapılır?

En hızlı öğrenme yolu, gerçek dosyalar üzerinde bol pratik yapmaktır. "Crackme" adı verilen eğitim amaçlı bulmacalar ve CTF yarışmalarının tersine mühendislik (rev) kategorileri tam bu iş için tasarlanmıştır. Basit bir dosyada string aramaktan başlayıp, giderek karşılaştırma mantıklarını ve basit şifreleme rutinlerini okumaya geçebilirsiniz.

Ücretsiz Türkçe pratik için AltaySec ekosisteminden yararlanabilirsiniz: pratik.altaysec.com.tr tarayıcıda çözebileceğiniz CTF görevleri sunar; takım halinde yarışmak isterseniz AltayCTF ekibine göz atabilirsiniz. Sabırla ilerleyin: tersine mühendislik anında olmaz, her çözdüğünüz dosya bir sonrakini kolaylaştırır.

Sık Sorulan Sorular

Ghidra ücretsiz mi?

Evet. Ghidra tamamen ücretsiz ve açık kaynaktır; NSA tarafından geliştirilip 2019'da halka açık olarak yayımlanmıştır. Lisans ücreti ödemeden indirip kullanabilirsiniz. Bu, onu bütçesi kısıtlı öğrenciler ve yeni başlayanlar için cazip bir seçenek yapar.

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

Yeni başlayan biri için Ghidra genellikle mantıklı bir başlangıçtır çünkü ücretsizdir ve güçlü bir decompiler sunar. IDA endüstride çok yaygındır ama tam sürümü pahalıdır. Önce Ghidra ile temelleri öğrenip sonra ihtiyaca göre diğer araçlara geçebilirsiniz.

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

Temel bir C bilgisi ve programların nasıl çalıştığına dair genel bir fikir işinizi çok kolaylaştırır, çünkü decompiler çıktısı C benzeridir. Ama uzman olmanız gerekmez; küçük programlarla pratik yaparak assembly ve akış mantığını zamanla öğrenebilirsiniz.

Tersine mühendislik yasal mı?

Kendi yazılımınız, açık kaynak dosyalar, eğitim amaçlı crackme'ler ve yazılı izin aldığınız sistemler üzerinde yapmak meşrudur. Başkasının lisanslı yazılımını izinsiz çözmek veya kopya korumasını kırmak çoğu yerde yasal değildir. Öğrenirken her zaman kendi kontrollü laboratuvarınızda kalın.

📤 Bu Yazıyı Paylaş