Mungkin anda pernah mempelajari bahasa pascal disekolah ataupun kuliah, bukankah gampang?berikut adalah cara membuat patch dengan menggunakan pascal yang pasti tidak pernah diajarkan disekolah ataupun kuliah, tapi untuk menjadi seorang cracker tidak perlu harus kuliah atau sekolah mahal-mahal,it's just for fun...
Pertama-tama sediakan WinRar.exe (original) tentunya..
Tool-tool yang diperlukan disassembler, debugger, hex editor, compiler, dan beberapa buku referensi..
Secangkir kopi tentunya, susu boleh juga...apalagi sekalian sumbernya... heheheee...terus cemilan & sebungkus rokok, bagi yang ngerokok....
Ok, disini aku hanya mau membahas tentang source code yang aku pake buat bikin patch buat WinRAR versi 3.41, sebenernya sih ini bisa di pake buat ngepatch program2 yang laen tinggal diganti aja data2nya..
Source ini butuh dicompile pake pascal 7 tentunya yang udah di patch..tapi di pascal 5 juga tetep bisa dicompile kok so don't worry..
yoi, disini aku kagak nerangin darimana dapat byte yang mau kita patch,soalnya catatanku yang winRAR versi lama ilang terus juga lagi banyak banget tugas numpuk..Kalo pengen tau darimana byte-byte tersebut di dapet coba aja debug sendiri tuh winrar, disarankan pake Soft-ICE..
Sebenernya sih untuk ngepatch bisa pake HexEditor untuk ngubah nilainya aja tapi kemudian sulit kalo mau mendistribusikan crack yang kita buat..
ok,mulailah debug atau disassembling itu winar.exe...
Disini patch yang dibuat adalah untuk mengalihkan program winrar ini untuk membaca kode registrasi (pada file RARREG.KEY) dari kode yang sebenarnya dengan membypassnya untuk membaca kode registrasi yang kita buat sendiri tanpa perlu menggunakan pengacakan kode yang bikin pusing....
ToDo:
Configure out the Restoring Procedure to restore patched program to original one. caranya: kembalikan nilai bytes yang di ubah menjadi nilai aslinya.
Disini aku cuman nampilin ada apa di kode tersebut:
nilai byte asli:
00002C3Bh 01 add [bx+si],ax
-> add register ax to [bx+si]
-> ax = ˇ -> it's bad -> original regkey (mungkin...)
0000D3CBh 7F jg Short 00000D3D7
-> jump if greather - ZF=0 and SF=OF
0000D3D7h 33 C0 xor ax,ax
-> hasil Xor ax = Nol
nilai byte patch:
----> kemudian byte2 tersebut kita ganti:
00002C3Bh 00 add [bx+si],al
-> add register al to [bx+si]
-> ˇ ga di add kan ke [bx+si]
0000D3CBh EB jmp Short 00000D3D7
-> Langsung ngeJump Short
0000D3D7h B0 01 mov al,01
-> mov 01 (ˇ) ke al -> our regkey (mungkin juga kali... heeee)
Keterangan tambahan:
General Purpose Registers
AX (EAX) Accumulator
BX (EBX) Base
(Exx)indicates 386+ 32 bit register
Pointer Registers
SI (ESI) Source Index
8088/8086 Effective Address (EA) Calculation
Description Clock Cycles
Displacement 6
Base or Index (BX,BP,SI,DI) 5
Displacement+(Base or Index) 9
Base+Index (BP+DI,BX+SI) 7
Base+Index (BP+SI,BX+DI) 8
Base+Index+Displacement (BP+DI,BX+SI) 11
Base+Index+Displacement (BP+SI+disp,BX+DI+disp) 12
- add 4 cycles for word operands at odd addresses
- add 2 cycles for segment override
- 80188/80186 timings differ from those of the 8088/8086/80286
pusing juga yah.. saatnya ngupi.. dan nyalakan rokok.... enak juga sambil makan gorengan...
Semoga sedikit penjelasan tadi tidak salah yah... hiXss..
Catatan:
Untuk kode-kode patch tersebut diatas dapat digunakan untuk versi winRAR yang lain aku udah mencobanya pada beberapa versi winRAR, yang perlu diperhatikan hanyalah alamat dari byte-byte tersebut biasanya semakin baru versinya alamatnya akan semakin bertambah pula..
Pertama-tama sediakan WinRar.exe (original) tentunya..
Tool-tool yang diperlukan disassembler, debugger, hex editor, compiler, dan beberapa buku referensi..
Secangkir kopi tentunya, susu boleh juga...apalagi sekalian sumbernya... heheheee...terus cemilan & sebungkus rokok, bagi yang ngerokok....
Ok, disini aku hanya mau membahas tentang source code yang aku pake buat bikin patch buat WinRAR versi 3.41, sebenernya sih ini bisa di pake buat ngepatch program2 yang laen tinggal diganti aja data2nya..
Source ini butuh dicompile pake pascal 7 tentunya yang udah di patch..tapi di pascal 5 juga tetep bisa dicompile kok so don't worry..
yoi, disini aku kagak nerangin darimana dapat byte yang mau kita patch,soalnya catatanku yang winRAR versi lama ilang terus juga lagi banyak banget tugas numpuk..Kalo pengen tau darimana byte-byte tersebut di dapet coba aja debug sendiri tuh winrar, disarankan pake Soft-ICE..
Sebenernya sih untuk ngepatch bisa pake HexEditor untuk ngubah nilainya aja tapi kemudian sulit kalo mau mendistribusikan crack yang kita buat..
ok,mulailah debug atau disassembling itu winar.exe...
Disini patch yang dibuat adalah untuk mengalihkan program winrar ini untuk membaca kode registrasi (pada file RARREG.KEY) dari kode yang sebenarnya dengan membypassnya untuk membaca kode registrasi yang kita buat sendiri tanpa perlu menggunakan pengacakan kode yang bikin pusing....
ToDo:
Configure out the Restoring Procedure to restore patched program to original one. caranya: kembalikan nilai bytes yang di ubah menjadi nilai aslinya.
Disini aku cuman nampilin ada apa di kode tersebut:
nilai byte asli:
00002C3Bh 01 add [bx+si],ax
-> add register ax to [bx+si]
-> ax = ˇ -> it's bad -> original regkey (mungkin...)
0000D3CBh 7F jg Short 00000D3D7
-> jump if greather - ZF=0 and SF=OF
0000D3D7h 33 C0 xor ax,ax
-> hasil Xor ax = Nol
nilai byte patch:
----> kemudian byte2 tersebut kita ganti:
00002C3Bh 00 add [bx+si],al
-> add register al to [bx+si]
-> ˇ ga di add kan ke [bx+si]
0000D3CBh EB jmp Short 00000D3D7
-> Langsung ngeJump Short
0000D3D7h B0 01 mov al,01
-> mov 01 (ˇ) ke al -> our regkey (mungkin juga kali... heeee)
Keterangan tambahan:
General Purpose Registers
AX (EAX) Accumulator
BX (EBX) Base
(Exx)indicates 386+ 32 bit register
Pointer Registers
SI (ESI) Source Index
8088/8086 Effective Address (EA) Calculation
Description Clock Cycles
Displacement 6
Base or Index (BX,BP,SI,DI) 5
Displacement+(Base or Index) 9
Base+Index (BP+DI,BX+SI) 7
Base+Index (BP+SI,BX+DI) 8
Base+Index+Displacement (BP+DI,BX+SI) 11
Base+Index+Displacement (BP+SI+disp,BX+DI+disp) 12
- add 4 cycles for word operands at odd addresses
- add 2 cycles for segment override
- 80188/80186 timings differ from those of the 8088/8086/80286
pusing juga yah.. saatnya ngupi.. dan nyalakan rokok.... enak juga sambil makan gorengan...
Semoga sedikit penjelasan tadi tidak salah yah... hiXss..
Catatan:
Untuk kode-kode patch tersebut diatas dapat digunakan untuk versi winRAR yang lain aku udah mencobanya pada beberapa versi winRAR, yang perlu diperhatikan hanyalah alamat dari byte-byte tersebut biasanya semakin baru versinya alamatnya akan semakin bertambah pula..
No comments:
Post a Comment