Tulisan Dasar Cracking
Selamat Datang................. Cracker..........
Tutorial Cracking :

Waste Whacker 3.2

Target  : Waste Whacker 3.2
Tool     : SoftICE v4.05

Program ini akan menampilkan tulisan "Trial Version...Purcahase it for $19.95" selama kita masih belum memasukan kode registrasi yang benar.

Seperti biasa kita memulai dengan mengamati Progrtam Target kita. Waste Whacker menyediakan menu khusus untuk memasukan Nama dan S/N bagi User yang telah membeli s/w tersebut ( Option >> Register ). Jika kita memasukan Nama dan S/N yang salah, akan tampil sebuah MessageBox bertuliskan "Registration Failed" dan tetapi kita masih tetap diperbolehkan menggunakan Waste Whacker ( baik bukan ? ;-) )

Oke sekarang ulangi langkah di atas, masukan kembali Nama dan sembarang s/n, untuk tutorial ini, aku masukin :

User Name                : CHuPaCaBRa
Registration Number  : 123454321

Sebelum menekan tombol OK, kita siapkan "Peralatan Perang" kita, masuk ke SoftICE dengan menekan Ctrl-D dan pasang Breakpoint di Hmemcpy ( BPX Hmemcpy ). Kenapa Hmemcpy ??? Aku pasang Hmemcpy karena Breakpoint ini secara umum diguanakan untuk mengambil inputan kita.

Tekan Ctrl-D kembali dan klik tombol OK. Kau akan "terlempar" masuk ke dalam SoftICE pada rutin Hmemcpy. Saat itu kau belum berada di badan program, karena itu tekan F12 beberapa kali sampai kau sudah masuk ke dalam program Waste Whacker.

Break due to BPX KERNEL!HMEMCPY
0177:00475545     MOV EDX,[EBP-0C]    ==> Kita di sini

Ketik D EDX untuk melihat apa yang baru saja dibaca oleh Hmemcpy.

:d edx
017F:00C7DF60     31 32 33 34 35 34 33 32-31 00 C7 00 D8 DF C7 00     123454321.......

Hmmm....ternyata program target kita ini membaca s/n yang kita masukan terlebih dulu. Pasang Breakpoint di memory yang bersangkutan supaya SoftICE akan berhenti jika program mencoba mengakses s/n kita. Ketik BPM 017F:00C7DF60.

Sementara ini nama kita belum dibaca, tekan F5 satu kali, SoftICE kembali akan berhenti di dalam fungsi Hmemcpy. Tekan F12 beberapa kali sampai kamu kembali ke dalam badan program.

Break due to BPX KERNEL!HMEMCPY
0177:00475561     MOV EDX,[EBP-0C]     ==> Kita di sini

Cek lagi apa yang tadi dibaca oleh Hmemcpy. Ketik D EDX kembali

:d edx
017F:00C7DF78     43 48 75 50 61 43 61 42-52 61 00 00 00 00 00 00     CHuPaCaBRa......

Pasang Breakpoint di memory tersebut, BPM 017F:00C7DF78

0177:00475564 LEA EAX,[EBX+3C]
0177:00475567   CALL 00403BB0
0177:0047556C   LEA ECX,[EBP-04]
0177:0047556F   MOV EDX,[EBX+3C]
0177:00475572   MOV EAX,[EBX+24]
0177:00475575   CALL 00474E9C
0177:0047557A   CMP DWORD PTR [EBP-04],00    ==> Cek apa User sudah memasukan nama atau belum

Buat menyingkat waktu, tekan F5, SoftICE akan berhenti jika Program mencoba mengakses Nama ataupun S/N yang kita masukan. Kamu bakal menemukan listing seperti ini :

0177:00474EF2  MOVZX ESI,BYTE PTR [EBP-09]
0177:00474EF6  MOV EAX,[EBP-08]
0177:00474EF9  MOV AL,[ESI+EAX-01] ;    ==> AL = Karakter dari nama yang kita masukan
0177:00474EFD  CALL 00402980     ==> >Rutin Call u/ merubah Huruf Kecil menjadi Huruf Besar
0177:00402980  CMP AL,61    ==> >AL < 61h ( = "a" ) ???
0177:00402983  JB 0040298D ==> Lompat, jika YA !
0177:00402985  CMP AL,7A               ==> AL > 7Ah ( = "z" ) ???
0177:00402988  JA 0040298D ==> Lompat, jika YA !
0177:0040298A  SUB AL,20               ==> AL = AL - 20h
0177:0040298D  RET
0177:00474F02  ADD AL,D0
0177:00474F04  SUB AL,0A
0177:00474F06  JB 00474F0E
0177:00474F08  ADD AL,F9
0177:00474F0A  SUB AL,1A
0177:00474F0C  JAE 00474F2F
0177:00474F0E  MOV EAX,[EBP-08]
0177:00474F11  MOV AL,[ESI+EAX-01]
0177:00474F15  CALL 00402980   ==> Perhatikan Rutin Call di atas
0177:00474F1A  MOV EDX,EAX
0177:00474F1C  LEA EAX,[EBP-1C]
0177:00474F1F  CALL 00403D00
0177:00474F24  MOV EDX,[EBP-1C]
0177:00474F27  LEA EAX,[EBP-10]
0177:00474F2A  CALL 00403DE0
0177:00474F2F  INC BYTE PTR [EBP-09]   ==> [EBP-09] = [EBP-09] + 1
0177:00474F32  DEC BL
0177:00474F34  JNZ 00474EF2   ==> Looping sampai semua Karakter dari User Name telah dirubah menjadi Huruf Besar
0177:00474F4B  CALL 00403DD8   ==>Rutin Call untuk meng-hitung Panjang Nama
0177:00474F50  MOV [EBP-15],AL   ==> [EBP-15] = Panjang Nama
0177:00474F53  MOV BYTE PTR [EBP-09],0C   ==> Panjang S/N = 0Ch ( = 12 karakter )
0177:00474F57  XOR EAX,EAX   ==>Kosongkan register EAX
0177:00474F59  MOV AL,[EBP-15]    ==> AL = Panjang Nama
0177:00474F5C  CALL 00402BA4   ==> Rutin Call untuk memilih Karakter Nama yang akan "diolah".
0177:00402BA4  IMUL EDX,[004BA040],08088405 ==> EDX=2ED03ED0h*08088405h
0177:00402BAE  INC EDX    ==> EDX = EDX + 1
0177:00402BAF  MOV [004BA040],EDX;   ==> [004BA040] = EDX
0177:00402BB5  MUL EDX   ==> EAX = EAX mul EDX
0177:00402BB7  MOV EAX,EDX   ==> EAX = EDX
0177:00402BB9  RET
0177:00474F61  INC EAX   ==> EAX = EAX + 01h
0177:00474F62  AND EAX,000000FF   ==> EAX = EAX and 000000FFh
0177:00474F67  MOV EDX,[EBP-10]   ==> EDX = User Name
0177:00474F6A  MOV BL,[EAX+EDX-01]   ==>  BL = Karakter Name pada posisi [EAX + EDX + 01]
0177:00474F6E  TEST BL,BL
0177:00474F70  JBE 00474F83
0177:00474F72  MOV EAX,0000000A   ==> EAX = 0000000Ah
0177:00474F77  CALL 00402BA4   ==> Rutin Call ini sekarang digunakan untuk menghitung S/N.
0177:00474F7C  MOV [EBP-0A],AL   ==> Hasil Rutin Call di atas dimasukan ke [EBP-0A]
0177:00474F7F  DEC BL   ==> BL = BL - 1
0177:00474F81  JNZ 00474F72   ==> Looping selama BL <> 0
0177:00474F86  XOR EAX,EAX   ==> Kosongkan Register EAX
0177:00474F88  MOV AL,[EBP-0A]    ==> AL = [EBP-0A]
0177:00474F8B  CALL 0040875C    ==> Merubah nilai AL yang berbentuk Hexa menjadi angka Decimal
0177:00474F90  MOV EDX,[EBP-1C]
0177:00474F93  LEA EAX,[EBP-14]
0177:00474F96  CALL 00403DE0  ;  ==> [EBP-14] = AL
0177:00474F9B  DEC BYTE PTR [EBP-09]   ==> [EBP-09] = [EBP-09] - 1
0177:00474F9E  JNZ 00474F57 ;   ==> Looping selama 12 kali.

Langkah di atas ( 00474F57 - 00474F9E ) akan diulang sebanyak 12 kali hingga mendapatkan sebuah serial number. Setelah keluar dari looping di atas, coba liat apa isi [EBP-14]. Ketik D *(EBP-14)

:d *(ebp-14)
017F:00C7A3E4     37 37 31 38 31 37 33 32-38 31 32 35 00 A4 4B 00     771817328125..K.

Itu dia serial number-nya :-) Disable semua Breakpoint ( BD * ) dan kembali ke Waste Whacker, register menurut nama dan serial number yang sudah tampak tadi dan hasilnya......SUKSES :-)

Kalo kamu pengen nyoba ngeKrak program lain dengan proteksi serupa, kamu bisa mencoba product DBytes lainnya di http://www.dbytes.com/

WebMaster
Terus      Kembali
Komentar dan Mailing List
Crack One Software Every Day Make You The Real Cracker