The Mind Manager v3.5

http://www.mindman.com

SoftICE 3.23

oleh

<jOtOs>

 

Pengenalan Program

Software ini aku dapat dari CHIPCD edisi 4 tahun 1999. Kegunaanya? Ini aku cuplikin dari textnya CHIPCD.
"Tuangkan semua ide-ide cemerlang Anda dengan program ini. Shareware ini akan membantu Anda membuat konsep-konsep penting dari pikiran Anda untuk kemudian diwujudkan dalam praktek.".

Essay

Software ini bersifat time trial. Kamu dikasih waktu 21 hari buat nyoba. Kalo sudah habis masa waktu, ya kudu masukin nomor serial (nggak pake user name). Format serialnya: 0000-0000-0000.
Aku dapetin serialnya dalam bentuk yang lucu. Kamu liat saja nanti.
Untuk tempat masukin license numbernya ada di menu Help->About. Nah dikanan bawah ada tombol OK dan License. Pilih aja tombol License. Kalo kamu masukin nomor serial yang salah, maka akan muncul nag screen yang ngasih contoh juga gimana masukin nomor serial yang bener.
Nah sekarang isikan nomor serial sembarang, misal: 1234-5678-1234.
Jangan Tekan OK dulu. Masuk ke SI dan pasang break point di Hmemcpy (BPX Hmemcpy). Balik ke Windows. Baru Tekan Tombol OK-nya. Bum! Kamu akan terlempar ke SI. Tekan F12 sampai badan program. Kalo di komputerku kudu tekan F12 sampe 20 kali. =-(. (Keterangan: 20 kali F12 ini kalo kamu ngeset Softice kamu pake setting yang ada di tutorial EKH. SO, coba aja cari di http://hackerlink.or.id/ekh dibagian tutorial.)
Di badan program ini kemudian aku coba dengan menekan F10 terus untuk mengetahui call yang mana yang memanggil jendela pesan salah. Aku perhatikan dan catat setiap call yang terlewati. Aha, pesan kesalahan muncul pada:

4F5870 PUSH FF
4F5872 PUSH EBX
4F5873 PUSH 00000173
4F5878 CALL 0041B973 -> call yang memanggil jendela pesan salah masukin serial.

Nah, aku telusuri call sebelumnya yang dipanggil dan ada proses perbandingannya. Yang aku temukan ini.

4F5850 CALL 004EFE80 -> ini call yang penting
4F5855 TEST EAX,EAX -> kalo nilai EAX=0 maka serial salah
4F5857 POP ECX
4F5858 JZ 004F5870 -> lompat ke rutin pesan kesalahan.

So, aku penetrate ke call tersebut (di 4F5850) dengan menekan F8. Setelah di dalamnya, aku menemukan suatu hal yang menarik, yaitu ini (terus tekan F8 sampai diperintah-perintah berikut):

4EFEE2 PUSH 58 -> simpan "X"
4EFEE4 PUSH 30 -> simpan "0"
4EFEE6 PUSH ESI
4EFEE7 LEA ECX,[EBP-10]
4EFEEA CALL 004AF7DA
4EFEEF PUSH EAX
4EFEF0 CALL 004EFF9B -> mengganti semua angka nol ("0") pada serial dengan "X"
4EFEF5 ADD ESP,0C
4EFEF8 LEA ECX,[EBP-10]
4EFEFB PUSH 30-> simpan "X"
4EFEFD PUSH 47 -> simpan "0"
4EFEFF PUSH ESI
4EFF00 CALL 004AF7DA
4EFF05 PUSH EAX
4EFF06 CALL 004EFF9B -> mengganti semua character "G" pada serial dengan angka nol ("0")
4EFF08 ADD ESP,0C
4EFF0E LEA EAX,[EBP-10]
4EFF11 PUSH EAX
4EFF12 CALL 004EFCB6 -> proses enkripsi serial

Di 4EFEF0 dan 4EFF06 dipanggil satu fungsi yang sama yaitu penggantian suatu karakter dengan karakter lain. Pemanggilan yang pertama berfungsi mengganti karakter "0" dengan "X". Sedangkan pemanggilan kedua untuk mengganti karakter "G" dengan "0". Kenapa aku bisa tau? Karena aku sudah masuk ke call itu dan menelusurinya. :). Coba kamu telusuri aja sendiri buat practice. Sedikit kok prosesnya. Dan selama menelusuri coba perhatikan isi tiap register dengan menggunakan perintah d maupun ? (untuk lebih lanjut mengenai perintah, baca tutorial softice).
SO, kalo kita inputkan serial : 0000-0000-0000 , maka akan menjadi XXXX-XXXX-XXXX. Sedangkan kalo kita inputkan GGGG-GGGG-GGGG, maka akan menjadi 0000-0000-0000. Kenapa pembuat programnya kasih yang beginian, ya? It's make me curious. Dicoba aaah. Lalu, aku clearkan semua breakpoint dengan perintah bc * , dan kembali ke windows dengan menekan control-D. Aku input GGGG-GGGG-GGGG dan aku tekan OK.
VOILA, programnya nggak ngeluarin nag screen dan ndak ada masalah lagi dengan waktu pakai yang dibatasi 21 hari. Jadi serialnya ketemu GGGG-GGGG-GGGG. Lucu ya.
Trus kenapa ada fungsi enkripsi serial? Belakangan aku telusuri dan aku tarik kesimpulan, fungsi ini buat ngibulin doang. Soalnya proses enkripsi dilakukan suatu proses yang agak njelimet dan hasilnya dibandingin dengan nomor serial awal yang kita masukin. SO, kemungkinan terbesar kalo nomor serial yang dimasukkan dengan hasil enkripsi akan bernilai sama kalo nilainya serial 0000-0000-0000. Gimana biar bisa 0000-0000-0000? Ya inputkan GGGG-GGGG-GGGG. Logika bok. I hope all of you understand.

K R A K

Gimana, ya. Kayaknya nggak perlu. =-P.

Catatan

Setelah kamu masukin GGGG-GGGG-GGGG, kamu bisa pake ini program dengan bebas tanpa di batasi waktu. Dan sorry sebelumnya kalo tutorialnya singkat banget soalnya aku buru-buru. Tapi kalo kamu ngikutin dengan teliti, gampang kok. :).

jotos@iname.com

© Juni1999