Rabu, 14 Desember 2011





Berikut ini Update dari versi sebelumnya..
Injector Full prosess dengan multi inject file *.dll
langsung aja ya download

Minggu, 11 Desember 2011

Gambar Terposting
Lama rasanya ga update blog ( maklum sibuk di dunia nyata + pekerjaan jg )
Ok..
To the point aja
Disini ane cuma mau berbagi Injector buatan ane, sebenarnya ga sepenuhnya coding dari ane sih soalnya sebagian ngambil codingan dari berbagai coding yang bertebaran di “mbah google” tapi ga jiplak lo
Disini cuma injector aja ( ga ada file *.dll untuk di inject, hanya ada file *.dll pembantu buat injector )

Fitur :
  • Injecor dengan list program prosess (refresh dan kill program)
  • Injector dengan prosess windows/ title aplication ( ex : PointBlank )
  • Injector dengan prosess *.exe ( ex : PointBlank.exe )
  • Auto inject / Inject otomatis ( Inject otomatisya di centang )
  • Manual Inject ( Button Inject dan Numpad 0 untuk inject )
  • Inject ke game Point Blank ( di bagian option pilih PB )
  • Dengan musik SFX ( dibagian label SFX on, untuk play dan pause )
Dan fitur-fitur yang lain
Langsung download
Scan vitot

Minggu, 24 Juli 2011


Posted Image

Credit By : Me ( zaya razta)

Special Thnk'z to : 
-  Anak2 N3 yg bantu clue
-  Google
-  Forum2 lain yang ga bisa disebutin satu2
-  Semua yang baca

Tutorial Inject :
•Buka zkyE Full Hack.exe
•Buka PB
•Start
•Klik Happy Cheating
•Trus tinggal ENTER ( jangan sampai klik kanan ya)

>>Fitur-Fitur dan Hotkey :



Hotkey : Up Arrow
• M.Speed SSG-69
• M.Speed K-2
• M.Speed K-5
• M.Speed SG GOSONG

Hotkey : Insert
• Invicible Time All Map
• No Respawn All Map
• Boom Has Been Planted 0 Second

Hotkey : F1
• MP7 Ext. Recoil
• K-1 Recoil
• K-2 Recoil
• K-5 Recoil
• Recoil AK Sopmod Point
• Recoil AK Sopmod Cash
• AK-47 Recoil
• SSG-69 Recoil

Hotkey : Auto On Harus RM
• Burst K-1
• Burst K-2
• Burst K-5
• Burts PSG
• Burst SSG-69
• Burts PSG SI
• Burts Magnum Cash
• Burst Magnum Point
• Burts Rangemaster.388
• Burts Dragonuv CG
• Burts Dragonuv DG
• 1Hit MP7 Ext.
• 1Hit AK Sopmod Point
• 1Hit AK Sopmod Cash
• 1Hit K-1
• 1Hit K-2
• 1Hit K-5
• 1Hit 1Hit AK-47
• 1Hit Pistol

Hotkey : Auto On
• 1Hit SG Gosong
• 1Hit SPASH Cash
• 1Hit SPASH Point
• 1Hit SG Putar

F12 = Quit Point Blank

Hotkey : [Home] - [End] ( Kadang bisa Kadang gak, jadi mohon maklum)
• Unlimited HP ON
• Unlimited HP OFF

Hotkey : Page Up - Page Down
• Unlimited Ammo K-1 ON
• Unlimited Ammo K-1 OFF

Tutorial :
[*] ON kan saat loading map
[*] Setelah Respawn Selesai OFF kan
[*] Jika Mati (DM) ON kan Saat Menunggu 4 Detik
[*] Jika Mati (BM) ON kan Saat Setelah Di Kill/Menunggu Ke Round Berikut
[*] Setelah Respawn Selesai OFFkan Lagi Kembali:

Download

Scan Vitot

Sabtu, 23 Juli 2011



Fiture :
*Wallhack kaca
*1 Hit Spas Point/Puter
*1 Hit SG Kosong + batik
*1 Hit Mp 7
*1 Hit p90 M.C| P90 EXT| P90 MCD

*1 Hit k2
*1 Hit k1

*1 Hit K5\Postol
*1 Hit f200
*1Hit M4A1
1 HIT AK SOPMOD D
1 HIT AUG A3 D

*No recoil|Akurasi 100%
*Automatic exit process pb
 
Hotkey :
1 Hit SG spas|puter = Caplock
1 Hit Sg kosong = Numlock
1 Hit k2,k5,p90 dll = Scroll lock (terletak di bagian keyboard kanan atas)
Wallhack On = Home
Wallhack Off = End
No recoil = F5
automatic exit pb = f12
Bonus Cheat = F11


Cara pakai :
-Buka injecotor
-Masukan password
-Login Injector
-Buka PB launcher
-Start PB
-Automatic inject
-Masukan password (Password sama)
-Automatic inject



Credit :
X-maho(Andrie_DK)

Special thanks to :
Maho-Sejati| ferry-adanya >> untuk SC nya

Nb :
kalau butuh DLL gak usah pusing nyari , karena injecor tersebut sudah di fasilitasi auto hider[jadi gak mungkin ketemu]...



Download

KODE-KODE ASSEMBLY

Instruksi
Perintah yang dibicarakan dalam bahasa assembly bukan perintah seperti bahasa manusiawi. Komputer hanya mempunyai dalam jumlah terbatas perintah sederhana yang dirumuskan dengan baik. Perintah biasa yang dipahami kebanyakan komputer ialah "menyalin isi sel 123, dan tempat tiruan di sel 456", "menambahkan isi sel 666 ke sel 042, dan tempat akibat di sel 013", dan "jika isi sel 999 adalah 0, perintah berikutnya anda di sel 345".
Instruksi diwakili dalam komputer sebagai nomor - kode untuk "menyalin" mungkin menjadi 001, misalnya. Suatu himpunan perintah khusus yang didukung oleh komputer tertentu diketahui sebagai bahasa mesin komputer. Dalam prakteknya, orang biasanya tidak menulis perintah untuk komputer secara langsung di bahasa mesin tetapi memakai bahasa pemrograman "tingkat tinggi" yang kemudian diterjemahkan ke dalam bahasa mesin secara otomatis oleh program komputer khusus (interpreter dan kompiler). Beberapa bahasa pemrograman berhubungan erat dengan bahasa mesin, seperti assembler (bahasa tingkat rendah); di sisi lain, bahasa seperti Prolog didasarkan pada prinsip abstrak yang jauh dari detail pelaksanaan sebenarnya oleh mesin (bahasa tingkat tinggi).

KODE-KODE BAHASA ASSEMBLY DAN FUNGSINYA

1) MOV
- Instruksi MOV digunakan untuk menyalin data antara 2 operand.
2) MOVC
- Instruksi MOVC digunakan untuk menyalin data yang terdapat pada memori program internal.



3) MOVX
- Intruksi MOVX digunakan untuk menyalin data yang terdapat pada memori program eksternal.
4) ADD
- Intruksi ADD digunakan untuk melakukan operasi penjumlahan akumulator dengan suatu operand dan hasilnya disimpan dalam akumulator.
5) SUBB
- Intruksi SUBB digunakan untuk melakukan operasi pengurangan akumulator dengan suatu operand dan hasilnya disimpan dalam akumulator.
6) MUL AB
- Digunakn untuk melakukan operasi perkaliasn antara akumulator dengan register B. Hasinya berupa data 16 bit dengan low byte pada A dan high byte pada B.
7) DIV AB
- Instruksi DIV AB digunakan untuk melakukan operasi pembagian antara akumulator dengan register B. Hasilnya pembagian disimpan pada akumulator dan sisa pembagian disimpan pada register B.
8) DEC
- Instruksi DEC digunakan untuk melakukan pengurangan sebesar Satu pada suatu operand.
9) INC
- Inturksi NIC digunakan untuk melakukan penambahan sebesar Satu pada suatu operand.
10) ORL
- Instruksi ORL digunakan untuk melakukan operasi OR antara dua operand.
11) ANL
- Instruksi ANL digunakan untuk melakukan operasi AND antara dua operand.
12) CPL
- Instruksi CPL digunakan untuk melakukan operasi komplemen suatu operand.
13) RR
- Instruksi RR digunakan untuk melakukan operasi pergeseran ke kanan sebanyak 1 bit.
14) RL
- Instruksi RL digunakan untuk melakukan operasi pergeseran ke kiri sebanyak 1 bit.
15) SWAP
- Intruksi SWAP digunakan untuk melakukan operasi pertukaran data low nible dan high nible.
16) SETB
- Instruksi SETB digunakan untuk memberikan logik 1 pada bit operand.
17) CLR
- Instruksi CLR digunakan untuk memberikan logik 0 pada bit operand.
18) PUSH
- Instruksi PUSH digunakan untuk menyimpan operand ke dalam stack.
19) POP
- Instruksi POP digunakan untuk mengembalikan nilai operand dari stack.
20) JMP
- Instruksi JMP digunakan untuk melakukan lompatan ke suatu blok program.
21) JB (jump if Bit)
- Instruksi JB digunakan untuk melakukan lompatan ke suatu blok program jika niali operand 1 (bit) atau 0 (Not Bit)
22) JNB (jump if Not Bit)
- Intstruksi JNB digunakan untuk melakukan lompatan ke suatu blok program jika niali operand 1 (bit) atau 0 (Not Bit)
23) JZ (jump if zero)
- Instruksi JZ digunakan untuk melakukan lompatan ke suatu blok program jika nilai jika operand 0 (Zero) atau <> 0(Not Zero)
24) JNZ
- Instruksi JZ digunakan untuk melakukan lompatan ke suatu blok program jika nilai jika operand 0 (Zero) atau <> 0(Not Zero)
25) CJNE (Compare and Jump if Not Equal)
- Instruksi CJNE digunakan untuk melakukan pembandingan dua operand dan lompat ke blok program lain jika tidak sama.
26) CALL
- Instruksi CALL digunakan untuk prosedur tertentu dalam program (Subprogram).
27) RET
- Instruksi RET digunakan untuk mengembalikan ke baris program yang melakukan CALL.
28) OP-Code
- Diikuti Mnemonic Opcode diikuti oleh setidaknya satu karakter spasi kosong Kemudian informasi yang menyatakan operand ditetapkan. Dalam contoh kita, source operand berada dalam register R0. Informasi ini diikuti oleh spesifikasi destination operand, dipisah dari source operand dengan koma, tanpa jeda kosong. Destination operand berada dalam lokasi memori yang alamat binernya dinyatakan dengan nama
SUM.
29) SUM EQU 200
- Memberitahu Assembly bahwa nama Sum seharusnya digantikan dengan nilai 200,kapanpun muncul dalam program. Disebut Assembler Directive(Atau Perintah)
30) Binary
- Perduaan" Sistem nombor yang digunakan oleh komputer hanya mengandungi digit 0 dan 1. Ini kerana litar elektronik dalam komputer hanya mempunyai dua taraf - hidup atau mati.
31) ADC
- Untuk mengubah besaran analog menjadi besaran digital.
32) REN
- Dipakai untuk mengaktifkan kemampuan port serial untuk menerima data.
33) TB8
- Tempat penampungan bit ke 9 yang akan dikirim.tempat penampungan bit ke 9 pada saat pengiriman dan penerimaan.
34) RB8
- Menampung bit ke 9 yang diterima oleh port serial.
35) TI
- Sebagai tanda bila port serial telah selesai mengirimkan data yang tersimpan pada SBUF,jadi bila telah selesai mengirimkan data maka TI akan bernilai 1 dengan sendirinya.
36) RI
- Sebagai tanda bila pada port serial telah selesai menerima data yang tersimpan pada SBUF.
37) CHAR
- Untuk menyimpan data string(mikrokontroler)
38) AND, OR, XOR, NOT
- Pemanipulasi Bit.
39) IF & SWITCH
- Untuk menyatakan percabangan bersyarat. Artinya sebuah pernyataan akan dieksekusi atau dikerjakan tergantung dari syaratnya. Pernyataan tersebut bisa lebih dari satu.
40) LOOP
- Suatu pengulangan terhadap perintah atau interuksi sampai mencapai keadaan tertentu ( jumlah perulangan tersebut dapat diketahui).
41) FOR
- Inisialisasi, syarat, penambahan.PENGULANGAN
42) WHILE
- Perulangan ini ada syarat yang terletak sebelum perulangan. Jadi bila syarat tersebut tidak terpenuhi maka perulangan bisa tidak akan terjadi sama sekali.
43) DO WHILE
- Mirip dengan perulangan WHILE. Namun demikian ada perbedaan dalam letak syarat terjadinya perulangan. Pada DO WHILE letak syarat perulangan ada akhir. Jadi dalam jenis perulangan ini akan terjadi perulangan minimal satu kali.
44) ARRAY (Larik)
- Sebagai kumpulan variabel yang jenis dan namanya sama.
45) MOV A,R1
- Salin nila R1 ke Akumulator.
46) MOV A,@R1
- Salin isi lokasi yang ditunjuk R1 ke A
47) MOV P1,A
- Salin Data pada Akumulator ke port 1
48) MOV A,P1
- Salin data pada port 1 ke akumulator
49) MOVC A,@X+DPTR
- Salin data int. Yang ditunjuk DPRT ke A
50) MOVX @DPRT,A
- Salin data akumulator ke lokasi yang ditunjuk DPRT.
51) INT
- Perintah INT adalah suatu perintah untuk menghasilkan suatu interupsi.
52) ORG 100h
- Pada program COM perintah ini akan selalu digunakan. Perintah ini digunakan
untuk memberitahukan assembler supaya program pada saat dijalankan(diload ke memory) ditaruh mulai pada offset ke 100h(256) byte.
53) .CODE
- Tanda directive ini digunakan untuk memberitahukan kepada assembler bahwa
kita akan mulai menggunakan Code Segment-nya disini. Code segment ini
digunakan untuk menyimpan program yang nantinya akan dijalankan.
54) MODEL SMALL
- Tanda directive ini digunakan untuk memberitahukan kepada assembler bentuk
memory yang digunakan oleh program kita.
Dasar Game Hacking Part II extra !!

Sebelumnya saya ingin menjelaskan bahwa edisi extra ini memang tidak disatukan dengan Part II
Part II merupakan pengenalan dan cara mengatasi DMA dengan mudah, sedangkan edisi extra berisi tentang mengatasi DMA secara lebih baik

Pada Part II kita sudah mengenal apa itu DMA, dan bagaimana cara mudah mengatasi dengan nop

Walau demikian pengunaan Nop sangat terbatas sekali, dan tidak bisa selalu diandalkan dalam mengatasi DMA, lalu bagaimana ?

Code Injection adalah solusinya, dengan code injection kita bisa menuliskan perintah yang kita inginkan agar bisa digunakan untuk merubah variabel dalam game
Kita akan membagi menjadi 4 bagian :

Bag.I Teori Dasar Code Injection

Bag.II Assembler

Bag.III Mengatasi DMA dengan Code Injection

Bag.IV Membuat Trainer + Code Injection dengan TMK

## BAG.1. Teori Dasar Code Injection ##

Apa itu Code Injection ?


Code Injection yang jika diterjemahkan berarti menginjeksi/memasukkan suatu kode. Tentu saja kode disini adalah kode yang kita bisa tulis sendiri.

Tujuan dari code injection adalah menciptakan penghubung dari Game ke kode yang kita tulis kemudian kembali lagi ke Game setelah kode yang kita tulis dijalankan.

Perhatikan pada bagian berikut ini untuk memahami code injection.

Sebelum memakai code injection
0120:00008096 01585A ADD [EAX+5A],EBX
0120:00008099 xxxxxxxxxx CALL D88E8815
0120:0000809B B486 MOV AH,86

Sesudah memakai code injection
0120:00008096 01585A ADD [EAX+5A],EBX
0120:00008099 E9xxxxxxxx JMP 500000
0120:0000809B B486 MOV AH,86

*Code yang kita buat*
0120:00500000 xxxxxxxxxx CALL D88E8815
0120:00500002 E9xxxxxxxx JMP 809B

Bisa kita lihat saat kita memakai code injection, kita melompat menuju ke daerah kode buatan kita dan melompat kembali setelah kita selesai menjalankan kode kita.

## BAG.2. Assembler ##

Umumnya kode yang kita tulis harus berupa bahasa assembler, jadi agar bisa mengerti dan menulis code injection kita juga harus mengerti sedikit tentang perintah pada assembler
Disini akan saya berikan beberapa perintah yang penting untuk dimengerti :

#a.1.MOV
biasa digunakan untuk mengisi suatu variabel dengan nilai baik dari variabel lain, pointer, maupun pengisian value secara langsung.

#a.2.PUSH
digunakan untuk menyimpan value pada variabel kedalam stack

#a.3.POP
digunakan untuk mengambil value yang tersimpan didalam stack

#b.1.ADD
Add biasa dipakai untuk menambahkan nilai pada suatu variabel

#b.2.SUB
Sub digunakan untuk mengurangi nilai pada suatu variabel

#b.3.MUL
Mul digunakan pada sistem perkalian pada suatu variabel

#b.4.INC
Seperti Add, Inc digunakan untuk menaikkan satu nilai pada suatu variabel

#b.5.DEC
Seperti Inc namun digunakan untuk mengurangi nilai variabel sebesar satu

#b.6.CMP
digunakan sebagai perbandingan antara dua buah variabel, biasa disambung dengan perintah jumps yang sesuai

#c.1.JMP
jmp biasa digunakan untuk melompat menuju suatu alamat memori dalam aplikasi

#c.2.CALL
digunakan untuk memanggil rutin dalam address yang sudah ditentukan

#c.3.RET
digunakan untuk keluar dari rutin tertentu

#d.1.NOP
nop yang berarti no operation, dimaksudkan untuk tidak melakukan apa-apa pada baris yang ditentukan

Seperti yang kita lihat diatas adalah beberapa perintah assembler yang berguna untuk digunakan pada code injection, saya menyarankan kalau memang berminat belajar hacking game maka perlu untuk lebih mengenal bahasa assembler.

Banyak sekali tutorial diluar sana tentang assembler

## BAG.3. Mengatasi DMA dengan Code Injection ##

Kita akan belajar mengatasi dma dengan mengunakan code injection, disamping kita akan belajar membuat code injection.

Tools :
1. T-Search
2. Code Caver
3. Mine Sweeper
4. Biasa Logika :smiley_beer:
5. Kertas dan Pulpen/Pensil
6. Makanan atau Minuman kesukaan kamu

Tujuan :
Mencoba mengerti dasar code injection dan mempraktekkannya
Sebelum kita memulai ada satu hal yang harus kita lakukan, yaitu mencari tempat untuk menaruh kode buatan kita.. Kita tidak bisa sembarangan menaruh kode buatan kita karena akan menyebabkan crash pada game tersebut.

Tempat yang kita cari disebut dengan "Code Cave", Code Cave adalah suatu lokasi pada memori dalam game yang bernilai 90 atau 00 yang saling menyambung minimal sebesar 10 blok
Cara mencari "Code Cave", jalankan codecaver.exe, lalu pada process pilih winmine.exe, pada search type pilih "zeros", lalu pada bagian section uncheck .text dan .rsrc
Kemudian tekan tombol Find Cave, maka akan muncul baris sebagai berikut

01005000 - 16 zeros
0100508e - 10 zeros
010050e6 - 10 zeros
01005159 - 35 zeros
01005180 - 56 zeros
010051c1 - 31 zeros
010051f5 - 11 zeros

note: pencet reset/refresh jika winmine.exe tidak ada
note: baris diatas muncul pada komputer yang saya gunakan

Kita akan memakai 01005000 sebagai tempaat untuk menaruh kode kita, Catat di kertas lokasi ini !!

MULAI !!
Tujuan kita tetap sama yaitu menghentikan timer pada minesweeper, kita akan mencari address yang mengatur waktu, pada saya addressnya adalah 010056F0 (belum tentu sama dengan komputer anda)

Tidak berbeda pada Part II, kita akan melakukan langkah yang hampir sama
Pilih AutoHack->Enable Debugger
Kemudian Pilih AutoHack->AutoHack Window untuk memunculkan jendela autohack
Klik kanan pada address yang ada di cheat list, kemudian pilih autohack, address yang kita dapatkan akan muncul di kanan bawah jendela autohack.

Seperti biasa kita mainkan minesweeper, dan Boom breakpoint yang kita pasang pada 010056F0
mengenai sasaran kita.

Pada bagian bawah Jendela Autohack, terdapat beberapa bar yaitu :
[debug event][disassembler][thread][register]
Klik pada bar [disassembler], lalu klik pada salah satu list di jendela AutoHack, saya klik pada (1003020: inc dword ptr[0x10056f0]), maka pada bar [disassembler] akan muncul kode-kode asembler.

Kode Asm (bisa berbeda dikomputer kalian) :
01003020 FF05F0560001 inc dword ptr [0x10056F0]
01003026 E88CFBFFFF call 0x01002BB7

Pada Part II kita cukup menopkan saja pada address ini, namun kita hendak mencoba code injection bukan ?!

Catat baik-baik kedua line tersebut pada secarik kertas atau tulis di notepad, karena kita akan mengubah kode tersebut.

Kembali ke jendela autohack, klik kanan pada line "01003020 FF05F0560001 inc dword ptr [0x10056F0]" lalu pilih assemble, akan muncul kotak assemble masukkan "jmp 1005000" hingga menjadi seperti ini..

Sebelum
01003020 FF05F0560001 inc dword ptr [0x10056F0]
01003026 E88CFBFFFF call 0x01002BB7

Sesudah
01003020 E9DB1F0000 jmp 0x01005000
01003025 90 nop
01003026 E88CFBFFFF call 0x01002BB7

note: jika hasil tidak sesuai dengan sesudah, pada 01003025 klik kanan lalu pilih assemble, pada kotak aassemble masukan "nop"

Langkah pertama sudah selesai, sekarang waktunya kita menulis kode buatan kita sendiri...
Pada jendela menu autohack, pilih edit->disassemble, akan muncul kotak disassemble, masukan 1005000 kemudian tekan disassemble

Kamu akan dibawa menuju ke daerah memori 1005000, klik kanan lalu pilih assemble dan masukkan "inc dword ptr [0x10056F0]" lalu tekan assemble

dibawahnya yaitu pada daerah memori 1005006, klik kanan lalu pilih assemble dan masukkan "jmp 1003026"

menjadi seperti berikut:
Sebelum
01005000 000000
01005004 000000

Sesudah
01005000 FF05F0560001 inc dword ptr [0x10056F0]
01005006 E91BE0FFFF jmp 0x01003026

Kita sudah berhasil membuat kode sendiri, namun kode ini masih tetap menaikkan timer dari minesweeper, maka kita perlu mengubahnya menjadi:

01005000 90 nop
01005001 90 nop
01005002 90 nop
01005003 90 nop
01005004 90 nop
01005005 90 nop
01005006 E91BE0FFFF jmp 0x01003026

dan wa'lah coba minesweeper kamu mainkan, timer tidak akan naik nilainya.
note : Contoh Code Injector ini masih terdapat pada memori, berarti jika kita matikan minesweeper maka kode yang kita tulis akan hilang.

## BAG.IV. Membuat Trainer + Code Injection ##

Sekarang kita akan menerapkan kode kita memakai TMK
Buat project baru, tambahkan sebuah tombol pada form
beri nama tombol tersebut "inject", lalu pada "write memory actions" kita akan memasukkan kode berikut:

poke 1003020 E9 DB 1F 00 00 90
poke 01005000 90 90 90 90 90 90 E9 1B E0 FF FF

dan silakan dicoba trainer dengan code injectionnya :capede:
mudah bukan memahami code injector ?

sebelumnya mohon maaf kalau tidak ada gambar, disebabkan karena terlalu lama dalam upload, dan saya belum terbiasa mengupload gambar. Jika ada yang berniat menyumbang gambar langkah2 ini saya persilakan untuk melakukannya.

Bila ada yang kurang mengerti harap dibaca terlebih dahulu, coba tiap langkah satu-persatu, jika memang ada yang tidak mengerti baru bertanya disini.

Semua yang ada di tutorial ini sudah dicoba dan berjalan dengan baik, bila ada kesalahan harap baca dan praktekan perlahan-lahan.

thx for all


Credit to CyberX � Kritik dan saran nya
-Fendie- GTS nya
Mopez Pembuat tutorial
Whitehat
Mandy thanks atas dokumentasi nya.

Sumber : N3
Dasar Game Hacking Part II

Pada part I kita sudah mempelajari dasar dari hacking game yaitu memory hack, pada part II ini kita akan mempelajari DMA dan bagaimana cara mengatasinya.

DMA, apa itu? DMA merupakan singkatan dari Dynamic Memory Allocation yang biasa digunakan pada game-game sekarang. Singkatnya game meload value ke memory secara acak setiap kali jalan / refresh guna menghindari adanya trainer yang menulis ke memory fix.

Karena kita tidak bisa mengubah lokasi memori pada game berbasis DMA, maka untuk
mengatasinya kita perlu untuk langsung mencari letak kodenya.

Kita mulai saja, disini saya mengandaikan minesweeper mengunakan DMA, hanya sebagai contoh saja, selanjutnya bisa kalian kembangkan.


Tools silakan cari di google :

1. Tsearch
2. Minesweeper <-bawaan windows
3. Minuman / Makanan yg enak
4. Sedikit logika

Pertama buka tsearch, lalu jalankan minesweeper, seperti pada part 1 tujuan kita akan menghentikan waktu dari minesweeper.

Saya asumsikan kalian sudah mengerti pemakaian tsearch pada part 1, cari address number dari timer, disini saya mendapatkan address 010056F0 (note:belum tentu sama pada komputer anda).

Pada menu pilih AutoHack->Enable Debugger, lalu pilih AutoHack->AutoHack Window, kemudian akan muncul AutoHack Window.

Pada Address yang kita dapatkan di cheat list, klik kanan kemudian pilih AutoHack, Address yang kita dapatkan akan muncul di sebelah kanan bawah jendela AutoHack (coba lihat saja).

Mainkan kembali minesweeper, kalian akan melihat pada autohack window breakpoint yang kita pasang pada memori 010056F0 mengenai sasaran

Pada bagian bawah Jendela Autohack, terdapat beberapa bar yaitu :
[debug event][disassembler][thread][register]

Klik pada bar [disassembler], lalu klik pada salah satu list di jendela AutoHack, saya klik pada (1003020: inc dword ptr[0x10056f0]), maka pada bar [disassembler] akan muncul kode-kode asembler yang akan kita pahami.

Kode Asm (bisa berbeda dikomputer kalian) :
0100301e 7D12 jge short 0x01003032
01003020 FF05F0560001 inc dword ptr [0x10056F0]
01003026 E88CFBFFFF call 0x01002BB7

mengapa hanya tiga kode saja yang dibahas?, karena hanya kode yang penting yang saya bahas.

perhatikan line berikut "inc dword ptr [0x10056F0]"!!
Pada line tersebut dalam bahasa asembler berarti naikkan satu nilai pada pointer 10056F0 (memori address yg kita dapatkan ingat ?), berarti line ini adalah tempat dimana timer akan menaikkan nilainya.

Lalu bagaimana? cukup mudah kok, agar timer tidak berjalan maka kita cukup menop-kan line tersebut. Hal ini dibuat mudah dalam tsearch, pada jendela menu AutoHack pilih edit->patch, maka pada line tersebut akan berubah menjadi seperti ini.
0100301e 7D12 jge short 0x01003032
01003020 90 nop
01003021 90 nop
01003022 90 nop
01003023 90 nop
01003024 90 nop
01003025 90 nop
01003026 E88CFBFFFF call 0x01002BB7

coba kalian mainkan minesweeper kembali, lihat apakah timer berjalan atau tidak? untuk mengembalikan ke kondisi semula, pada jendela menu AutoHack pilih edit->unpatch.

Mungkin ada yang bingung kenapa banyak sekali pemakaian nop ?

Perhatikan lagi pada line "01003020 FF05F0560001 inc dword ptr [0x10056F0]"
Pada line tersebut terdapat baris "FF05F0560001" yang jika dipisah menjadi "FF 05 F0 56 00 01" (terdapat 6 bukan ?), maka jika kita hendak menop-kan maka harus memakai 6 buah nop pula, karena nop bernilai 1 sedangkan line tersebut bernilai 6.
Singkatnya "FF 05 F0 56 00 01" diubah menjadi "90 90 90 90 90 90".
Sekarang kita akan membuat trainer khusus DMA.

Pada Tsearch terdapat fasilitas ini dengan mengunakan TMK, pada jendela AutoHack menu pilih
"TMK->Button Script" maka akan muncul kode yang bisa kita masukan mengunakan TMK.

cth kode:
*/hasil dari button script
Tmk button script
Copy and Past into tmk using ctrl+V
Ex: Patched script for a ON button
and Unpatched script for a OFF button
Patched script:
Poke 1003020 90 90 90 90 90 90
UnPatched script:
Poke 1003020 FF 05 F0 56 00 01
pada TMK kita membuat 2 buah tombol yang bernama "Berhenti" dan "Jalan".
dimana pada "write memori actions" tombol berhenti kita memasukan "Poke 1003020 90 90 90 90 90 90".
sedangkan pada "write memori actions" tombol jalan kita memasukan "Poke 1003020 FF 05 F0 56 00 01"

Gimana mudah bukan? untuk masalah TMK, coba baca bagian "Tutorial TMK by Pinnacle", sangat bagus untuk yang mao belajar bikin trainer
Pertanyaan seputar Tutor ini !

T: kenapa tidak muncul apa-apa pada jendela AutoHack?
J: Mungkin karena kamu belum memasukan breakpoint, coba ikuti satu persatu tutor ini.

T: Pada list AutoHack terdapat 3 atau lebih, yang mana yang merupakan address yang benar ?
J: Jawaban dari pertanyaan ini membutuhkan sedikit pemahaman soal asembler dan logika
kamu, coba kamu pikirkan logika berikut, timer akan menaikan satu nilai setiap detik ex 29+1=30, pada asm perintah menaikkan value adalah INC, jadi pada line yang terdapat tulisan INC, besar kemungkinan bahwa baris tersebut adalah baris dimana timer menaikkan nilainya.

T: Saya mengerti tapi di list ada 2 address yang sama, yang mana yang benar ?
J: Kalau saya harus memilih, kenapa tidak dicoba satu-satu? coba list atas di-patch dulu dan lihat apakah timer masih berjalan? kalau masih coba patch yang berikutnya. Kemungkinan address sama memang ada, tapi hanya salah satu yang benar.

T: Mengapa kita menganti line dengan nop ? dan apa itu nop ?
J: Nop berarti no operation yang bernilai hex 90, maksud dari perintah nop adalah tidak melakukan apa-apa. Perintah yang kita ganti adalah INC yang menaikkan nilai, maka nop cukup agar nilai tidak naik. Berbeda jika perintah adalah "JMP,JNE,JGE,dll" maka berbeda pula patch yang harus kita lakukan.

T: Bisa ga kalo ga pake TMK buat bikin trainernya?
J: Bisa, karena basic pembuatan trainer hampir sama, maka kamu bisa memakai trainer maker lain seperti GTS, dll.

T: Apa perlu belajar asembler ? kan susah tuh ?
J: Yang perlu dipelajari adalah dasar dari asembler, seperti register dan perintah-perintahnya,
tidak perlu kamu langsung bisa, kamu bisa mulai pelan-pelan mempelajarinya kok

T: Dimana saya bisa belajar asembler ? dan kenapa tools seperti tsearch dan yang lain tidak diberikan ? kan saya tidak punya dan tidak tahu dimana harus mencarinya
Khusus pertanyaan diatas, kamu bisa mencari pada "google", tujuan saya tidak memberikan tools yang dibutuhkan karena satu sebab :
J: "Kalian punya Mata, Telinga, Mulut, dan Otak kan ? lakukan apa yang bisa kamu lakukan. Bukankah ini merupakan suatu wujud petualangan dalam belajar ?!"
Perlu kalian cam-kan baik-baik, tidak ada manusia yang berbakat, seperti yang pernah dikatakan thomas alva edison "Bakat adalah 1% ilham ditambah 99% kerja keras".

Sebelumnya maaf jika ada ucapan yang menyinggung, dan jangan lupa nantikan tutor lanjutan dan beberapa tutor yang moga-moga akan saya post segera.

Credit to CyberX – Kritik dan saran nya, -Fendie- GTS nya, Mopez Pembuat tutorial, Whitehat, Mandy thanks atas dokumentasi nya, Game Hacking Archieve and all nyit2er

Sumber : N3