UPX 1.25d Manuel Unpack

kresuz
Program Url:UPX 1.25d
Program Tipi: Ultimate Packer for executables
     Araçlar:
OllyDbg version 1.10 - Peid v0.93 - Import REConstructor v1.6 FINAL
Basit (x )  Orta ( )  Zor ( )  Pro ( )
Başlangıç

Şimdi bir proğramı Upx ile paketleyip sonra Ollydbg de Script yardımıyla OEP ini bulup manuel unpack yapacağız. Önce yukarıdaki Prog.Url deki UPX1.25d.rar dosyasını ve zugzwang'ın derlediği Ollydbg v1.10 cekin. (İçinde kullanacağımız unpack icin Script ler var)
Yazı


A==>PROĞRAMI PAKETLEME: UPX1.25d.rar dosyasını acın. Bulunduğu direktörde upx125d.exe keygenme.exe -o keygenmepack.exe yazın.
Şimdi elimizde UPX1.25d ile paketlenmiş keygenmepack.exe isimli bir dosya var. Peidle bakalım

B==>PROĞRAMIN OEP'ini BULMAK: Tamam. Şimdi ollydbg yi acalım. Programı F3 ile yükleyin.F9 veya run Tusuna şimdilik basmayın. Program calısmasın.

Burdayız.Sırasıyla Pluings==>ODbgScript==>Run Script==>Open bölümlerine basın

Önümüze gelen listeden UPX OEP Finder v2.0 isimli script i secin.

Script calıştı ve OEP i buldu ve orada durup buldugunu bize bir mesajla bildirdi.

00401000 satırı OEP. Dump için gercek OEP 00401000-00400000 =1000(OEP) C==>PROĞRAMI DUMP YAPMAK:

Şimdi sağ tus yapın ve Dump debugged processi seçin.

Rebuild Import seçili ise kaldırın ve dump tuşuna basın. Dump.exe diye kaydedin.
OEP 1000 idi bunu bir yere kaydedin.

Elimizde UPX den arınmış ama import tablosu olmayan ve calısmayan bir dosya var. 

D==>PROĞRAMIN IMPORT TABLOSUNU OLUŞTURMAK: Ollydbg yi kapatın.UPX 'le paketlediğimiz keygenmepack.exe dosyasını çalıştırın.
Import REConstructorv1.6 yı açın.
Attach to an Active Process bölümünden keygenmepack.exe dosyasını seçin. OEP bölümüne 00001000 yazın ve IAT AutoSearch tusuna basın.  Bize RVA ve SİZE nin olması gereken degerleri konusunda bir mesaj verdi.

RVA:00001000 SiZE:0000C000 yazdıktan sonra Get Import tuşuna basın. Şimdi gecersiz importları görebiliyoruz.

Show invalid Tuşuna basın. İşaretlenmiş olan gecersiz importların üzerinde sağ tuş yapın.

Buradan DELETE THUNK(S) u tıklayın.

Şimdi Fix Dump Tuşuna basın daha önce ollydbg ile yaptıgınız ve Dump.exe diye
kaydettiğiniz dosyayı gösterin Import REConstructor v1.6 bize import tablosu
oluşmuş ve calısan bir dosya yarattı. Yeni dosyaya tıklıyoruz. Evet calısıyor.

Peidle bakalım

 

Evet program tamamen Upx den arınmış.
Bu yöntemde önemli olan packer e uygun olarak yazılmıs script ler gerekli. Script leri programı olly ile yukledikten hemen sonra calıstırın.
Program calısırken işe yaramıyorlar.
Birde birkac kere degisik script calıstırdıysanız onları once ram den cıkarmanız lazım. Run Script-Abort dan yapabilirsiniz.
Yukarıdaki resimlere bakın. Bazen olly karıstırabiliyor. Onun icin olly kapatın.
OllyDbg nin direktoründe olan UDD direktorundeki programla ilgili olan sonu udd. ile biten dosyayı silin.
Programı yeniden yükleyin. Son olarak bize olly hazır olarak sunan zugzwang'a ve script yazan arkadaşlara teşekkür ederim.

Ellerine sağlık.
 


	

	

  
Son Notlar

Bu yazıda yazım yanlışları , bilgi hatası olabilir.Eğer bir yanlış bulursanız bana mail atın düzeltmeye çalışırım.

kresuz

E-Mail: kresuz@hotmail.com