|
Tutorial Cracking : CTMailer v1.55
|
Target : CTMailer v1.55
Tool : SoftIce v4.05
Sip, jalankan programnya, elu akan dikasih nag supaya register, click di
register, seperti biasa tulis nama apa saja, serial terserah anda, pasang BPX di
getwindowtexta (hmemcpy juga OK, tapi udah gua test dia memang make getwindowtexta). Tekan
Ok, lalu tekan F5 sekali lagi (untuk membiarkan program membaca serial kamu), lalu tekan
F12 sekali sampai ke badan program. Lalu trace(F10) sampai kamu ketemu dengan kode berikut
:
:00406575 E8CE190000 CALL 00407F48
:0040657A 8B6804 MOV EBP,[EAX+04]
:0040657D 8D4C2410 LEA ECX,[ESP+10]
:00406581 E8BA180000 CALL 00407E40
:00406586 8D4760 LEA EAX,[EDI+60]
:00406589 8D4C2410 LEA ECX,[ESP+10]
:0040658D 89442418 MOV [ESP+18],EAX
:00406591 C744242C00000000 MOV DWORD PTR [ESP+2C],00000000
:00406599 8B00 MOV EAX,[EAX]
:0040659B 50 PUSH EAX
:0040659C 68FCE04000 PUSH 0040E0FC -->> Const : "CTMAILER"
:d 40e0fc
:0040E0FC 43 54 4D 41 49 4C 45 52-25 73 00 00 25 6C 64 2D CTMAILER%s..%ld-
:004065A1 51 PUSH ECX
:004065A2 E889190000 CALL 00407F30 -->> strcat(Const + UserName) !
:004065A7 8B54241C MOV EDX,[ESP+1C]
:d edx
:006645C0 43 54 4D 41 49 4C 45 52-66 6C 61 67 20 65 52 52 CTMAILERflag eRR
:006645D0 61 74 75 6D 00 6E 6F 6C-6F 67 69 65 73 5C 43 54 atum.nologies\CT
:004065AB 83C40C ADD ESP,0C
:004065AE 8D442414 LEA EAX,[ESP+14]
:004065B2 8BCD MOV ECX,EBP
:004065B4 52 PUSH EDX
:004065B5 50 PUSH EAX
:004065B6 E865B8FFFF CALL 00401E20 -->> rutin serial
Memory Echo Compare !
:004065BB 8B7764 MOV ESI,[EDI+64]
:004065BE 8B00 MOV EAX,[EAX]
:004065C0 8D4F64 LEA ECX,[EDI+64]
:004065C3 894C241C MOV [ESP+1C],ECX
:004065C7 8A10 MOV DL,[EAX] -->> Serial asli
:004065C9 8A1E MOV BL,[ESI] -->> Serial kita
:004065CB 8ACA MOV CL,DL -->> bandingkan
:004065CD 3AD3 CMP DL,BL
:004065CF 751E JNZ 004065EF
End of memory echo
:004065D1 84C9 TEST CL,CL
:004065D3 7416 JZ 004065EB
:004065D5 8A5001 MOV DL,[EAX+01]
:004065D8 8A5E01 MOV BL,[ESI+01]
:004065DB 8ACA MOV CL,DL
:004065DD 3AD3 CMP DL,BL
:004065DF 750E JNZ 004065EF
Sekarang lihat baik baik serial yang digenerate oleh fucking(program) buat nama
gue, flag eRRatum -->> 7643-8718-1175 , ingat baik baik ini. (Ada bagusnya memang
setiap ingin mencari/membuat keyGenZ kamu mengetahui serial yang digenerate dulu, ini
dalam banyak kasus bisa mempercepat tracing, kamu akan tahu setelah ini ;)
Rutin Serial :
:00401E20 83EC54 SUB ESP,54
:00401E23 53 PUSH EBX
:00401E24 55 PUSH EBP
:00401E25 56 PUSH ESI
:00401E26 57 PUSH EDI
:00401E27 8B7C246C MOV EDI,[ESP+6C]
:00401E2B 83C9FF OR ECX,-01
:00401E2E 33C0 XOR EAX,EAX
:00401E30 33F6 XOR ESI,ESI
:00401E32 33ED XOR EBP,EBP
:00401E34 33DB XOR EBX,EBX
:00401E36 F2AE REPNZ SCASB
:00401E38 F7D1 NOT ECX
:00401E3A 49 DEC ECX
:00401E3B 89742410 MOV [ESP+10],ESI
:00401E3F 8BF9 MOV EDI,ECX
:00401E41 3BFE CMP EDI,ESI
:00401E43 7E34 JLE 00401E79
Loop Username
:00401E45 8B44246C MOV EAX,[ESP+6C] -->> UserName
:00401E49 0FBE0C06 MOVSX ECX,BYTE PTR [EAX+ESI] -->> karakter dalam ascii
:00401E4D 51 PUSH ECX
:00401E4E FF1554A44000 CALL [0040A454] -->> eax = uppercase(ecx)
:00401E54 8BD0 MOV EDX,EAX -->> edx = eax
:00401E56 83C404 ADD ESP,04
:00401E59 81E201000080 AND EDX,80000001 -->> apakah hasil and = 0?
:00401E5F 7905 JNS 00401E66
:00401E61 4A DEC EDX
:00401E62 83CAFE OR EDX,-02
:00401E65 42 INC EDX
:00401E66 750A JNZ 00401E72 -->> tidak lompat, ya lanjut !
:00401E68 8D44800A LEA EAX,[EAX*4+EAX+0A] -->> eax*5+0Ah
:00401E6C 8D6C4500 LEA EBP,[EAX*2+EBP+00] -->> eax*2+ebp
:00401E70 EB02 JMP 00401E74
:00401E72 03E8 ADD EBP,EAX -->> ebp+eax (ini jika hasil and != 0)
:00401E74 46 INC ESI -->> counter
:00401E75 3BF7 CMP ESI,EDI
:00401E77 7CCC JL 00401F45
:00401E79 33F6 XOR ESI,ESI
:00401E7B 85FF TEST EDI,EDI
:00401E7D 7E33 JLE 00401EB2
End Loop, start Loop Username2 :
:00401E7F 8B4C246C MOV ECX,[ESP+6C] -->> UserName
:00401E83 0FBE140E MOVSX EDX,BYTE PTR [ECX+ESI] -->> karakternya satu
persatu
:00401E87 52 PUSH EDX
:00401E88 FF1554A44000 CALL [0040A454] -->> eax=uppercase(edx)
:00401E8E 8BC8 MOV ECX,EAX
:00401E90 83C404 ADD ESP,04
:00401E93 81E101000080 AND ECX,80000001 -->> Apa hasil end = 0 ?
:00401E99 7905 JNS 00401EA0
:00401E9B 49 DEC ECX
:00401E9C 83C9FE OR ECX,-02
:00401E9F 41 INC ECX
:00401EA0 7504 JNZ 00401EA6 -->> tidak lompat, sama lanjutkan
:00401EA2 03D8 ADD EBX,EAX
:00401EA4 EB07 JMP 00401EAD
:00401EA6 8D54800A LEA EDX,[EAX*4+EAX+0A]
:00401EAA 8D1C53 LEA EBX,[EDX*2+EBX]
:00401EAD 46 INC ESI
:00401EAE 3BF7 CMP ESI,EDI
:00401EB0 7CCD JL 00401F7F
End Loop Username2
Seperti yang elu lihat, loop1 dan 2 sangat mirip, kecuali pada syarat hasil And, yang
sengaja dibalik oleh username, perhatikan lagi biar mengerti.
Hasil dari Loop1 = ebp
Hasil dari Loop2 = ebx
Sekarang ketikkan ? ebp dan ? ebx, suprise suprise !!! ebp = 7643d dan ebx = 8718d , Guess
;) Ini adalah part 1 dan 2 dari serial tercinta kita.
:00401EB2 3BEB CMP EBP,EBX -->> gedean siapa ?
:00401EB4 7E06 JLE 00401EBC
:00401EB6 8BC5 MOV EAX,EBP -->> kalau ebp lebih besar, maka kurangkan dia
:00401EB8 2BC3 SUB EAX,EBX -->> dengan ebx(loop2)
:00401EBA EB04 JMP 00401EC0
:00401EBC 8BC3 MOV EAX,EBX -->> kalau ebp lebih kecil, maka kurangkan ebx
:00401EBE 2BC5 SUB EAX,EBP -->> dengan ebp(loop1)
:00401EC0 83C064 ADD EAX,64 -->> baik lebih besar/kecil, tambah dengan 64h
Ketikkan ? eax, suprise lagi sama dengan 1175d, sekarang kita tahu bagaimana
program mengenerate serial dalam 3 bagian, kamu langsung bisa menebak bahwa code code
dibawah ini hanya mengconvert dulu 3 bagian tersebut ke string, dan memasangkannya dengan
tepat ! Ini sebabnya kenapa gua bilang kadang bisa lebih cepat ...
:00401EC3 50 PUSH EAX
:00401EC4 53 PUSH EBX
:00401EC5 55 PUSH EBP
:00401EC6 8D442420 LEA EAX,[ESP+20]
:00401ECA 6808E14000 PUSH 0040E108
:00401ECF 50 PUSH EAX
:00401ED0 FF15ACA44000 CALL [USER32!wsprintfA]
:00401ED6 8B74247C MOV ESI,[ESP+7C]
:00401EDA 83C414 ADD ESP,14
:00401EDD 8D4C2414 LEA ECX,[ESP+14]
:00401EE1 51 PUSH ECX
:00401EE2 8BCE MOV ECX,ESI
:00401EE4 E8AB5F0000 CALL 00407E94
:00401EE9 8BC6 MOV EAX,ESI
:00401EEB 5F POP EDI
:00401EEC 5E POP ESI
:00401EED 5D POP EBP
:00401EEE 5B POP EBX
:00401EEF 83C454 ADD ESP,54
:00401EF2 C20800 RET 0008
Dengan cepat kita dapat membuat KeyGenZ untuk mereverse program ini
|