Indonesia Homesite - Tutorial Muad'Dib Reverseme

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

Muad'Dib Reverseme

Target  : Muad'Dib Reverseme
Tools   : W32DAsm v89, SoftIce v4.05

I. Introduction
Ini adalah bagian yang pertama untuk mengcrack Muad'Dib Reverseme. Seperti yang anda ketahui, program ini kecil banget, cuman 3KB, jadi kita gunakan aja W32DAsm. Oh ya, tujuan dari cracking ini adalah untuk mengubah exit button menjadi exit yang sesungguhnya, bukannya menampilkan pesan.

II. Dead listing #1
Buka aja langsung Rm1.exe dan click pada tombol Exit. Nah, sebuah pesan muncul "Your job is to make me...". Nah sekarang buka W32DAsm, disassembly Rm1.exe. Setelah selesai, kita cari pesan tadi lewat Refs->String Data References. Click dua kali, anda akan mendapatkan tampilan seperti ini:

* Reference To: KERNEL32.ExitProcess, Ord:0075h
|
:00401024 E843000000 Call 0040106C <-- keluar!
:00401029 55 push ebp
:0040102A 8BEC mov ebp, esp
:0040102C 817D0C11010000 cmp dword ptr [ebp+0C], 00000111
:00401033 751F jne 00401054 <-- jump ke mana nich?
:00401035 8B4510 mov eax, dword ptr [ebp+10]
:00401038 6683F864 cmp ax, 0064 <-- bandingkan ax dengan 64h
:0040103C 752A jne 00401068 <-- jika sama, lompat! (kembali ke program)
:0040103E 6A00 push 00000000

* Possible StringData Ref from Data Obj ->"GOAL:"
|
:00401040 682F304000 push 0040302F <-- simpan pesan dalam stack

* Possible StringData Ref from Data Obj ->"Your job is to make me work as "
->"an exit button!"
|
:00401045 6800304000 push 00403000 <-- simpan pesan dalam stack
:0040104A FF7508 push [ebp+08]

* Reference To: USER32.MessageBoxA, Ord:01BBh
| :0040104D E832000000 Call 00401084 <-- tampilkan pesan!
:00401052 EB14 jmp 00401068 <-- Kembali ke program

Stop! OK, gue kagak ngerti pada alamat 00401033 dan 0040103C nich. Tapi gue ngerti instruksi pada alamat 00401024. Itukan instruksi untuk keluar dari program!! Jadi alamat ini yang kita cari untuk mempatch, dengan instruksi JMP 0040103C. Jadi gue putuskan gunakan SoftICE.

Jalanin Rm1.exe lagi dan Ctrl+D untuk masuk ke SoftICE, pasang breakpoint bpx messageboxa dan teken F5. Sekarang click tombol Exit dan Boom! Kita kembali ke SoftICE. Clear breakpoint bc * dan kemudian pasang breakpoint pada alamat 401033: bpx 00401033 lalu teken F5. Boom! Kita kembali ke SoftICE? Walau berkali-kali kita teken F5, kita akan kembali terus ke SoftICE. Ohh jadi instruksi ini dieksekusi terus.

Sekarang kita akan pasang breakpoint pada 0040103C, soalnya alamat tadi (00401033) tidak aman untuk dipasang jmp untuk keluar dari program. Lagipula, pada alamat 00401068, kita akan melihat program tidak melakukan apapun selain ret. untuk kembali ke program (tidak exit).

* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|
:00401033(C)
|
:00401054 837D0C10 cmp dword ptr [ebp+0C], 00000010
:00401058 750E jne 00401068
:0040105A 6A00 push 00000000
:0040105C FF7508 push [ebp+08]

* Reference To: USER32.EndDialog, Ord:00B8h
| :0040105F E81A000000 Call 0040107E
:00401064 C9 leave
:00401065 C21000 ret 0010 <-- Kembali ke program

Kita lihat ada dua alamat yang memasang JMP pada alamat 00401068, yaitu sebelum kotak pesan (0040103C) dan sesudah tampilan kotak pesan (00401052). Jadi, yang mana yang akan kita patch? Jelas yang sebelum donk. Kita kan ingin langsung keluar, tanpa kotak pesan. Pasang breakpoint dengan bpx 0040103C lalu teken F5. Click tombol Exit lagi, Boom! Kita kembali ke SoftICE. Nah, sekarang kita akan ganti instruksinya dari JNE 00401068 (752A) menjadi JMP 00401024 (EBE6). Caranya? ketik a 0040103C dan teken Enter. Ketik JMP 00401024 trus teken Enter dua kali. Sekarang bc * trus teken F5.
Voila! Kita keluar dari program!

Terus      Kembali
Crack One Software Every Day Make You The Real Cracker