The Mind Manager v3.5 |
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. :).
© Juni1999