Siapa yang online ?? | Total 92 uses online :: 0 Terdaftar, 0 Tersembunyi dan 92 Tamu
Tidak ada
User online terbanyak adalah 92 pada Sat Sep 28 2024, 16:36
|
Info Pendaftaran Devans | Total 3164 user terdaftar User terdaftar terakhir adalah colvai
Total 1897 kiriman artikel dari user in 730 subjects
|
September 2024 | Mon | Tue | Wed | Thu | Fri | Sat | Sun |
---|
| | | | | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | | | | | | | Calendar |
|
| | Dasar Game Hacking Part II | |
| | Pengirim | Message |
---|
sherge Devans Developer
Posting : 189 Gold Medal : 635 Bergabung Sejak : 09.07.10 Location : Bandar Lampung
| Subyek: Dasar Game Hacking Part II Tue Jul 13 2010, 17:51 | |
| 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. | |
| | | greynet Level 0
Posting : 5 Gold Medal : 59 Bergabung Sejak : 07.10.10 Location : Gresik
| Subyek: Re: Dasar Game Hacking Part II Thu Oct 07 2010, 08:37 | |
| - sherge wrote:
- 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. tulis credit lah...... jangan sampe nie forum di julukin forum plagiat gan..... | |
| | | marlboro Devans Admin
Posting : 571 Gold Medal : 1706 Bergabung Sejak : 09.07.10 Location : Bandar Lampung
Game Voting Diecing Rollings: (1/1)
| Subyek: Re: Dasar Game Hacking Part II Fri Oct 08 2010, 17:52 | |
| @greynet : weleh2.. haruss pake credittsss tauuuuuuuuu.. sorry jrang nge cekk.. hehe | |
| | | Sponsored content
| Subyek: Re: Dasar Game Hacking Part II | |
| |
| | | | Dasar Game Hacking Part II | |
|
Similar topics | |
|
| Permissions in this forum: | Anda tidak dapat menjawab topik
| |
| |
| |