Reverse Engineering - Kod Enjeksiyonu

Şimdi yapacağımız bir işlem daha var.Her programın bir giriş noktası(entry point) vardır.İşletim sisteminin loaderı bu değeri PE Headerdan okur ve ona göre programın akışının başlayacağı adresi belirler.Biz program açılır açılmaz mesaj penceresi gözüksün istiyoruz.O yüzden programın giriş noktasını mesaj penceresini göstermek için yazdığımız kodların başlangıcı yaparsak mesaj penceresi gösterilir ve asıl programın akışına devam edilir.Bizim burada yapacağımız programın giriş noktasını değiştirip mesaj penceresi yazdığımız kodların olduğu bölümden başlatıp (alttaki resimde gözüküyor) oradan itibaren program akışını devam ettirmek.Mesaj penceresini gösterdikten sonrada önceki değiştirdiğimiz orjinal giriş noktasına zıplayarak devam etmek.

Öncelikle  yaptığımız değişiklikleri kaydedilim ve ondan sonra giriş noktasını değiştirelim.Kodların arasında herhangi bir yer seçip sağ tıklayın copy to executable->all modifications->copy all   Çıkan pencerede tekrar sağ tıkayıp save file diyoruz ve kaydediyoruz.Şimdi giriş noktasını değiştirmeye gelirsek;

Giriş noktasını ollydbg ile değiştirebiliriz.Fakat olayı daha basit yoldan çözmek için lordPE isimli programı kullanıyoruz.

Entry point’i Olly ile değiştirecekler;
Üstteki menüden M(Memory) harfinin olduğu tuşa basın.Hemen altta PE Header göreceksiniz ona tıklayın.Aşağıya inin “AdressofEntryPoint” göreceksiniz.Adresini alın ve hexdumpta(ana penceredeki) oraya gidin(Sağ tıklayıp go to->expression) Gittiğiniz adreste entry pointi göreceksiniz.Yeni enrty pointi aynı formatta tersten yazın. Örneğin 44 CA FD ise FD CA 44 yazacaksınız(little endian düzeni)
Daha sonrada değişiklik yaptığınız yeri seçerek sağ tıklayıp copy to executable dedikten sonra save file diyoruz.

Tarih:
Hit: 4779
Yazar: FireX

Taglar: reverse engineering - kod enjeksiyonu


Yorumlar


Siftahı yapan siz olun
Yorum yapabilmek için üye girişi yapmalısınız.