Tracker v3.01 |
http://ourworld.compuserve.com/homepages/xbeat/trackerV3/index.htm |
SoftICE
3.24 |
oleh
CHuPaCaBRa
Pengenalan Program |
Sedikit penjelasan mengenai Tracker v3.01 :
"TrackerV3 is an Advanced File System Explorer with targets power users who are looking for a real alternative to the Windows Explorer. TrackerV3 is easy to install, easy to use, and easy to remove ... so have a try!"
Essay |
Untuk meng-crack program ini, aku menggunakan 3 pendekatan yang sedikit berbeda dengan meenggunakan 3 buah Tool yang berbeda. Karena itu, untuk menjelaskan langkah - langkah yang aku gunakan, aku membagi Tutorial ini menjadi 3 bagian untuk 3 pendekatan yang berbeda.Oke....cukup basa - basinya, sekarang kita langsung ke praktek-nya :-)
1. Menggunakan SoftICE
Isi Nama dan Code pada bagian Registrasi, berikut data yang aku masukan :
Nama : CHuPaCaBRa Code : 123454321
Sebelum menekan tombol OK, masuk dulu ke dalam SoftICE dan pasang BreakPoint pada Hmemcpy ( BPX Hmemcpy ). Setelah kembali ke Windows dan menekan tombol OK, kamu bakal terlempar ke dalam SoftICE, tepatnya pada fungsi Hmemcpy. Tekan F12 selama beberapa kali sampai kamu sampai pada listing program MSVBMV50.DLL ( perhatikan tulisan yang tertera di bawah Code Window ). Dari sini dapat kita ketahui bahwa program ini ditulis dengan bahasa pemrograman Visual Basic 5.0.
0177:7B313648 CMP ESI,0C 0177:7B31364B JBE 7B3138E0 0177:7B313651 CMP ESI,00000081 0177:7B313657 JBE 7B31391C 0177:7B31391C JZ 7B31398C 0177:7B31391E CMP ESI,30
Program yang dibuat dengan Visual Basic 5.0 mempunyai kemiripan pada bagian pengecekan serial number, karena itu pekerjaan kita akan lebih mudah jika kita bisa mendapatkan tempat pengecekan s/n tersebut. Untuk mencarinya, ketik perintah di bawah ini :
S 0 L FFFFFFFF 56,57,8B,7C,24,10,8B,74,24,0C,8B,4C,24,14
Deretan angka - angka di atas mewakili perintah - perintah pengecekan yang akan kita cari. Setelah menekan tombol Enter, kamu akan melihat tulisan ini :
Pattern found at 017F:7B2FD9EA (7B2FD9EA)
Ini berarti, pola tersebut ditemukan pada lokasi memory 017F:7B2FD9EA ( kemungkinan besar alamat ini tidak sama dengan yang ada di komputer kamu ). Ketik perintah di bawah ini untuk melihat perintah pengecekan tersebut :
:u 017F:7B2FD9EA
0177:7B2FD9EA PUSH ESI 0177:7B2FD9EB PUSH EDI 0177:7B2FD9EC MOV EDI,[ESP+10] 0177:7B2FD9F0 MOV ESI,[ESP+0C] 0177:7B2FD9F8 XOR EAX,EAX 0177:7B2FD9FA REPZ CMPSW 0177:7B2FD9FD JZ 7B2FDA04
Pasang BreakPoint pada alamat tersebut ( BPX 017F:7B2FD9EA ) dan tekan F5, program akan berjalan seperti biasa dan akan berhenti jika mencapai alamat yang telah diberi BreakPoint. Karena itu, program akan berhenti di baris - baris perintah di atas. Setelah melewati offset 7B2FD9EC dan 7B2FD9F0, perhatikan isi EDI dan ESI dengan mengetikan perintah :
:d edi 017F:004AE77C 31 00 32 00 33 00 34 00-35 00 34 00 33 00 32 00 1.2.3.4.5.4.3.2. 017F:004AE78C 31 00 00 00 00 00 00 00-73 00 00 00 24 00 00 A0 1.......s...$... :d esi 017F:004AF4C4 41 00 2D 00 36 00 38 00-30 00 35 00 35 00 30 00 A.-.6.8.0.5.5.0. 017F:004AF4D4 00 00 20 00 76 00 00 00-29 00 00 00 34 00 00 A0 .. .v...)...4...
Ternyata EDI berisi s/n yang tadi kita masukan secara acak dan ESI menyimpan s/n yang seharusnya dimasukan. Masukan code A-680550 sebagai pengganti 123454321 dan......cracked :-)
2. Menggunakan SmartCheck
Program Tracker ini adalah program yang dibuat oleh Visual Basic 5.0, oleh karena itu, kita juga dapat menggunakan SmartCheck untuk meng-kraknya.
Caranya sangat mudah, jalankan Tracker dari dalam SmartCheck lalu seperti biasa, masuk ke bagian Registrasi dan masukan nama serta code kamu. Setelah kamu menekan tombol OK, kamu akan dihadapkan pada Error Message, tapi itu tidak penting. Perhatikan perubahan yang terjadi pada SmartCheck. Pada window bagian kiri, terlihat baris - baris event yang terjadi selama kita menjalankan program Tracker tersebut. Salah satunya adalah :
[+]cmdOK_Click
Ini adalah kumpulan event - event yang terjadi setelah tombol OK kita tekan tadi. Klik pada tanda plus ( [+] ) untuk membukanya.
[-]cmdOK_Click
| txtUserName.Text
| txtRegCode.Text
| String$
| UCase$ ;karakter nama menjadi huruf besar
| Mid$ ;Nama = 'CHUPACABRA'
| ....dst
| Double(680550)-->Long(680550)
| Chr$
| Double(680550)-->String("680550") ;Merubah angka menjadi String 680550
| MsgBoxreturns Integer:1 ;Menampilkan MessageBox
Tempatkan mouse / kursor ( highlight ) pada baris Double(680550)-->String("680550"), lalu klik menu View di SmartCheck dan klik sub-menu Show All Events. Kini semua event ditampilkan secara lebih mendetail :
[+]Double(680550)-->String("680550")
__vbaStrMove
[+]__vbaStrCat
__vbaStrMove
[+]__vbaFreeStrList
__vbaFreeStr
__vbaStrMove
__vbaStrCmp
Turunkan kursor perlahan - lahan ke bawah. Pada saat mencapai baris __vbaStrCmp, lihat window SmartChcek yang terletak di bagian kanan :
[-]unsigned short * string1 = 004AFD80 = "123454321" ;S/N palsu yang kita masukan [-]unsigned short * string2 = 004AEE04 = "A-680550" ;S/N asli yang harus kita masukan
A-ha....program cracked :-)
3. Menggunakan APISpy dan SoftICE
Untuk pendekatan ketiga, aku akan menggunakan kombinasi 2 peralatan yaitu APISpy, untuk melihat fungsi - fungsi API yang digunakan dan SoftICE untuk melakukan Debugging.
Jalankan Tracker dari dalam APISpy tetapi sebelumnya, import dulu fungsi - fungsi API yang ada di MSVBMV50.DLL dengan menekan tombol Import di bagian bawah. Tambahkan fungsi - fungsi API yang kira - kira berhubungan dengan manipulasi string seperti :
__vbaStrCat (void)
__vbaStrCmp (void)
__vbaStrComp (void)
__vbaStrCompVar (void)
dan lain - lain....
Ok...pada program Tracker, masukan nama dan code seperti biasa dan tekan tombol OK, perhatikan perubahan yang terjadi pada APISpy setelah penekanan tombol tersebut :
00476F3A:__vbaStrCat() 00476F3C:__vbaStrCat = 4AF948 00476F5A:__vbaStrCat() 00476F5C:__vbaStrCat = 4AF4C4 00476302:__vbaStrCmp() 00476308:__vbaStrCmp = 1
Terlihat bahwa, Tracker menggunakan fungsi API __vbaStrCat dan __vbaStrCmp setelah kita menekan tombol OK. Kembali ke SoftICE dan pasang BreakPoint pada kedua fungsi API tersebut :
BPX msvbvm50!__vbaStrCat
BPX msvbvm50!__vbaStrCmp
Setelah memasukan nama dan code serta menekan tombol OK,kamu bakal terlempar ke dalam SoftICE, tekan F12 dan kamu bakal melihat listing program seperti berikut :
0177:00476302 CALL [MSVBVM50!__vbaStrCmp] 0177:00476308 NEG EAX 0177:0047630A SBB EAX,EAX 0177:0047630C LEA ECX,[EBP-20] 0177:0047630F INC EAX 0177:00476310 LEA EDX,[EBP-24] 0177:00476313 NEG EAX
Sampai di sini, periksa isi Register ECX dan EDX dengan mengetikan perintah berikut :
:d *ecx 017F:004AE77C 31 00 32 00 33 00 34 00-35 00 34 00 33 00 32 00 1.2.3.4.5.4.3.2. 017F:004AE78C 31 00 00 00 00 00 00 00-73 00 00 00 24 00 00 A0 1.......s...$... :d *edx 017F:004AF4C4 41 00 2D 00 36 00 38 00-30 00 35 00 35 00 30 00 A.-.6.8.0.5.5.0. 017F:004AF4D4 00 00 20 00 76 00 00 00-29 00 00 00 34 00 00 A0 .. .v...)...4...
Kaya'-nya aku ngak perlu kasi' penjelasan lagi khan ??? ;-P
K R A K |
Nama : CHuPaCaBRa Code : A-680550
Catatan |
Dari 3 pendekatan di atas, bisa kamu liat bahwa dengan menggunakan APISpy, pekerjaan kita bisa dapat dipercepat karena dengan APISpy tersebut, kita sebagia cracker dapat langsung mengetahui fungsi - fungsi API mana yang patut "diserang".
© Januari2000