Chess Tree v1.2.1 |
SmartCheck 6.03 |
oleh
CHuPaCaBRa
Pengenalan Program |
Sedikit penjelasan program dari Chess Tree :
"Chess Tree is an exciting, innovative, new approach to chess study. Select any node along a play tree, and instantly see the board position. Study standard openings, great chess matches, and more!"
Program ini dibuat dengan bahasa pemrograman Visual Basic 6.0. Bagaimana aku tahu ??? Sederhana aja, karena pada waktu penginstallan program, aku sempat melihat file MSVBVM60.DLL di-copykan ke dalam directory Windows/System.
Essay |
Karena Chess Tree ini dibuat dengan Visual Basic 6.0 maka aku langsung berpikir untuk menggunakan Numega SmartCheck untuk meng-crack-nya dan ternyata sangat mudah untuk mengalahkan sistem proteksi program ini :-)
Jalankan program SmartCheck, pada menu File, klik Open dan cari directory tempat Chess Tree terinstal di komputer kamu, setelah itu click tombol Open untuk membuka program tersebut. Di dalam SmartCheck, kamu akan melihat sebuah Window baru dengan Title "Chess Tree - Program Transcript".
Setelah itu, click menu Program dan sub-menu Start di dalamnya untuk menjalankan program Chess Tree. SekarangSmartCheck akan menampilkan 3 buah kotak yang terletak di dalam satu Window dengan Title "Chess Tree - Program Results". Pada kotak bagian kiri, kamu akan melihat event - event yang terjadi selama Chess Tree dijalankan.
Untuk sementara, kita alihkan perhatian kita dari SmartCheck ke Chess Tree yang sudah mulai bekerja dengan menampilkan sebuah pesan yang mengingatkan bahwa program tersebut adalah program Shareware yang mempunyai batas waktu penggunaan selama 30 hari. Pada bagian bawahnya ada 4 buah tombol : More Info, Enter License, Purchase Now dan Purchase Later.
Karena kita akan mencoba meng-crack program ini, tentu saja kita harus mengklik tombol Enter License. Akan tampil kemudian sebuah Window baru dengan 3 buah pilihan License yaitu Single User License, Site License dan World-wide License.
Di tutorial ini aku hanya akan mencontohkan bagaimana mencari s/n untuk Single User License tetapi cara ini dapat dipakai untuk 2 jenis registrasi yang lain.
Masukan nama dan sembarang s/n di bawahnya, berikut adalah data yang aku masukan :
License To : CHuPaCaBRa License No : 123454321
Lalu click tombol OK di bawahnya. Sebuah MessageBox langsung tampil dengan pesan error.
Ok, sekarang kita kembali mengarahkan perhatian kita pada SmartCheck yang sedari tadi bekerja di "belakang layar". Perhatikan kotak di bagian kiri. Pada bagian paling akhir, kamu akan melihat ini :
[+] _Load [+] _Click
Sebagai newbie aku langsung menebak bahwa event Load di atas adalah proses Loading dan menampilkan pesan yang pertama kali kita lihat tadi. Event Click di bawahnya, kemungkinan besar adalah event yang terjadi ketika kita meng-click tombol Enter License tadi.
Berdasarkan asumsi itulah, aku langsung memutuskan untuk melihat apa event yang ada di dalam event Click di atas, untuk itu aku meng-click tanda [+] di samping event _Click tersebut dan inilah yang terlihat kemudian :
[-] _Click | [+] _Load | [+] _Click |
Hmm...event yang sama. Kali ini event _Load itu adalah untuk memanggil dan menampilkan Registration Window dan event _Click terjadi ketika kita mengklik tombol OK setelah memasukan nama dan s/n tadi. Click lagi tanda [+] di samping event _Click di atas dan perhatikan daftar panjang di dalamnya :
[-] _Click | [+] _Load | [-] _Click | | Trim | | Trim | | Trim | | Len returns LONG:23 | |.......[dihapus untuk menghemat tempat] | | | Format | | MsgBox returns Integer:1 | |- _Click |- _Click
Terlihat bahwa di bagian akhir, fungsi API MessageBox dipanggil. Arahkan kursor ke baris MsgBox tersebut dan perhatikan kotak di bagian kanan.
[-] prompt(variant)
| [-] String .bstrVal = 00473194
| ="Sorry. The number you entered is not correct. Please check the"
| Long buttons=0 0x00000000
[-] title(variant)
| Long .scode = -2147352572 0x80020004
[-] helpfile(variant)
| Long .scode = -2147352572 0x80020004
[-] context(variant)
Long .scode = -2147352572 0x80020004
Terlihat bukan, bahwa fungsi itu dipanggil untuk menampilkan pesan error yang sudah kita lihat sebelumnya.
Aku sendiri bukan seorang programer Visual Basic, tetapi berdasarkan logika, program tentu akan menampilkan MessageBox tersebut setelah program melakukan pengecekan apakah s/n yang kita masukan tadi salah atau benar. Karenanya aku mengarahkan kursor tepat ke bagian atas baris MsgBox tersebut, yaitu event Format.
Kotak di bagian kanan tidak menunjukan sesuatu yang bisa mengarahkan kita ke s/n yang sebenarnya. Kita harus melihat event - event tersebut dengan lebih spesifik. Click menu View dan sub-menu Show All Event. Kotak di bagian kiri tersebut akan berubah dan terlihat seperti ini :
[+] __vbaFreeStr returns DWORD:20
__vbaStrCat returns DWORD:57049C
Format ;Kita ada di sini
__vbaVarCat returns DWORD:69DF74
__vbaStrVarMove returns DWORD:570254
[+] __vbaStrMove returns DWORD:570254
[+] SysFreeString
[+] SysFreeString
__vbaStrCmp returns DWORD:1 ;fungsi untuk membandingkan String
Seperti yang terlihat di atas, ada fungsi __vbaStrCmp tak jauh di atas fungsi MsgBox. Seperti yang tersirat dari namanya, __vbaStrCmp ini adalah fungsi yang digunakan untuk membandingkan 2 buah String.
Arahkan kursor pada fungsi tersebut dan perhatikan kotak di sebelah kanan :
[-] unsigned short * string1 = 0047093C
| = "123454321"
[-] unsigned short * string2 = 00570254
= "2067668-3944471"
Tampak jelas sekali, bahwa string1 yang terlihat di atas adalah s/n yang aku masukan tadi dan dibandingkan dengan string2 yang berisi s/n-ku yang sebenarnya. So...it's cracked :-)
K R A K |
License To : CHuPaCaBRa License No : 2067668-3944471
Catatan |
Seperti yang sudah aku singgung di dalam Essay di atas, program ini memiliki 3 jenis registrasi dan yang aku tampilkan di tutorial ini hanya s/n untuk satu jenis registrasi saja, tapi itu bukan masalah karena dengan panduan tutorial ini, kamu bisa mencoba sendiri mencari s/n untuk 2 registrasi yang lain.
© Januari2000