한글화/한글화 도구

ASProtect 1.2x - 1.3x [Registered] Manuel Unpack

NineHeart 2013. 6. 14.

 

ASProtect 1.2x - 1.3x [Registered] Manuel Unpack

kresuz
Program Url:www.elvanpark.com
Program Tipi:Evrak Takip programı
     Araçlar:
OllyDbg v1.10,Peid,Import REConstructor v1.6,Aspr2.XX_unpacker_v1.0E script,ODbgScript.dll 1.47,aspr2.dll
Basit ()  Orta (X)  Zor ( )  Pro ( )


Başlangıç

Elvanpark ın Evrak Takip programı na bakacagız.Program peide göre ASProtect 1.2x - 1.3x [Registered] ile pack yapılmış.RDG v0.65 e görede ASProtect v2.xx Biz asprotect i script ve plugin yardımıyla aşacagız.Bunlar olmasa işimiz gercekten cok zor olur.OEP i bulmak ve import tablosunu oluşturmak icin cok uğraşırdık. Gerekli programlar ,script ,imprec pluing bu linkde hazır bir sekilde var.

Yazı
 Aspr2.XX_unpacker_v1.0E script i normal olarak ollydbg de calışmıyor.Sanırım Çinlilerin yazdıgı,ODbgScript.dll 1.47 
dosyasına ihtiyac duyuyor.Bu dll de ancak modifiye edilmiş ollydbg de calısıyor.Yukarıdaki linkden dosyayı cekin.
Ollyasprotec.zip dosyası icindeki oll.exe yi çalıstırın.Aspr2.XX_unpacker_v1.0E script i ve hidedebugger yüklüdür.
İmprec.zip dosyasında da aspr2.dll vardır.
Biraz da unpack işlemi sırasında geçen olaylar ve terimlerden bahsedelim.Konuları daha iyi anlamak için SCTZiNE #14 
sayısında Blue_Devil in yazdıgı 5. Unpacking giriş yazısını iyi okuyun.Yazıdan alıntı yapıyorum.

1. OEP bulunması
Arkadaşlar her programın bir başlangıç noktası vardır. Bir Packer paketlediği programın OEPsini saklar kendi OEPsini 
programa yazar. Bizim amacımız programın gerçek OEPsini bulmak, çünkü paketlenmemiş saf kodlar oradan başlamaktadır.
Packer/Protector, OEPyi saklar, kendi kodlarını çalıştırır, ve OEP'ye memory'de yani hafızada dallanır.

2. DUMP İşlemi
Çoğu insan DUMP kelimesinin anlamını bilmez. Sanırım şu şekilde açıklarsak akılda kalıcı olur. 
Packer algoritması bittikten sonra packer programı OEP atlatır ve gerçek kodlar hafızaya açılır ve oradan okutulur. 
İşte biz Bu anda bir memory dump yaparak hafızaya açılmış olan paketlenmemiş saf kodları sabit diske yazarız.

3. Import Table Düzenlenmesi
Her zaman gerekli olmamakla beraber, benim uğraştığım bir kısım programda Import Reconstructor ile programların import 
table'larını düzenlemek gerekmektedir. Bazende bunu elle Olyydebugerda ya da bir hex editörü ile yapmak zorunda kalabilirsiniz.

Thanks to Blue_Devil

Yani unpack için üç işlem yapılıyor(oep,dump,import tablosunun düzenlenmesi)
Şimdi işe baslayalım.

I- Original EntryPoint(OEP) Bulunması

Önce peidle bakıp program neyle Pack yapılmış ögrenelim..

 

 Lbr68.exe yi calıstırın.Ollydbgde programı yükleyin.Çalıstırmayın.Pluings menusunu tıklayın.

 

Şİmdi Aspr2.XX_unpacker_v1.0E isimli script çalışdı.

 

 

01390042 0000 ADD BYTE PTR DS:[EAX],AL ==burada durdu. 01390044 0000 ADD BYTE PTR DS:[EAX],AL

OEP i buldu.(OEP=41FEA0)Şimdi tamam tuşuna basın.

II- Dump yapmak.

Pluings menusunu tıklayın.

 

 

Dump yapacagız.Amac OEP i belli olan, ASProtect siz ama import tablosu olmayan bir dosya yaratmak.

 

 

Bu dosya Import REConstructor v1.6 için lazım olacak.OEP bölümüne (otomatik olarak yazmazsa) 41FEA0 yazın. Dump tusuna basın ve unpak.exe diye kaydedin.F9 veya Run tuşuna basarak programı çalıştırın.

III-Import Reconstructor ile Import Rebuilding

Şimdi Import REConstructor v1.6 yi açın.(Ollydbg ve program çalışsın)Attach to Active Process bölümünden etakip.exe yi secin.

 

 

 

OEP bölümüne 0041FEA0 yazıp IAT AutoSearch tuşuna basın.Bize olması gereken RVA ve Size degerlerini gösterdi.Tamam tuşuna basın.

 

 

Olması gereken RVA ve Size degerleri yazdıkdan sonra önce Get Import tusuna basın.Bize (aralarında bozukda olan) importları bulacaktır. İmport tablolarını bulduktan sonra Show Invalid tusuna basın.Sadece bozuk olanlar işaretlenecektir.

 

 

Secilmiş olan bozuk importları tamir etmeye çalışagız.Bunun icin yazılmış olan hazır pluginleri kullanacagız. Tablolar üzerinde sağ tuş yapın.aspr2 ye tıklayın.Tamir işlemi başladı.Biraz bekleyelim.

 

 

İşlem bitti.

 

 

Show invalid tusuna bir daha basalım.Artık şu an gördüklerimiz gecersiz tablolar.Bunların üzerinde sağ tuş yapın.Cut thunk(s) a basarak bunları ayıralım.

 

 

Evet şu an düzenlenmiş ve temiz olan(içinde gecersiz importlar olmayan)import tablosu oluşturuldu.Fixdump tuşuna basın.Daha önce ollydbg de dump yaptıgımız exe yi gösterin.

 

 

ollydbg de dump yaptıgımız ama import tablosu olmayan exe ye yukarıda anlattıgım düzenlenmiş ve temiz olan(içinde gecersiz importlar olmayan) import tablosu basarıyla aktarıldıgını Import REConstructor v1.6 söyledi.

 

 

Peidle bir bakalım.Evet artık asprotec yok.Ama bu dosya çalışacakmı acaba .Yeni olusan dosyaya tıklayın.(bulundugu direktörde 2 tane görürsünüz dikkat edin.Biri dump yaptıgınız digeri yeni olusturdugunuzdur.En son oluşanı, _ uzantısı olanı calıştırın)

 

 

Evet mutlu son.Asprotec den tamamen kurtulmuşuz.Crack işi bundan sonra basit.Onuda kendiniz yapın.

Aspr2.XX_unpacker_v1.0E script in paylaşımı yapan MTCT den hayalet e teşekkürler.

Bu tutoriali yazmaktaki amacım programcılara ,programlarını daha iyi korumaları için yol göstermektir.. Son olarak şunu söyleyeyim:Bir programı kullanarak para kazanıyorsanız,o programı mutlaka satın alın.Emeğe değer verin... Lisansız kullanımdan tutoriali hazırlayanlar sorumlu değildir.

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.

 

http://mdkgroup.host.sk/Yazilar/Yeni_Yazilar/asrotec.html