Reverse Engineering - Unpacking

Rebuild importtaki tick’i kaldırıp diğerlerine dokunmadan dump ediyoruz.Api redirectiondan dolayı import adress tableda sorun yaşayacağız çünkü.

Şimdi yapmamız gereken import reconstructer ile bu sorunları ortadan kaldırmak.Programı açıyoruz ve OEP bölümüne bulduğumuz OEP’den base image değerini çıkartıyoruz.Imprec programında yazıyor.Örneğin programımızda image base değeri 400000 ve OEP 44DCDC bundan image basse değerini çıkartıyoruz 44DCDC-400000=4DCDC oluyor.Bu değeri yazıyoruz ve IAT Autosearch’e basıyoruz.Doğru bulmuşsak değerler gelecek.

Bulduktan sonra get imports tuşuna basıyoruz ve apiler geliyor.Ondan sonra  show invalid tuşuna basarak sorunlu olan varmı diye kontrol ediyoruz ve karşımıza birkaç tane çıkacak aspack sayesinde..

Karşımıza ilk çıkana gözatalım.Sağ tıklayalım ve disassemble tuşuna basalım.Karşımıza assembly kodları gelecek burada yani geçerli.Eğer anlamsız veriler vs gelseydi sağ tıklatıp cut thunk deyip silecektik.Bu crackerı şaşırtmak amacıyla konulmuş birşeydir.

Gördüğünüz üzere geçerli ve düzeltmemiz gerektiğinden bahsetmiştim rva adresi ile image base’i toplayıp (100 ise imagebase 400000 olduğu için 400100) ollydbg’da hex dump içerisinde sağ tıklayıp go to->expression bölümüne bu adresi yazıp o bölgeye gideceğiz.

Imprecte gözüken ptr değerini burada little endian şekliyle tersten yazıldığını göreceksiniz.Oraya gerçek api adresi daha sonradan yazıldığı için tespiti için resimde görüldüğü şekliyle hardware breakpoint kullanacağız ve üstteki menüden reset(<<) tuşuna basacağız.

Tarih:
Hit: 7275
Yazar: anonim6918524

Taglar: reverse engineering - unpacking


Yorumlar


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