• Silahkan bergabung dengan chat kami di Telegram group kami di N3Forum - https://t.me/n3forum
  • Welcome to the Nyit-Nyit.Net - N3 forum! This is a forum where offline-online gamers, programmers and reverser community can share, learn, communicate and interact, offer services, sell and buy game mods, hacks, cracks and cheats related, including for iOS and Android.

    If you're a pro-gamer or a programmer or a reverser, we would like to invite you to Sign Up and Log In on our website. Make sure to read the rules and abide by it, to ensure a fair and enjoyable user experience for everyone.

Bacaan & Tutor : Logika sistem kerja Always Pangya

Status
Not open for further replies.

Manhattan

PAUD
Level 1
Hi all... Senang bisa mampir... walo masi pinjem id, but i'm cool ... ^^;

Kali ini, aku mo share tentang logic Always Pangya.. Karena sudah sering keluar di trainer, aku mo share temuanku bareng Eirynee dulu tentang always pangya. Percaya nggak percaya, sistem yg dipake always pangya season 2 ini (bahkan sampai v3.13a) masih sama dengan sistem yg dipake sejak sebelum season 2 (dulu nemuin di v2.10)... Jadi ini temuan 'jadul' yg masi bisa dipake... ^^;

Always pangya ini pernah aku share dulu di forum level 2 (nyit-nyit edisi warna gelap [?]), waktu masi sering 'menyapa' kk CyberX... Hopefully, he's still remember me....

Pemikiran utk share hal ini karena beberapa hal :
  • Always pangya yg beredar sepertinya masih ngambil dari forum luar GZP, yg aku sendiri belum me-research logic-nya... ^^;
  • Rasa kangen buat bikin tutor di nyit-nyit... (Knapa tutor di nyit-nyit makin dikit ya ?...)
  • IMHO, lebih baik kita share logic suatu sistem cheat dalam game kepada temen" nyiters (tentunya TETAP dengan pertimbangan yg bijak ttg apakah boleh di launch ato tidak, demi menjaga komunitas game itu sendiri), supaya budaya apa yg disebut 'leeching' bisa berkurang... it's not good for our comunity..
Mohon diperhatikan sebelumnya... Ini akan menjadi bahan bacaan yg lumayan panjang. Tapi, semoga kita bisa belajar bareng dari sini, ok ?..


Aight then, let's start !

^_^

Disclaimer:
Tutorial ini ditujukan untuk bahan belajar dan diskusi. Penyalahgunaan tutor ini diluar tanggung jawab saya sebagai pembuatnya... Harap bijak dalam penggunaannya...


KONSEP DASAR SISTEM SLIDER BAR

Kalo berbicara tentang cheat always pangya, kita tidak bisa lepas dari sistem Slider Bar, yaitu tempat dimana kita menentukan besar power dan kualitas pukulan kita (bad, miss, normal, atau pangya). Biar kita sama sepakat dengan istilah yg akan kita pakai dalam tutorial ini, mari perhatikan gambar berikut :

Peringatan :
Karena suatu sebab, tampaknya imageshack tempat aku store gambar" yg akan dipakai di tutorial ini tidak terlalu kompatibel dengan sistem auto-rescalling image dari forum nyit-nyit. Kalo temen" menjumpai bahwa gambar" dalam tutorial ini mengalami reduksi ukuran, maka klik TAB HITAM diatas gambar yg bersangkutan dan JANGAN klik pada gambarnya, untuk melihat gambar dalam ukuran yg sesungguhnya...

Gambar dalam ukuran sesungguhnya sangat penting dalam tutorial ini untuk memberi pemahaman yg lebih......

Thanks atas perhatiannya...
http://anonym.to/?http://./?imageshack.us

Definisi istilah-istilah:

Slider Bar :
bisa dikatakan sebagai rel bagi Slider
Slider :
mahluk kecil abu-abu yg bergerak bolak-balik kekanan dan kekiri sepanjang slider bar, yg berfungsi untuk menguji reaksi timing pemain pangya dalam menentukan besar power dan impact pukulan.
Pangya Impact :
garis putih kecil yg menunjukkan tempat dimana impact pukulan yg sempurna berada. Jika pemain melakukan impact pukulan pada garis ini, maka pemain berhasil melakukan pukulan pangya.
Besar Power :
bisa disebut sebagai 'ting pertama' yg dilakukan pemain, yg menentukan berapa besar power pukulan yg akan dilakukan
Impact Pukulan :
bisa disebut sebagai 'ting kedua' yg dilakukan pemain, yg akan menentukan apakah sebuah pukulan pangya, biasa, atau bad/miss
Dan karena lingkup bicara kita adalah tentang pukulan pangya, berarti kita tidak akan membicarakan sistem slider bar ketika berada di wilayah green (putt mode)...


Now, let's move on...

Target tutor ini adalah Pangya Season 2 ver 3.13a.

Untuk keperluan tutor ini, 'perlengkapan perang' yg aku bawa dan gunakan :
  • Jamilah versi DOS, by Ganis Wardhana - untuk menembus hackshield
  • MHS Demo #24, by L.Spiro - untuk memory scanning n table-ing
  • Cheat Engine 5.3, by DarkByte - untuk disassembling n debugging
Cheat yg aku aktifkan :
  • Wind switch off - untuk kemudahan keperluan parkir di tanah miring
  • Power caliper switch on - penggunaan power kaliper berkaitan dalam sistem slider bar
  • Level req. elimination - biar cecil tampil cantik, aku terpaksa menurunkan syarat level untuk item Anemone Dress, Anemone Sandals, dan Aqua Orang Sun Glasses supaya bisa di equip. (yup, kita tidak perlu melakukan itu satu-satu kalo kita menaikkan level jadi Master A... Tapi, aku lebih suka cara ini dan tetap memandang charku sebagai Beginner C...)
  • Sementara untuk Always Pangya dan/atau GM Mode tidak aku pakai karena kebutuhan impact entry...
Sekarang, mari perhatikan gambar berikut :

http://anonym.to/?http://./?imageshack.us

Screen Shot diambil pada saat awal free practice... Disini, dan pada gambar" berikutnya, aku sertakan tabel yg menunjukkan value" penting yg nanti akan dipakai untuk cheat always pangya. Dan untuk keperluan penghematan tempat, aku lakukan edit seperlunya untuk menyatukan window pangya dengan window tabel itu, menggunakan photoshop.

Bisa dilihat, pada gambar itu, address-address yg menjadi fokus kita (seperti terdapat pada tabel disebelah kanan), yg meliputi :
Power Entry Position : Alamat tempat disimpan besarnya power yg telah kita lakukan
Impact Entry Position : Alamat tempat disimpan ketepatan kualitas pukulan yg telah kita lakukan terhadap bola
Slider #1 Position : Alamat tempat disimpan posisi slider #1 pada slider bar
Slider #2 Position : Alamat tempat disimpan posisi slider #2 pada slider bar
Pangya Impact Position : Alamat tempat disimpan parameter ketepatan pukulan untuk bisa menghasilkan pukulan pangya.
Cliper Position : Alamat tempat disimpan besarnya pembatas power yg akan kita lakukan
Harap diingat istilah-istilah diatas... Istilah itu tidak baku, karena itu hanya caraku menyebutnya... Tapi, mari kita sepakati istilah itu untuk sepanjang tutorial ini... Dan sorry sebelumnya, istilah "Cliper" seharusnya "Caliper". Ada kesalahan ketik terjadi disini... Tapi biarkan kita pake "cliper" saja, ok ? ^^;

Harap pula diketahui, address-address diatas (yg menjadi fokus perhatian kita) adalah DMA..

Sekilas DMA...
Dynamic Memory Allocation, suatu metode yg menempatkan data-data sedemikian sehingga alamat untuk data yg sama dapat berubah-ubah setiap saat, sesuai dengan aliran jalannya program... Kalimat mudah untuk DMA : Kamu tidak bisa menyimpan address" itu kedalam tabel (dengan cara biasa), dengan harapan agar besok tabel address kamu masih bisa dipakai... However, ini bisa diatasi dengan menyimpan pointer-pointer ke tiap address DMA. But that's another story that we won't cover here...
Jika diperhatikan lebih dekat, kita bisa melihat value untuk masing address sebagai berikut :
Code:
Power Entry Position	= 140
Impact Entry Position   = 140
Slider Position #1	  = 105
Slider Position #2	  = 105
Pangya Impact Position  = 140
Cliper Position		 = 140
Value diatas adalah value default ketika char kita 'idle' (diam) sebelum melakukan pemukulan... Dan tipe value yg dipakai adalah float 4 bytes...

Sekilas Float Number...
Float Number adalah tipe bilangan pecah. Berbeda dari type integer yg merupakan bilangan bulat... Seiring perkembangan kompleksitas sebuah game, bilangan tipe float menjadi semakin banyak digunakan. Hal ini karena, bilangan tipe float mempunyai 'kedalaman' yg tidak mungkin dimiliki oleh bilangan tipe integer, yg membuatnya lebih luwes untuk memberi nilai suatu data.

Contoh yg paling nyata adalah koordinat game 3D...
L.Spiro, si pembuat tool MHS yg aku pakai dalam tutor ini dan juga seorang game developer, menjamin bahwa setiap game 3D yg melibatkan objek-objek 3d PASTI menggunakan bilangan tipe float untuk menentukan koordinat X,Y,Z nya...

So, please, i beg you... Waspadalah terhadap bilangan float ... Waspadalah ! ^^;
Kemudian, bagaimana aku menemukan value" dan address" itu ?

Logicnya begini :
  • Slider akan bergerak ketika kita menekan klik-kiri mouse atau spasi...
  • Setiap yg bergerak, pasti mengandung perubahan...
  • dan perubahan itu pasti ada nilai/value nya ...
  • dan karena slider bergerak dengan dipengaruhi banyak sekali atribut (yg disebut CTR), maka aku memutuskan value posisi slider kemungkinan besar adalah bilangan float....
So, aku melakukan ini :
  • Jalankan pangya, jamilah, artmoney (pada waktu itu MHS blom ada), dan speedhack. Butuh speedhack karena si Slider bergerak terlalu cepat sebelum artmoney sempat menyelesaikan filtering... >.<
  • pada posisi idle, ketika slider diam ~ search awal adalah unknown value (aku tidak tau berapa valuenya)
  • ketika spasi ditekan, slider bergerak ke-kanan (sangat pelan... berkat speed hack) ~ search increase value
  • ketika slider hampir mencapai max ~ search increase value
  • ketika slider bergerak hampir mencapai posisi awal ~ search decrease value
  • ketika slider sampai pada posisi awal lagi ~ search decrease value
  • ... proses filtering diulang-ulang sampai mendapatkan address dari value posisi slider ...
Kemudian aku mendapatkan bahwa ada 2 buah value slider. Dan ketika slider dalam posisi idle, maka kedua value-nya adalah 105,00...
Jadi kita bisa katakan bahwa nilai minimal slider bar adalah 105,00.

Kenapa ada 2 value slider ?
Kesimpulanku sementara adalah : Value Slider #1 adalah sebagai lokomotif sementara value Slider #2 adalah sebagai gerbong... Kita akan bahas ini nanti di gambar berikutnya, ok ?

Hal selanjutnya, aku melakukan 'sight-seeing' dengan fitur memory editor dari artmoney, untuk melihat-lihat value" yg ada disekitar dua value slider itu, dan menemukan 'teman-teman penting'-nya. Dan jadilah tabel seperti pada gambar itu...

Perhatikan address mereka (yg dalam highlight coklat muda)... Address mereka berdekatan, bukan ?

So, adalah sebuah kebiasaan yg sangat bagus, didalam game-hacking, untuk selalu melihat-lihat 'lingkungan/tetangga' address yg kamu temukan. Karena bisa jadi (bahkan sangat sering), sebuah sistem data disimpan dalam memory yg berdekatan...

Ok... Harap temen" memahami konsep dasar slider bar ini dulu sebelum kita lanjutkan, supaya pada pembahasan berikutnya kita bisa memahaminya dengan lebih baik... ^^

Catatan:
Terus terang, aku cukup kaget, ketika mengetahui bahwa kedua value slider pada posisi idle adalah 105,00...
Itu adalah value yg sama dengan Pangya versi 2.10 (sebelum season 2) !.. Rentang waktu selama ini, dan tanpa perubahan ?
^^;

...

Sekarang kita sudah mengetahui address" penting dalam sistem slider beserta value" standardnya pada saat char kita idle, yang dengan data-data tersebut kita bisa menyimpulkan :
- Value Posisi minimal Slider Bar = 105,00
- Value Posisi Pangya Impact, di tanah yg benar-benar datar = 140,00

Kita masih perlu menyelidiki 2 hal :
- Berapakah value posisi maksimal slider bar ?
- bagaimana dinamika pergerakan Posisi Pangya Impact ?

Posisi Pangya Impact adalah value yg paling penting, yg merupakan kunci untuk always pangya nantinya... ;>

...

Sekarang kita akan mencari tahu, berapa value posisi maksimal slider bar...
Untuk itu, perhatikan gambar berikut :

http://anonym.to/?http://./?imageshack.us

Dengan menggunakan power caliper, aku menggesernya sampai batas paling kanan dalam slider bar. Dan, didapatkan bahwa: Cliper Position = 500,00 (lihat tabel)...

Berarti bisa disimpulkan bahwa: Value maksimal posisi slider = 500,00

Cukup simple, khan ? ^^

Bagaimanapun, jangan rancu dg contoh gambar. Value yg disimpan pada memory tidak sama dengan value yg terlihat dilayar. Kedua jenis value ini diproses dengan cara berbeda untuk tujuan yg berbeda pula, walaupun ada hubungan yg sangat erat diantara keduanya...

...

Sekarang mari kita selidiki bagaimana dinamika posisi Pangya Impact, perhatikan 2 gambar berikut :

http://anonym.to/?http://./?imageshack.us

http://anonym.to/?http://./?imageshack.us
( phew... dibutuhkan sampai 6x shoot untuk mem-parkir bola di tanah yg miring... ^^; )

Pada kedua gambar diatas, tampak jelas bahwa:
  • Jika bola berada pada permukaan yg miring kekanan, maka posisi Pangya Impact akan bergeser ke kiri, dan value posisi Pangya Impact akan berkurang...
    (contoh value dalam gambar = 132,00)
  • Jika bola berada pada permukaan yg miring kekiri, maka posisi Pangya Impact akan bergeser ke kanan, dan value posisi Pangya Impact akan bertambah...
    (contoh value dalam gambar = 147,00)
Bandingkan dengan value posisi Pangya Impact jika berada pada tanah yg benar-benar datar (=140,00)

Pada akhirnya... Gabungan akhir dari kesimpulan kita:

http://anonym.to/?http://./?imageshack.us

- value minimal slider bar = 105,00
- value maksimal slider bar = 500,00
- value posisi Pangya Impact ketika tanah datar = 140,00
- value posisi Pangya Impact ketika tanah miring kekanan = kurang dari 140,00
- value posisi Pangya Impact ketika tanah miring kekiri = lebih dari 140,00
- value panjang slider bar = 360,00
- value panjang tiap ruas slider bar = 36,00
Dengan demikian, selesai sudah pembahasan kita tentang konsep dasar dari sistem slider bar. Pemahaman yg cukup pada bahasan ini sangat diperlukan untuk melangkah lebih lanjut ke pencarian cheat always pangya...

Selanjutnya,di pembahasan berikutnya, kita akan menyelidiki dinamika value" penting kita, pada saat char kita melakukan pukulan... Ini akan sangat menarik !

C u there !.. :p
 

Manhattan

PAUD
Level 1
Ready... Power Set... n PANGYA !

Kita sekarang akan menyelidiki tentang 'keributan kecil' dibalik layar ketika char kita melakukan pukulan. Dan, untuk pembahasan kali ini yg, sekali lagi, menuju pencarian cheat always pangya, kita hanya akan membatasi lingkup penyelidikan hanya kepada sistem slider bar... Kita tidak akan membahas tentang penggunaan item", equip", dan besar angin bla bla bla...

Ok... perhatikan gambar berikut, yg diambil ketika tombol spasi ditekan, untuk memulai pukulan...
(Pada titik ini, aku sengaja set power caliper pada posisi power 225 (atau 475,00 di dalam memory) sebagai contoh..)

http://anonym.to/?http://./?imageshack.us
Slider akan bergerak ke arah kanan...

Perhatikan pada tabel, ada 3 value yg berubah :
- Slider Position #1
- Slider Position #2
- Cliper position

Untuk, posisi cliper aku sudah menjelaskan bahwa memang aku sengaja tidak set pada posisi max... it's not a big deal tho... Jangan terlalu dipikirkan yg ini.

Untuk Posisi Slider #1 dan #2, karena slider bergerak kekanan, maka valuenya bertambah... Perhatikan nilai pada saat screen-shot :
- Slider #1 = 380,12890625
- Slider #2 = 380

Pada tutorial bagian pertama, aku ketik begini :
"Kesimpulanku sementara adalah : Value Slider #1 adalah sebagai lokomotif sementara value Slider #2 adalah sebagai gerbong... "

Jadi, hipotesa yg aku ambil, kira" seperti berikut:
  • Slider #1 SELALU mendahului Slider #2 dengan jarak 0,n...
  • Slider #1 ternyata selalu mengandung angka pecahan (angka" dibelakang koma), sementara Slider #2 yg walaupun merupakan bilangan pecah (float) dibulatkan dengan cara membuang angka" dibelakang koma-nya.
  • Slider #1 diperlukan, karena didalam Game Pangya berlaku stat CTR pemain... Jadi, fungsi angka dibelakang koma itu supaya ketepatan timing yg disodorkan kepada pemain lebih variatif.
  • Slider #2 mengambil value dari Slider #1 dengan membulatkan (me-null-kan) angka" dibelakang koma, karena dari Slider #2 inilah nantinya Power Entry (besarnya power) dan Impact Entry (Impact Pukulan) akan diambil.
Konon, bagi processor komputer, perhitungan dengan angka pecahan memakan waktu berlipat-lipat kali perhitungan dengan bilangan bulat. Jadi, mungkin developer Pangya sengaja membulatkan angka" ini untuk keperluan optimasi kecepatan proses...

Kembali ke gambar, pada saat itu pula slider terus bergerak naik mendekati Posisi Caliper... Dan, jika kita menekan klik mouse, yg terjadi kemudian adalah...

http://anonym.to/?http://./?imageshack.us

Fungsi dari power caliper adalah menetapkan letak 'bunyi ting pertama' dalam slider bar...

Perhatikan tabel, akan nampak bagi kita bahwa value Cliper Position di-copy-kan kepada value Power Entry Position... Tapi, kejadian yg sesungguhnya adalah:
Ketika kita menekan mouse untuk 'bunyi ting pertama', maka program akan menyeret Slider #1 dan Slider #2 kepada posisi Cliper, dan meng-copykan value Slider #2 kedalam Power Entry... Dan kemudian menyuruh Slider #1 untuk membawa Slider #2 bergerak balik ke arah kiri...
Hasilnya kemudian adalah value Power Entry (besar power) menjadi sama dengan value Cliper (pada gambar, value keduanya = 475,00), sementara value Slider #1 dan Slider #2 berkurang karena bergerak balik ke arah kiri menuju area impact pukulan...
Slider melanjutkan perjalanan ke arah kiri, dan tiba saatnya bagi pemain untuk melakukan impact pukulan...
http://anonym.to/?http://./?imageshack.us

Ketika pemain memasukkan 'bunyi ting kedua' (impact pukulan), maka beberapa proses terjadi secara berurutan...
  • Pergerakan Slider #1 dan Slider #2 dihentikan seketika.
    Lihat pada tabel, value Slider #1 = 137,397125 dan value Slider #2 = 138,000000
  • Value Slider #2 dicopykan menjadi value Impact Entry.
    Jadi sekarang value Impact Entry = Value Slider #2 = 138,000000
  • Value Impact Entry dibandingkan dengan value Pangya Impact, untuk menentukan apakah pukulan yg dilakukan adalah pukulan Pangya atau bukan... ( BINGO! )
    Jika, selisih keduanya ada dalam 'batas yg bisa diterima' maka impact pukulan yg terjadi adalah Pangya Impact...
    (aku yakin temen" sudah cukup menyadari kalo Pangya masih punya 'toleransi keterpelesetan' bagi pemainnya untuk menghasilkan pukulan pangya...
    Kalo tidak, pangya pasti udah bubar dari dulu-dulu...
    ^^; )
    Pada contoh gambar, pukulan yg terjadi adalah pukulan Pangya. Karena ternyata value Impact Entry = 138 sedangkan value Pangya Impact = 140...
    Dan selisih 2 value ini masih dalam batas toleransi game untuk menghasilkan pukulan pangya...
  • Besarnya power dan variable kualitas impact pukulan ini kemudian dikirim ke 'rumus inti perpindahan bola' dan disana ia akan diolah bersama value" variable lain seperti besarnya angin, arah angin, jenis stick yg dipakai, kemiringan tanah, hambatan tanah, jurus pukulan spesial, dan lainnya...
( Sedikit clue: hasil dari rumus inti perpindahan bola ini adalah client side, namun tidak aplikabel pada VS mode... ^^. Sbagai bukti, nanti aku kasih deh screenshotnya...)

...

That's it !... Itulah keributan kecil dibalik layar, khususnya yg berkaitan dengan sistem slider bar, ketika seorang player melakukan pukulan...

Kesimpulannya yg berkaitan dengan pukulan pangya:
Pukulan pangya akan terjadi jika Value Impact Entry sama atau berbeda sedikit dari value Pangya Impact...

Dari sini kita bisa mengambil value" penting yg diperlukan untuk membuat hack always pangya ini, dan inilah value-value 'pemenang' kita yg beruntung:
  • Slider Position #2, yg menjadi referensi value untuk Impact Entry Position... (address pada contoh: 0x06d03880)
  • Impact Entry Position, yg akan dibandingkan dengan value Pangya Impact... (address pada contoh: 0x06d03878)
  • Pangya Impact Position, yg merupakan standard pembanding untuk value Impact Entry (address pada contoh : 0x06d03890)
Untuk saat sekarang, fokuskan pada ketiga alamat itu saja, sebelum kita menginjak bagian terakhir dari tutorial ini: "Debugging n Hacking Always Pangya"


C u there !.. ^_^
 

Manhattan

PAUD
Level 1
DEBUGGING and HACKING pukulan Pangya...

Aight... mari kita langsung ke pokok pembicaraan:

Mari kita refresh dulu value" penting kita :
[*]Slider Position #2, yg menjadi referensi value untuk Impact Entry Position... (address pada contoh: 0x06d03880)
[*]Impact Entry Position, yg akan dibandingkan dengan value Pangya Impact... (address pada contoh: 0x06d03878)
[*]Pangya Impact Position, yg merupakan standard pembanding untuk value Impact Entry (address pada contoh : 0x06d03890)

Jika kita berandai-andai tentang algoritma untuk impact pukulan dalam bahasa manusia, yg melibatkan ketiga value penting kita tersebut, maka kita bisa menyebutkan begini:
1. Copy value Slider #2 Position kedalam address Impact Entry Position
2.Bandingkan value Impact Entry Position dengan value Pangya Impact Position
3. Jika perbandingannya memenuhi syarat, maka impact pukulan adalah pukulan pangya...

Berikutnya adalah pertanyaan terbesar: Apakah yg harus kita perbuat supaya bisa always pangya ?
Jawabannya untuk pertanyaan terbesar tsb: Jika kita bisa membuat bahwa value Impact Entry selalu sama dengan value Pangya Impact !

Caranya ? Yaitu dengan 'mengalihkan' sumber copy-value untuk Impact Entry, dari yg semula adalah Slider #2 menjadi Pangya Impact...
Dengan demikian setiap kali pemain memasukkan impact pukulan, program tidak lagi mengambil value slider sebagai value Impact entry, melainkan mengambil Pangya impact itu sendiri sebagai value Impact Entry...

Hasilnya, value Impact Entry = value Pangya Impact, yg tentu saja akan menghasilkan pukulan pangya, karena perbandingan keduanya sama persis !
( ...semoga bisa dimengerti ya... ^^; )

Intinya, yang harus kita lakukan untuk membuat always pangya, sesuai dengan kondisi ini adalah:
"Mengalihkan sumber value untuk Impact Entry dari yang semula Slider #2 kepada Pangya Impact..."

...

Nah, karena sudah tau dengan apa yg harus kita lakukan, langsung saja debug n hack proses pangya...

Langkah-langkahnya:
- Kita aktifkan debugger dan attach pada process Pangya (window mode)
- Kita pasang Breakpoint on modification pada address Impact Entry (0x06d03878)
- Ketika dilakukan 'bunyi ting kedua' (impact pukulan dimasukkan), debugger akan menghentikan process Pangya, dan breakpoint menyorot address code berikut :
Code:
004D1F4D - 8988 B8000000		  - MOV	 DWORD PTR [EAX+B8], ECX
That's it, proses debugging selesai karena kita sudah mendapat alamat perintah yg menulis ke Impact Entry...

...

Lanjut ke proses gamehacking:

Sebelumnya, demi kemudahan penulisan dan menghindari kebingungan, aku akan menghilangkan kode hexa (0x) didepan address... Cukup temen" memaklumi bahwa address, register, value yg akan disebutkan selanjutnya adalah dalam sistem bilangan hexadesimal... ^^

Ok, jadi kita punya kode perintah yg kita temukan, yang merubah-rubah isi Impact Entry, yaitu:
Code:
004D1F4D - 8988 B8000000		  - MOV	 DWORD PTR [EAX+B8], ECX
kalau diterjemahkan kedalam bahasa kita, kira-kira berbunyi: "Copy-kan value ECX (sebanyak 4 byte) kedalam alamat memory [EAX+B8]..."

Berdasar pemahaman algoritma kita, kita bisa menentukan :
  • ECX adalah value dari Slider #2
    ( ...masih ingat khan ? coba scroll keatas, kebagian algoritma bila dirimu terlupa...^^; )
  • EAX+B8 adalah alamat dari Impact Entry
    Jadi EAX+B8 = 06D03878, maka EAX = 06D03878-B8 = 6D037C0
  • Jika kita ingin menuliskan alamat Slider #2 dan Pangya Impact dengan cara yg sama,
    maka setelah kita lakukan perhitungan hexadecimal, kita akan menemukan bahwa:
    • [EAX+B8] -> address Impact Entry Position
    • [EAX+C0] -> address Slider #2 Position
    • [EAC+D0] -> address Pangya Impact Position
mari kita kembali ke kode temuan kita:
Code:
004D1F4D - 8988 B8000000		  - MOV	 DWORD PTR [EAX+B8], ECX
Value ECX pada kode tersebut adalah merupakan value Slider #2... Dan karena kita akan mengalihkannya membuat ECX adalah value Pangya Impact, kita perlu melihat lebih jauh kode-kode sebelumnya dan melakukan trace-back terhadap bagaimana value ECX dibentuk... So, berikut beberapa kode yg kita dapat :

Code:
004D1F3C - A1 808E8200			- MOV	 EAX, DWORD PTR [828E80]
004D1F41 - 8B80 88240000		  - MOV	 EAX, DWORD PTR [EAX+2488]
004D1F47 - 8B88 C0000000		  - MOV	 ECX, DWORD PTR [EAX+C0]
004D1F4D - 8988 B8000000		  - MOV	 DWORD PTR [EAX+B8], ECX ---> ini adalah kode kita
Wow...! Kita sedang beruntung !... Kode yg kita cari, yg membentuk value ECX, bahkan terletak TEPAT sebelum kode kita sebelumnya !!

Mari kita hilangkan 2 kode diatasnya yg 'tidak begitu penting'....
( sebetulnya penting juga karena 2 kode tersebut merupakan pembentuk pointer address" tabel kita pada tutorial sebelumnya... tapi skarang bukan saatnya membicarakan defeating DMA... ^^; )

Kita fokus pada 2 kode ini :
Code:
004D1F47 - 8B88 C0000000		  - MOV	 ECX, DWORD PTR [EAX+C0]
004D1F4D - 8988 B8000000		  - MOV	 DWORD PTR [EAX+B8], ECX
pada address code 004D1F47, ECX dicopy dari alamat address [EAX+C0]...

Jika kita recall sistem address-ing kita yg baru, yaitu :
- [EAX+B8] -> address Impact Entry Position
- [EAX+C0] -> address Slider #2 Position
- [EAC+D0] -> address Pangya Impact Position,

berarti..... pencarian kita berakhir !!

... ... ... ... :p

Ok, untuk lebih jelasnya, perhatikan dua code kita itu berikut ini:

004D1F47 - 8B88 C0000000 - MOV ECX, DWORD PTR [EAX+C0] ---> copy value alamat Slider #2 kedalam register ECX
004D1F4D - 8988 B8000000 - MOV DWORD PTR [EAX+B8], ECX ---> copy value register ECX kedalam alamat Impact Entry
Kalau kedua code perintah diatas dirangkum, maka akan berbunyi seperti ini: "Copy value alamat slider #2 kedalam alamat Impact Entry"...

Dan, karena sesuai target kita: "Mengalihkan sumber value untuk Impact Entry dari yang semula Slider #2 kepada Pangya Impact...", maka kita harus merubah:

Code:
004D1F47 - 8B88 C0000000		  - MOV	 ECX, DWORD PTR [EAX+C0]   ---> EAX+C0 = alamat Slider #2
menjadi:

Code:
004D1F47 - 8B88 D0000000		  - MOV	 ECX, DWORD PTR [EAX+D0]   ---> EAX+D0 = alamat Pangya Impact
... selesailah proses hacking kita...

Mulai saat perubahan kode ini, setiap kali 'bunyi ting kedua' dilakukan, maka slider #2 tidak lagi berperan... Dimanapun posisi slider #2 berada saat itu, tetap saja yg dimasukkan sebagai Impact Entry adalah Pangya Impact...

Dan tentu saja pukulan pangya akan diperoleh, karena nilai keduanya adalah sama... Artinya, selisih jarak antara Impact Entry dengan Pangya Impact adalah NOL... Jika Pangya saja memberi 'toleransi keterpelesetan' sebesar 2 atau lebih untuk tetap pangya, bagaimana dengan pukulan yg 'terpeleset-nya' NOL ? Itu samasekali tidak meleset ! ^^


Maka pada akhirnya ( ..kali ini akhir yang sebenarnya... ^^; )

Penerapan hacking Always Pangya (ver 3.13a):

  • [*]Jalankan pangya, bypass hackshield-nya
    [*]Jalankan program memory-scanner (MHS, CheatEngine, TSearch, Artmoney, dll)
    [*]Masukkan kedalam tabelnya alamat 004D1F49, berikan tipe datanya integer 1 byte
    [*]kalo pada step ini benar, maka value yg muncul seharusnya 192 (hexa C0)
    [*]ganti value ini dengan 208 (hexa D0)
    [*]...DONE!...
Sekarang kita tidak perlu kuatir lagi gagal pangya....

(...Pain in the neck isn't it ? Ribuan kata diketik dalam 3 seri tutorial, ternyata hasilnya hanya butuh merubah SATU byte saja value di memory untuk bisa mengaktifkan always pangya... T_T )

Anyways, kelebihan metoda ini ada 2:
  • Kita jadi bisa memahami cara kerja sistem slider bar... Semoga semakin terpacu untuk menggunakan logic kita untuk mencari cheat kita sendiri...
  • Always pangya ini aman dipakai dalam match mode, karena semeleset apa pun impact pukulan kita, tetap Pangya (bahkan) akan menarik slider kita ke posisi Pangya Impact, dan lawan kita pun akan melihat bahwa slider kita memang berhimpit dengan garis Pangya Impact... Dan pukulan pangya akan terlihat sangat wajar...
That's all there is folks ! Semoga bisa berguna !..

Credits to : L.Spiro, DarkByte, Ghanis Wardhana, untuk tools mereka yg luarbiasa...
Credits to : Eirynee yg udah menemani pencarian hack ini dulu-dulu banget (3 bulan sebelum Gempa Jogja)... "Love ya, Babe !"
Shouts to : CyberX, psycheangel, Citizens, WarAngel, Meta_noia, ShadowIllusions, dan para sesepuh nyit-nyit (mohon maaf tidak bisa menyebut satu-per-satu...) ... "Salaaam !"
Special Thanks : Manhattan yg sudah bersedia meminjamkan id-nya dengan kepercayaan penuh...
Salam Hangat : Semua member nyit-nyit... "Keep up good work guys !"

Dan tidak lupa... CMIIW like always... ^_^


- Whitehat -
 

tau_ah

PAUD
Level 1
sadis kk manhattan ^^ ini baru kita bisa blajar
apa gunanya forum kalo kita cuma bisa ngambil jadinya doang...

tul ga? heheheheheheh.... thx ya kk manhattan aku mau nyoba blajar dulu
dan thx utk nyit2 yang sudah membuat forum ini :huh:
 

loeloe

PAUD
Level 1
nice tutor walaupun agak susah banget buat aku yg ga ngerti program2 @_@ ntar kl tengah jalan stuck boleh dibantu yah :huh:
anyways thx banget buat nice tutornya :huh:
 
H

hehe...

Guest
kk bisa bagi program cheat engine nya ga? sama program MHS nya :huh:

klo bisa upload ke situs ni aja biar gampang di download
 

loeloe

PAUD
Level 1
tutornya ok sih (okz banget malah ^_^ ) cuman ada yg masih blm bisa dimengerti... kl cuman pake artmoney n gr aja bisa ga? atau harus ada ce yang lain lagi yah utk debuggingnya? wait 4 reply ^_^
thx...
 

Manhattan

PAUD
Level 1
kk bisa bagi program cheat engine nya ga? sama program MHS nya ^_^

klo bisa upload ke situs ni aja biar gampang di download
Untuk MHS bisa didapat di: www.memoryhacking.com
Untuk CheatEngine, bisa didapat di: www.cheatengine.org

- Whitehat -
 

Manhattan

PAUD
Level 1
tutornya ok sih (okz banget malah ^_^ ) cuman ada yg masih blm bisa dimengerti... kl cuman pake artmoney n gr aja bisa ga? atau harus ada ce yang lain lagi yah utk debuggingnya? wait 4 reply ^_^
thx...
aku blom coba kalo pake GR, dan terus terang belum tau sistem kerjanye...

Minimal untuk memory-scanning Pangya, biasanya aku pake Jamilah buat
membuka proteksi terhadap pembacaan memory-nya. Terus pake artmoney
buat memory-scanningnya... So, jamilah + artmoney sudah sangat cukup...

Tapi artmoney tidak punya fitur debugging (itu sebabnya artmoney nggak
kena detect oleh hackshield-nya), jadi harus pakai CE...

Untuk MHS, aku udah lama pakenya... Cuman karena masi demo version,
masi blom terlalu stick di MHS karena kurang stabil...

Anyway, MHS selalu diperbaiki secara rutin oleh L.Spiro (si pembuat MHS),
dan IMO ini adalah software yang updatenya paliiing sering yang pernah aku liat...
Aku sangat rekomen untuk software ini... gratis loh ! :D

IMO lagi, MHS bakal jadi yang terbaik, karena fiturnya sangat-sangat kaya...


- Whitehat - :)
 

Manhattan

PAUD
Level 1
MODERATOR PINNED ASAP

ty for share your tut
semoga forum pangya bisa bangkit lagi

^^ welcome back whitehat
Thanks for your warm welcome, kk psycheangel...
Semoga aku bisa sering-sering mampir kesini ya.

- Whitehat -

Ps:
tutor" kk di sub forum Photoshop... dahsyat !..
saya sering dapat inspirasi baru dari sana... ^_^
 

Meta_noia

Domain Owner
Level 1
Hmm...

Selamat Datang kembali, Kk WhiteHat (^^)...

Semoga TUTORIAL yang diberikan bisa membantu Nyit - Nyiters yang lain dalam memainkan game Pangya Online Indonesia ini...


Sekian Dulu
Thx...
 

gw_jomblo

PAUD
Level 1
KEREN ABIS....!!!! ^_^

Btw...
kk manhattan id nya whitehat???itu mah pernah ketemu gw.... ^_^

gw nick nya (heart)MeLLa...

hehehehhe
 

nuklir

TK A
Level 1
sep ada tutor yang jitu. ntar coba ah.
eh kk - whitehat - aku mau tanya nih. kemaren aku otak atik memory editor buat candy n candy nya balik lagi di shop tapi sayangnya.... itu candy ga bisa di beli. nah apakah itu candy ga bisa dibeli gara2 apa? trus kk bisa ga buat candynya terbuka di shop dan bisa di beli^^. trus aku tanya sekalia, kalo equip yg cookie bisa di ganti yg pang ga? heheheh
eh aku punya info, temen aku bisa reset status. dia mainin server pangya, hiks. punya gw reset deh,heheheh.
di bales yah kk - whitehat -
sekian dan terima kasih
 

Manhattan

PAUD
Level 1
kk manhattan id nya whitehat???itu mah pernah ketemu gw.... :p

gw nick nya (heart)MeLLa...

hehehehhe
id-ku di pangya memang whitehat...

di nyit-nyit ini, aku pinjam id-nya manhattan, karena masih belum bisa regis
member baru untuk ke nyit-nyit......

Pas ketemu waktu itu di turney ato di match ya ?
aku sering chat off si, kalo lagi main turney...

:p

sep ada tutor yang jitu. ntar coba ah.
eh kk - whitehat - aku mau tanya nih. kemaren aku otak atik memory editor buat candy n candy nya balik lagi di shop tapi sayangnya.... itu candy ga bisa di beli. nah apakah itu candy ga bisa dibeli gara2 apa? trus kk bisa ga buat candynya terbuka di shop dan bisa di beli^^. trus aku tanya sekalia, kalo equip yg cookie bisa di ganti yg pang ga? heheheh
eh aku punya info, temen aku bisa reset status. dia mainin server pangya, hiks. punya gw reset deh,heheheh.
di bales yah kk - whitehat -
sekian dan terima kasih
Candy ga bisa dibeli karena code send packet untuk candy sudah tidak valid lagi di 'mata' server pangya...
Jaman candy barusan ilang, 'pengadaan ulang' candy masih bisa... Tapi setelah sedikit patch, jadi gak bisa lagi...
Kalo gak salah pesan yg keluar: "Kode item salah"...

Item cookie diganti item pang ? Bisa-bisa aja tuh...
Kalo kk bisa 'mengadakan' barang yg sudah tidak terjual, tentunya kk bisa melakukan ini... :)

Bagaimana pun, ketika kita melakukan pembelian, client kita langsung menghubungkan diri ke server pangya
untuk melakukan cross-check pada database kita di server pangya... Kalau pun kita akal-akalan merubahnya
menjadi pang dari cookie, itu hanya cilent side... Send packet yg terkirim tetap saja kode item itu, yg ketika
di cross check ke srver adalah item cookie....

Kalo gak salah pesan yg keluar jika 'pemaksaan' ini dilakukan: "Kamu tidak cukup uang"...

Tentang reset status dan mainin server pangya.... Maksudnya dia nembus database server pangya dan meng-
obrak-abrik database itu ?

Wah... kalo untuk yg satu ini, saya tidak tahu dan tidak berminat belajar untuk itu... I will stick in gamehacking... :)


- Whitehat -
 
Status
Not open for further replies.
Top