Tersine Birleştirme Temelleri
Ghidra ve IDA
Tersine Birleştirme Temelleri, CoddyKit'te ücretsiz bir Ethical Hacking Academy dersidir. Bu, 4 dersinin 3. 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, Ethical Hacking Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Ethical Hacking Academy kursu toplamda 4 dersten oluşur.
Makine Kodu Çözümleme Nedir
Makine kodu çözümleme, bir ikilinin makine kodunu insanların okuyabileceği assembly komutlarına dönüştürür. CPU'nun tam olarak ne çalıştıracağını okumanızı sağlar.
Kötü amaçlı yazılımlarda kaynak kodu her zaman bulunmadığından bu işlem zorunludur.
Makine Kodu Çözümleme ve Dekompilasyon
Makine kodu çözümleme assembly üretir. Dekompilasyon ise yaklaşık olarak yüksek seviyeli, C benzeri sözde kodu yeniden oluşturarak bir adım daha ileri gider.
Sözde kodun okunması daha hızlıdır; assembly ise kesindir. Analistler gerektiğinde ikisi arasında geçiş yaparak her ikisini de kullanır.
Ghidra
Ghidra, NSA tarafından geliştirilen ücretsiz ve açık kaynaklı bir tersine mühendislik paketidir. Birçok mimarinin makine kodunu çözer ve güçlü bir dekompilatör içerir.
Fiyatı ve yetenekleri, onu çoğu analist için başvurulacak başlangıç aracı hâline getirir.
IDA Pro
IDA Pro, güçlü makine kodu çözümleyicisiyle ve (Hex-Rays eklentisiyle) dekompilatörüyle tanınan, uzun süredir kullanılan ticari standarttır.
IDA Free ile Binary Ninja ve radare2/Cutter gibi diğer araçlar popüler alternatiflerdir.
İkili Dosyayı Yükleme
Örneği araca içe aktarırsınız; araç da örneği otomatik olarak analiz ederek işlevleri, çapraz başvuruları ve dizeleri belirler.
Araç, giriş noktasından veya ilgi çekici içe aktarımlardan başlayarak gezinebileceğiniz bir program haritası oluşturur.
Assembly Okuma
Assembly komutları verileri taşır ve üzerinde işlem yapar. Yaygın birkaç x86 komutu:
mov: verileri kopyalar.push / pop: yığın işlemleri.call / ret: işlev çağırma ve dönüş.cmp / jmp / je: karşılaştırma ve dallanma.
mov eax, [ebp-4]
cmp eax, 0
je short loc_401050Çapraz Başvurular
Çapraz başvurular (xrefs), bir işlevin veya dizenin nerede kullanıldığını gösterir. CreateRemoteThread gibi şüpheli bir API'ye yönelik xref'leri bulmak, sizi doğrudan ilgili koda götürür.
Bu sayede yukarıdan aşağıya okumak yerine davranışa göre gezinebilirsiniz.
API Çağrılarını İzleme
İçe aktarılan Windows API çağrıları amacı ortaya koyar. VirtualAlloc, ardından WriteProcessMemory ve sonra CreateRemoteThread görülmesi, klasik bir süreç enjeksiyonu dizisidir.
Bu kalıpları tanımak, kötü amaçlı yazılım tersine mühendisliğinin temelidir.
Grafik Görünümü
Demontaj araçları, temel blokları ve bunlar arasındaki dallanmaları gösteren bir grafik görünümü sunar. Bu görünüm, bir işlevin denetim akışını görselleştirerek döngüleri ve koşullu ifadeleri takip etmeyi kolaylaştırır.
Karmaşık mantık için doğrusal komut listesinden çok daha okunaklıdır.
Hata Ayıklamayla Birleştirme
Statik demontaj, hata ayıklayıcıyla iyi bir şekilde birlikte kullanılabilir. Kod gizlenmiş veya kendini değiştiren yapıdaysa kesme noktaları belirleyebilir ve gerçek komutları görmek için çalışma zamanında kodu adım adım inceleyebilirsiniz.
Dinamik analize açılan bu köprü, bir sonraki derste ele alınacak paketlenmiş örnekler için kritik öneme sahiptir.
Yeniden Adlandırma ve Açıklama Ekleme
İşlevleri ve değişkenleri anladıkça demontaj aracında bunları yeniden adlandırın ve açıklamalar ekleyin. sub_401000 ifadesini decrypt_config hâline getirmek, analizin geri kalanını çok daha kolaylaştırır.
Bu aşamalı etiketleme, analistlerin bir kötü amaçlı yazılım örneğinin tüm mantığını yavaş yavaş yeniden oluşturma yöntemidir.
Hızlı Kontrol
Ghidra'nın iki ana çıktısı arasındaki farkı hatırlayın.
Özet
Artık demontajın temellerini anlıyorsunuz:
- Demontaj assembly, dekompilasyon ise sözde kod üretir.
- Ghidra (ücretsiz) ve IDA Pro başlıca araçlardır.
- Davranışa göre gezinmek için çapraz başvuruları ve enjeksiyon dizileri gibi API çağrısı kalıplarını kullanın.
- Grafik görünümü denetim akışını görselleştirir; gizlenmiş kod için bunu bir hata ayıklayıcıyla birlikte kullanın.
Sırada, paket açma işlemiyle paketleyicileri etkisiz hâle getireceksiniz.
Sıkça Sorulan Sorular
“Tersine Birleştirme Temelleri” dersi ücretsiz mi?
Evet — “Tersine Birleştirme Temelleri” 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 Ethical Hacking Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Ethical Hacking Academy kursu toplamda 4 dersten oluşur.
“Tersine Birleştirme Temelleri” dersinde ne öğreneceğim?
Ghidra ve IDA Ethical Hacking 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.
Ethical Hacking Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Ethical Hacking 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 3. dersidir.
“Tersine Birleştirme Temelleri” 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 Ethical Hacking Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Ethical Hacking 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
- Statik Analiz
- Dinamik Analiz
- Tersine Birleştirme Temelleri
- Paket Açma