0
Cracking Mirc Ver.5x

.
Program Mirc adalah program chatting di Internet. Program ini dibuat oleh Khaled Mardam-Bey.

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 <- Jika 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.

F10 hingga 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.
F8 hingga 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.


:0048E5B0 CMP EBX, [EBP-04]
: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



Berikut ada tambahan dari flag eRRatum, yakni rutin keygenerator mIRC 5.x dalam Pascal :

Program mIRC32 ;
uses crt ;


const magictable : array[0..159] of integer = ($0B, $00, $00, $00, $06, $00, $00, $00, $11, $00, $00, $00, $0C, $00, $00, $00
, $0C, $00, $00, $00, $0E, $00, $00, $00, $05, $00, $00, $00, $0C, $00, $00, $00
, $10, $00, $00, $00, $0A, $00, $00, $00, $0B, $00, $00, $00, $06, $00, $00, $00
, $0E, $00, $00, $00, $0E, $00, $00, $00, $04, $00, $00, $00, $0B, $00, $00, $00
, $06, $00, $00, $00, $0E, $00, $00, $00, $0E, $00, $00, $00, $04, $00, $00, $00
, $0B, $00, $00, $00, $09, $00, $00, $00, $0C, $00, $00, $00, $0B, $00, $00, $00
, $0A, $00, $00, $00, $08, $00, $00, $00, $0A, $00, $00, $00, $0A, $00, $00, $00
, $10, $00, $00, $00, $08, $00, $00, $00, $04, $00, $00, $00, $06, $00, $00, $00
, $0A, $00, $00, $00, $0C, $00, $00, $00, $10, $00, $00, $00, $08, $00, $00, $00
, $0A, $00, $00, $00, $04, $00, $00, $00, $10, $00, $00, $00, $00, $00, $00, $00) ;


var Username : string ;
i,j : integer ;
serial,k : longint ;


begin
clrscr ;
writeln('mIRC 5.x Key-Generator by flag eRRatum') ;
writeln('Please enter username (more than 4 char !) : ') ;
readln(username) ;
if length(username) <=4 then


begin
Textcolor(LightRed) ; writeln('Enter more than 4 char, Dumbo !') ;
halt ;


end;
for i:=4 to length(username) do


begin
serial:=serial+(ord(username[i])*magictable[j*4]) ;
inc (j) ; if j>$26 then j:=0 ;
end;


write('Your Serial is : ',serial,'-') ; serial:=0 ; j:=0 ;


for i:=4 to length(username) do
begin
k:=ord(username[i]) * ord(username[i-1]) ;
serial:=serial+(k * magictable[j*4]) ;
inc(j) ; if j>$26 then j:=0 ;
end ;
writeln(serial) ; textcolor(lightred) ;

end.

Source: http://www.mirc.co.uk

Bookmark and Share


0 komentar :

Posting Komentar

Silahkan tinggalkan komentar anda disini...

 
Ujie Caprone | © 2011 Blogger Template by Ujiecaprone.com