Tracker v3.01

http://ourworld.compuserve.com/homepages/xbeat/trackerV3/index.htm

SoftICE 3.24
SmartCheck 6.03
APISpy 2.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".

chupacabra@deadcrax.org

© Januari2000