Target : Mirc v5.x" Tools : Softice v4.05
Proteksi dari program mirc adalah serial number yang dihasilkan oleh nama yang kamu
masukkan. Serial number itu sendiri terbagi dua bagian. Bagian pertama adalah sebelum
tanda "-" dan sesudah tanda "-". Jadi maksudnya serial number yang
akan kita masukan akan dipisah oleh tanda "-".
Misalnya : 1234-56789
Note : Untuk bagian pertama wajib 4 karakter. ( 1234 ).
Pertama- tama lu pasti binggung mo mulai dari mana kan. Pertama coba lu masukkan nama
dan serial number palsu dulu. Dan apa yang terjadi "bing" ( ada suara kan ) baru
kemudian diikuti oleh window error message yang memberitahukan bahwa nama dan serial kamu
salah.
Hm.. jadi sebelum mengeluarkan pesan dia mengeluarkan bunyi dulu. Kemudian lu masuk ke
dalam Sofice (^D). Tekan bpx messagebeep. ( Menyuruh program berhenti pada proc messagebeep ).
Messagebeep adalah procedure untuk mengeluarkan bunyi.
Sesudah itu keluar dari Softice (^D), masukan nama dan
serial palsu. Misalnya nama : h3n - [eKH], serial number : 1234-5678. Kemudian Enter.
Bumm.. Kamu akan masuk ke dalam softice dan mendarat di USER32!MessageBeep.Kemudian
tekan F12 untuk keluar dari proc
Message Beep dan kembali ke proc pemangil messageBeep tsb.
:00437DF7 PUSH 00
:00437DF9 CALL USER32!MessageBeep
Gulung layar ke atas, untuk mencari baris yang memanggil proc Message Beep ini.
Ahaa, ketemu...
:00437D77 CALL
00817F8 <- Mencek Nama dan Nomer Serial
:00437D89 TEST EAX,
EAX <-
Panjang Serial Number
:00437D8B JZ
00437DF7 <-
Jika 0 maka lompat ke 00437DF7
Tentunya kita ingin tauk apa sih yang dicek pada Call
0048e608. Lalu lu tekan bc* ( bersihkan semua
breakpoint ). Terus bpx 015F:00437D77 ( Break point pada pada alamat 015F:00437D77, Tentunya alamat ini akan
berbeda dengan alamat di komputer kamu ). Lalu keluar dari SoftIce (^D). Masukkan kembali
nama dan serial kamu seperti langkah diatas kemudian enter.
Bumm.. Kamu akan masuk ke
:00437D77 push
004bfdf0 <- Nama yang tadi lu masukkan
:00437D7C push
004BFB34 <- Serial palsu yang lu masukkan
:00437D81 CALL
00817F8 <- Mencek Nama dan Nomer Serial
Tekan F8, untuk masuk ke dalam call,
F10 sampai kamu mencapai,
:0048E615 CALL
004B39C8 <- Rutin untuk mengecek panjang nama
Jika lu liat 3 baris diatas call ini lu akan liat ESI berisi
serial palsu dan EBX berisi nama palsu yang pertama kali kamu isi. Cara melihat isi ESI
dan EBX ( d ESI atau d EBX ).
Tekan F10 untuk melewati call tsb.
:0048E61B CMP EAX, 05
:0048E61E JAE 0048E624 <-
Lompat jika lebih kecil dari 5 ( Serial number bag I )
Tekan F10 sampai...
:0048E626 CALL 0048E528
Tekan F8 untuk masuk kedalam call,
Tekan F8 sampai..
:0048E534 PUSH 2D
Jika lu tekan "? 2D". Maka akan kelihatan simbol "-". Jadi program
sedang mencari simbol "-" dalam serial number.
F8 untuk masuk kedalam call selanjutnya
:0048E537 CALL 004B3974
Rutin dibawah ini adalah rutin untuk menghitung banyaknya karakter nama/serial number
yang kamu masukkan
:004B3978 MOV EDI,
[EBP+08] <- Serial number palsu dalam EDI
:004B397B MOV EDX,
EDI <- Sekarang EDX berisi serial number
:004B397D MOV ECX,
FFFFFFFF <- Memulai penghitungan
Note: Setiap kali kamu melihat FFFFFFFF dimasukkan ke dalam ECX
itu artinya untuk menghitung panjang karakter dari nama / serial number kamu.
:004B3982 XOR AL,
AL
<- AL dinolkan
:004B3984
CLD <- Bersihkan semua flag untuk operasi string
:004B3985 REPNZ
SCASB
<- ketika tdk sama
0 baca string
:004B3987 NOT
ECX
<- ECX = panjang
string + 1
:004B3989 MOV EDI,
EDX <- EDI berisi serial palsu
:004B398B MOV AL, [EBP+0C]
Ahhha...AL sekarang berisi 2D. Jadi program sekarang sedang mengecek simbol
"-" dalam serial number
:004B398E REPNZ
SCASB
<- Ketika tidak 0
baca string
:004B3990 JNZ
004B3998 <- Tidak ada "-", lalu
lompat
:004B3992 LEA EAX,
[EDI-01] <- Berisi serial number dari "-" sampai
<- serial number terakhir di EAX
F8 sampai ...
:0048E53C ADD ESP, 08
:0048E53F MOV EBX,
EAX <-Berisi serial number dari "-" sampai
<-
serial number terakhir di EBX
:0048E541 TEST EBX,
EBX <- >Apakah EBX berisi nilai
:0048E543 JNZ
0048E54C <- ika tidak 0 maka ada
Program akan lompat ke :0048e54c jika ada simbol "-" didalam serial number.
:0048E54C MOV BYTE PTR [EBX], 00 <- ganti simbol "-" menjadi
nol
:0048E54F PUSH ESI
Jika kamu tekan d ESI maka akan terlihat serial number tanpa simbo "-"
:0048E550 CALL 004B8D5C
F8 untuk masuk kedalam call
F8 sampai
:004B8D66 MOV AL, [EDX]
baris diatas akan memasukkan serial palsu ke dalam al
F8 sampai
:004B8DA0 CMP AL,
30 <- Apakah karakter '0'?
:004B8DA2 JL 004B8DA8
:004B8DA4 CMP AL,
39 <- Apakah karakter '9'?:004B8DA6 JLE 004B8D90
Baris diatas adalah untuk mengecek apakah Al berisi karakter diantara karakter '0' dan
'9'
F8 hingga...
:0048E56A CALL 004B8D5C
Pada baris ini program akan memasukkan simbol "-" kembali kedalam serial
number.
F8 untuk masuk kedalam call.
F8 hingga mencapai
:0048E577 CALL 004B39C8
Sebelum sampai call diatas program akan memasukkan nama ke dalam eax dengan cara push
F8 untuk masuk ke dalam call diatas
Jika lu pelajari call diatas seperti call tsb berguna untuk menghitung banyaknya karakter
nama yang kamu masukkan.
F10hingga kamu keluar dari call tsb
Kemudian F8 hingga ..
:0048E594 MOVZX ESI, BYTE
PTR [ECX]
:0048E597 IMUL ESI,
[EAX*4+004CCB30]
:0048E59F ADD EBX, ESI
:0048E5A1 INC EAX
:0048E5A2 CMP EAX, 26
:0048E5A5 JLE 0048E5A9
Hm.. Sepertinya baris diatas melakukan suatu perhitungan.
F8hingga mencapai :0048E5AE
:0048E5AE JL 0048E594
Selanjutkan lu akan melihat..
:0048E5B0 CMP EBX, [EBP-04]
Jika lu d EBP-04 akan terlihat
1617:00034567 FD 02 00 00 00 00......
Hm.. FD 02 apa maksudnya yah ? Coba ? FD 02. Binggo akan terlihat 1234 ( serial number
sebelum simbo "-" ). Aha rupanya baris diatas sedang membanding serial number
bagian I ( serial number sebelum simbol "-" dengan sesuatu. Berarti ini pasti
serial number asli juga sebelum tanda "-". Kemudian elo ketik ? EBX, maka akan
terlihat
xxxxxxxx 00005660 "xxxxx"
Nah 5660 inilah serial number aslinya. Catat di dalam kertas. Eiitt tapi ini belom
selesai. Soalnya masih ada serial number yang bagian keduanya. Masih ingat kan serial
number yang sesudah simbol "-"
Kemudian bd* (Disable breakpoint). Kemudian lu ketik bpx 15F:0048E5B0 ( Alamat ini akan
berbeda dengan alamat di komputer lu, jadi disesuaikan. pada alamat CMP EBX, [EBP-04]
diatas ).
Sekarang keluar dari Softice ( ketik X, sampai keluar dari Softice dan kembali ke mirc
). Kemudian lu masukkan nama dan serial kembali. Tapi ingat isikan serial number sebelum
simbol "-" dengan serial yang tadi kamu catat. Untuk serial number sesudah
simbol "-" adalah terserah lu.
Setelah itu register, bumm.. lu masuk lagi ke dalam SoftIce.
:0048E5B3 JZ
0048E5B9
Tekan F8 hingga :
:0048E5EE JL 0048E5CD
F8 baris diatas hingga
:0048E5F0 CMP EBX, [EBP-08]
Hm.. Perbandingan lagi. Ketik ? EBP-08, binggo akan terlihat serial number sesudah
simbol "-" seperti yang tadi kamu masukkan. Kemudian ketik ? ebx, Nahhh ini
serial number asli untuk sesudah simbol "-". Catat di dalam kertas.
tekan bc* ( Clear all breakpoint ). Tekan X untuk keluar dari SoftIce. Sekali kamu
masukann nama dan Serial number yang telah kamu catat tadi. Bangg.. Yess Itsss workk :).
Program telah dicracked. Lu baru saja membeli produk Mirc. :)
Untuk serial number milik gua
Nama : h3n - [eKH]
Serial Number : 5996 - 430478
|