|
Ultra ZIP Password Cracker v3.61 |
|
amois |
|
Program Tipi: Password recovery |
|
Araçlar: SoftICE, IceDump, PEditor, W32Dasm |
|
|
|
|
Paketlenmis dosyalari actiktan sonra calisacaklari garanti degil. Kendilerinin unpack edilip edilmedigini kontrol edebilirler.
|
|
ZIP ve Self Extractable dosyalarinizda unutmus olabileceginiz password leri
bulmaya calisan bir program. Internet den indirdigim crack dosyalari calismadi.
Asprotect 1.08.4 ile paketlenmis gozukse de, bence isin icinde baska dumenler
var. IceDump --> [bpx GetProcAddress] --> uzpc.exe
016F:0046E04B CALL [EBP+004521DC]
016F:0046E051 MOV [EBP+004521AC],EAX
<-- buradayiz
016F:0046E057 LEA EBX,[EBP+004520AE]
OEP nin daha geride oldugunu
dusunmek mantikli olacak. [\tracex 400000 450000]
016F:00401014 RET
<-- buradayiz
016F:00B0F274 POP DWORD PTR [ESI]
016F:00B0F276 POP ESI
ilk denememizde 401014 de geldik. RET
komutu ile de B0F274 adresine donduk.
Bence burasi pek OEP ye benzemiyor --> [\tracex 400000 450000]
016F:00401000 ENTER 004C,00
<-- buradayiz
016F:00401004 MOV DWORD PTR [EBP-30],00000030
016F:0040100B MOV DWORD PTR [EBP-2C],00000002
016F:00401012 MOV DWORD PTR [EBP-28],00404F7B
ikinci denememizde ise 401000 adresine
geldik. Burasi da pek benzemiyor degil mi? Garip ama gercek, OEP burasi. Buraya
nasil geldigimizi biraz tirmalarsak;
016F:00B0F5E2 MOV [EBX+ESP],EAX
016F:00B0F5E5 POPAD
016F:00B0F5E6 PUSH EAX
016F:00B0F5E7 RET
016F:00401000 ENTER 004C,00
<-- OEP
Bu hali ile OEP ye daha cok benzedi. [\dump
400000 7F000 c:\dump.exe]
PEditor --> OEP --> 1000 --> Sections --> birinci section --> dumpfix
Programi calistirmayi denedigimizde hata verdi. Import tablosunu yeniden
olusturmayi deneyecegiz.
uzpc.exe --> Imprec --> OEP=1000 --> IAT Search --> Get Import --> Trace
Level 1
--> Auto Trace --> Show Invalid --> gecersiz thunk lari silelim -->
Fix Dump
Bu hali ile dump.exe yi calistirdigimizda "Cannot open message file"
seklinde bir hata verdi. Bu hata, program tarafindan veriliyor. Yani programimiz
calisiyor, ama bir sekilde kendisinin unpack edildigini anliyor galiba. Artik
yoruldugum ve daha fazla ugrasmak istemedigim icin, hemen patch olayina girmek
istedim. PEditor ile dump.exe nin section charecteristics lerini W32Dasm in
anlayabilecegi E0000060 sekline cevirip acalim.
:00405130 E8A4280000 call 004079D9
:00405135 85C0 test eax, eax
:00405137 740A je 00405143
<-- kotu cocuk
:00405139 30ED xor ch, ch
:0040513B 882D32404100 mov byte ptr [00414032], ch
:00405141 EB07 jmp 0040514A
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:00405137(C)
|
:00405143 C6053240410020 mov byte ptr [00414032], 20
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:00405141(U)
* Possible StringData Ref from Data Obj ->"Ultra Zip Password Cracker v3.61
" ->"- unregistered"
|
:0040514A 6812404100 push 00414012
Program calistiginda, unregistered oldugunu belirtiyor. W32Dasm da search
ettirdigimiz zaman, birkac yerde unregistered oldugunu gorecegiz. Biraz
deneme yanilma methodu ile sorunun 405137 de JUMP yapmaktan kaynaklandigini
bulacaksiniz. Burada JUMP yapmamamiz icin eax=1 olmali. Yalnizca burayi
NOP lamak da yetmeyecek. Baska yerlerden de gelen kontroller mevcut. Ustundeki
CALL 4079D9 cagrisi ise kontrolu yapan bolum.
* Referenced by a CALL at Addresses:
|:00405089 , :00405130 , :0040569F , :00407392 , :0040759F
|:004076D7 , :00407805 , :00407BF4 , :004086DB , :0040B694
|:0040D631 , :0040D7C4 , :0040EA42 , :0040EEF8 , :0040EF51
|:0040F547
|
:004079D9 53 push ebx
:004079DA 51 push ecx
...
Goreceginiz gibi, burasi 16 ayri yerden
cagriliyor. Asagilari incelemeye gerek duymadan eax degerimizi 1
olarak geri dondurebiliriz.
4079D9 xor eax,eax
4079DA inc eax
4079DB ret
Yapmamiz gereken minimum patch yukaridaki
gibi olabilir. Memory patcher kullanarak bu degerleri girersek ve loader
ile calistirirsak program registered olacak. Kime registered oldugu yazmiyor,
olsun bizce bir sakincasi yok. Unregister oldugu zaman, password 5 karakter
ile sinirli kaliyordu. Simdi bu sinir kalkmis oldu. Programin unpack
edilmis halini calistiramadik, ama programi da onsuz patch etmek zor olurdu.
|
|
Bir programı kullanarak para kazanıyorsanız, programı satın alın.