Konuyu Okuyanlar: 1 Ziyaretçi

Ghidra 12.1 ile Tersine Mühendisliğe Giriş: İlk Binary Analizi

Ghidra 12.1 ile Tersine Mühendisliğe Giriş: İlk Binary Analizi
[Resim: attachment.php?aid=21]

Ghidra 12.1 ile İlk Binary Analiziniz

Selamlar,

NSA'nın açık kaynak tersine mühendislik çerçevesi Ghidra, Eylül 2026'da 12.1.4 sürümüne ulaştı. Bu rehberde Ghidra'yı kurup kendi derlediğiniz basit bir C programını analiz etmeyi anlatıyoruz.

Konuda Anlatılacaklar
  1. Kurulum
  2. Proje ve import
  3. Listing, Decompiler, Symbol Tree
  4. İlk lab: basit bir crackme benzeri program (kendi yazdığınız)
  5. İleri adımlar
  6. Kaynakça

1) Kurulum
Kod:
# JDK 21+ gerekir java -version # https://github.com/NationalSecurityAgency/ghidra/releases # Ghidra_12.1.4_build paketini indirip açın cd ghidra_12.1.4_PUBLIC ./ghidraRun

2) Lab Binary'si Oluşturma
Kendi makinenizde:
Kod:
// lab_check.c #include <stdio.h> #include <string.h> int main(void){ char buf[64]; printf("Parola: "); if(!fgets(buf,sizeof buf,stdin)) return 1; buf[strcspn(buf,"\n")]=0; if(strcmp(buf,"turkteam-lab")==0){ puts("OK"); return 0; } puts("NO"); return 1; } # Derleme gcc -O0 -g -o lab_check lab_check.c

3) Ghidra'da Açma
  1. File -> New Project -> Non-Shared Project
  2. File -> Import File -> lab_check
  3. Analysis -> Auto Analyze -> Analyze (varsayılanlar yeterli)
  4. Symbol Tree -> Functions -> main'e çift tıklayın

4) Ne Göreceksiniz?
  • Listing: Assembly / disassembly
  • Decompiler: C'ye yakın sözde kod; strcmp ve sabit dize burada görünür
  • Defined Strings: "Parola: ", "turkteam-lab", "OK", "NO"
Decompiler penceresinde sabit dizeye sağ tıklayıp referansları izleyerek karar mantığını takip edin. Amacınız "şifreyi kırmak" değil; kontrol akışını okumayı öğrenmek.

5) Faydalı Kısayollar
  • Fonksiyon yeniden adlandırma: Symbol üzerine sağ tık -> Rename Function
  • Değişken yeniden adlandırma: Decompiler içinde sağ tık -> Rename Variable
  • XREF: bir adrese kim çağırıyor? References -> Show References to Address

6) İleri Adımlar
  • Aynı binary'yi -O2 ile derleyip decompiler farkına bakın
  • strip lab_check ile sembolleri silip analizi zorlaştırın
  • Ghidra Script Manager ile Python/Java otomasyonu deneyin

Kaynakça
Görsel: TurkTeam özgün kapak görseli.

Alıntı:Yasal Uyarı: Tersine mühendislik çalışmalarını yalnızca sahip olduğunuz, açık kaynak veya açıkça izin verilen yazılımlarda yapın. Ticari yazılımların lisansını ihlal etmek ve üçüncü sistemlere saldırı amaçlı kullanmak yasaktır (TCK 243-245).


Ek DosyalarEkran Görüntüleri
   
Cevapla



Hızlı Menü: