Tersine Mühendisliğe Giriş: Assembly ve Analiz Araçları

guclusat

Tanınmış Üye
Süper Moderatör
Assembly'e giriş, okunması gereken belgeler, Masm ve RadASM tanıtımı ve ilk assembly programcığının yazılması, tamamen yeni başlayanlara özel.
 
Tersine mühendislik (Reverse Engineering), bir yazılımın veya donanımın nasıl çalıştığını anlamak için onu parçalarına ayırma sanatıdır. Özellikle uydu alıcıları, eprom yazılımları ve kapalı kaynak uygulamalarla uğraşanlar için bu dünya, kapalı kapıları açan anahtardır.

1. Neden Assembly Bilmeliyiz?​

Yazılımlar C++, Delphi veya Python ile yazılsa da, işlemci (CPU) sadece 0 ve 1'den anlar. Bu ikili sayıları insanların okuyabileceği en alt seviye dile çevirdiğimizde karşımıza Assembly çıkar. Bir programın "lisans kontrolünü" geçmek veya "gizli bir özelliği" aktif etmek istiyorsanız, işlemciye giden komutları değiştirmeyi bilmelisiniz.

En Temel Komutlar:

  • MOV: Veriyi bir yerden bir yere taşır. (Kopyala-Yapıştır gibi).
  • CMP: İki değeri karşılaştırır. (Şifre doğru mu kontrolü gibi).
  • JNE / JZ: Karşılaştırma sonucuna göre programın akışını değiştirir (Dallanma).
  • NOP: "No Operation". İşlemciye hiçbir şey yapma der. Genelde crack işlemlerinde bir kontrolü devre dışı bırakmak için kullanılır.

2. Tersine Mühendisin Çantası (Gerekli Araçlar)​

Bu işi tek tek program toplamak yerine, profesyonel araçlarla yapmak zaman kazandırır.

A. Analiz ve Hata Ayıklayıcılar (Debuggers)​

Program çalışırken içindeki verileri canlı izlemenizi sağlar.

  • x64dbg / x32dbg: Günümüzün en popüler, açık kaynaklı Windows hata ayıklayıcısıdır.
  • OllyDbg: Eski ama efsanedir; birçok 32-bit analiz için hala tercih edilir.

B. Kod Çözücüler (Disassemblers & Decompilers)​

Programı çalıştırmadan kod yapısını haritalandırır.

  • Ghidra: NSA tarafından geliştirilmiş, tamamen ücretsiz ve çok güçlü bir araçtır.
  • IDA Pro: Bu işin "Ferrari"sidir. Çok pahalıdır ama en profesyonel analizleri o yapar.

C. Dosya Kimlikleyiciler (Identifiers)​

Elimizdeki dosya neyle yazılmış, şifrelenmiş mi (Packer) anlamamızı sağlar.

  • Detect It Easy (DIE): Bir dosyanın röntgenini çeker.
  • PEiD: Klasik ve hızlı bir tarayıcıdır.

3. Toplu Paket Önerisi: Flare-VM​

Eğer bu araçları tek tek aramak istemiyorsanız, Flare-VM tam size göre. Windows işletim sistemini tam donanımlı bir tersine mühendislik istasyonuna dönüştüren bir script paketidir. Kurulduğunda masaüstünüzde yüzlerce analiz aracı hazır bekler.

Önemli Güvenlik Notu: Bu çalışmaları mutlaka VirtualBox veya VMware gibi bir sanal makine üzerinde yapın. Analiz ettiğiniz dosya beklenmedik bir şekilde sisteminize zarar vermesin.

4. İlk Adım İçin Öneri​

Tersine mühendisliğe başlarken önce "CrackMe" adı verilen, küçük ve yasal eğitim dosyalarıyla pratik yapın. Kendi yazdığınız basit bir "Kullanıcı Adı/Şifre" programını x64dbg ile açıp şifrenin bellekte (RAM) nerede durduğunu bulmaya çalışmak en iyi derstir.


Bilgi Paylaştıkça Güzeldir.Uydudoktoru.com Teknik Arşiv
 
Geri
Yukarı