Ghidra: İkili Dosyalarda Gezinme ve Açıklama Ekleme
Bir ikili dosyayı içe aktarın, derleme kodunda ve tersine çevrilmiş kodda gezinin, değişkenleri yeniden adlandırın ve yorumlar ekleyin.
Ghidra: İkili Dosyalarda Gezinme ve Açıklama Ekleme, CoddyKit'te ücretsiz bir Cyber Security Academy dersidir. Bu, 4 dersinin 1. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Cyber Security Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Cyber Security Academy kursu toplamda 4 dersten oluşur.
Ghidra Nedir?
Ghidra, NSA tarafından geliştirilen ve 2019'da kamuya sunulan ücretsiz, açık kaynaklı bir tersine mühendislik aracıdır. Linux, macOS ve Windows genelinde ayrıştırmayı, ters derlemeyi, betik yazmayı ve işbirlikçi analizi destekler.
İkili Dosya Yükleme
Ghidra'da bir ikili dosyayı açma:
- Yeni bir proje oluşturun
- Dosyayı içe aktarın (Dosya → Dosyayı İçe Aktar)
- Otomatik analiz çalışır — tamamlanmasını bekleyin (işlevleri, dizeleri ve veri türlerini tanır)
- Assembly çözümlemesini ve tersine derleyici görünümlerini gösteren CodeBrowser açılır
Ghidra Arayüzü
Ghidra'nın temel pencereleri:
- Program Ağaçları — bölümler (.text, .data, .plt)
- Simge Ağacı — işlevler, etiketler, içe aktarımlar ve dışa aktarımlar
- Listeleme — assembly çözümleme görünümü
- Tersine Derleyici — sözde C yeniden oluşturması
- İşlevler — tanımlanan tüm işlevlerin listesi
Giriş Noktasına Gitme
Analize programın giriş noktasından veya main() işlevinden başlayın:
- Bir adrese ya da simgeye "Git" komutuyla gitmek için
Gtuşuna basın - Simge Ağacı'nda "main" için arama yapın
- İstediğiniz işleve gitmek için herhangi bir işleve çift tıklayın
Tersine Derleyici Çıktısını Okuma
Ghidra'nın tersine derleyicisi, okunması assembly dilinden daha kolay olan sözde C kodu üretir. Çıktı kusursuz değildir — değişken adları geneldir (param_1, local_10) ve denetim akışı garip görünebilir — ancak kodun ne yaptığını anlamaya yetecek kadar açık biçimde mantığı ortaya koyar.
Değişkenleri ve İşlevleri Yeniden Adlandırma
Açıklama eklemek okunabilirliği artırır:
- Bir değişkene sağ tıklayın → Yeniden Adlandır (veya
Ltuşuna basın) - Bir işleve sağ tıklayın → İşlevi Yeniden Adlandır
;(satır sonu) veya/*...*/biçimiyle açıklamalar ekleyin
İkili dosya hakkında daha fazla bilgi edindikçe yeniden adlandırma, bağlamı kademeli olarak oluşturur.
Dizeleri Belirleme
Dizeler, amacı anlamak için son derece değerlidir:
- Pencere → Tanımlı Dizeler, tüm dize sabitlerini gösterir
- Koddaki kullanımına gitmek için bir dizeye tıklayın
- Hata iletileri, dosya yolları, URL'ler ve kayıt defteri anahtarları işlevselliği ortaya çıkarır
Çapraz Başvurular
Çapraz başvurular, bir işlevin veya değişkenin nerede çağrıldığını ya da kullanıldığını gösterir. Tüm başvuruları görmek için herhangi bir simgenin üzerinde X tuşuna basın. Bu özellik, kullanıcı girdisinin bir işleve nerede girdiğini veya güvenlik denetimlerinin nerede gerçekleştiğini bulmak için kritik öneme sahiptir.
Ghidra ile Betik Yazma
Ghidra, Python/Java ile betik yazma API'sine sahiptir:
# Python script to find all calls to strcpy:
from ghidra.program.model.symbol import RefType
for ref in currentProgram.getReferenceManager().getReferencesTo(toAddr(0x401234)):
print(ref.getFromAddress())Ghidra ile Kötü Amaçlı Yazılım Analizi
Kötü amaçlı yazılım analizi için:
- Analiz karşıtı hileleri belirleyin (hata ayıklama karşıtı teknikler, kod gizleme)
- Ağ iletişimi işlevlerini bulun (soket, bağlantı, WinInet)
- Kriptografi işlevlerini bulun (AES S-box sabitlerini arayın: 0x63, 0x7c...)
- Şifresi çözülmüş dizelerden C2 URL'lerini çıkarın
Ghidra ve IDA Pro
Ghidra ve IDA Pro:
- Ghidra: ücretsiz, açık kaynaklı, betiklenebilir ve iyi bir tersine derleyiciye sahip
- IDA Pro: sektör standardı, daha hızlı analiz, daha iyi eklenti ekosistemi ve pahalı ($$$)
- Çoğu görev için Ghidra tamamen yeterlidir; IDA ise profesyonel kötü amaçlı yazılım analizi laboratuvarları içindir
Hızlı Kontrol: Ghidra
Belirli bir işlevi veya değişkeni çağıran ya da ona başvuran ikili dosyadaki tüm konumları hangi Ghidra özelliği gösterir?
Ders Özeti
Ghidra, NSA tarafından geliştirilen; assembly çözümleme, tersine derleme ve betik yazma özelliklerine sahip ücretsiz bir RE aracıdır. Temel iş akışı şöyledir: ikili dosyayı yükleyin, otomatik analizi çalıştırın, main() işlevine gidin, mantığı anlamak için tersine derleyiciyi kullanın, değişkenleri yeniden adlandırın, veri akışını izlemek için çapraz başvuruları kullanın ve bağlam elde etmek için dizeleri arayın. Açıklama eklemek, anlayışı yinelemeli olarak geliştirir. Betik yazma, tekrarlanan analiz görevlerini otomatikleştirir.
Sıkça Sorulan Sorular
“Ghidra: İkili Dosyalarda Gezinme ve Açıklama Ekleme” dersi ücretsiz mi?
Evet — “Ghidra: İkili Dosyalarda Gezinme ve Açıklama Ekleme” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Cyber Security Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Cyber Security Academy kursu toplamda 4 dersten oluşur.
“Ghidra: İkili Dosyalarda Gezinme ve Açıklama Ekleme” dersinde ne öğreneceğim?
Bir ikili dosyayı içe aktarın, derleme kodunda ve tersine çevrilmiş kodda gezinin, değişkenleri yeniden adlandırın ve yorumlar ekleyin. Cyber Security Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
Cyber Security Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Cyber Security Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 1. dersidir.
“Ghidra: İkili Dosyalarda Gezinme ve Açıklama Ekleme” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu Cyber Security Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Cyber Security Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- Ghidra: İkili Dosyalarda Gezinme ve Açıklama Ekleme
- Tersine Mühendisler için x86/x64 Assembly Temelleri
- GDB ve pwndbg ile Dinamik Analiz
- Karartma Açma ve Analiz Karşıtı Teknikler