Anda di halaman 1dari 10

Salam..

Mungkin tutorial ini sangat2 basic, jadi bagi anda yang sudah expert... lewati saja tutorial ini :)
Bytecode hacking atau lebih dikenal dengan Array of Bytes (AoBs) Flash Game hacking merupakan salah satu
cara untuk hacking suatu game, baik game standalone yang di program dengan bahasa pemograman tingkat tinggi,
maupun web base game yang kebanyakan menggunakan AS2 atau AS3 flash script,.
Dalam tutorial yang akan saya tulis saya menggunakan metode AoB modifikasi atau juga dikenal dengan pre-
hack game, tentunya dalam tutorial ini hanya menjelaskan tentang flash game yang menggunakan AS3 script.
Tutorial ini saya tulis karna permintaan beberapa teman..yg ingin belajar bytecode hacking atau di kenal
Array of Bytes (AoBs) Flash Game hacking, jadi untuk pertama kita siapkan dulu game yang mau kita hack, kita main
dulu bebrapa saat agar kita tau apa yg terjadi/ apa yang di inginkan game. misalkan game membutuhkan energi,
coin, exp, combo, etc.. yang mana item, atau effeks tersebut bisa berkurang dan bertambah di dalam game. sebut
saja coin akan bertambah jika kita melakukan sebagian misi, tapi juga akan berkurang ketika membeli suatu item,
begitu juga energy.
if you know your enemies and know yourself, you can win a hundred battles without a single loss.
If you only know yourself, but not your opponent, you may win or may lose.
If you know neither yourself nor your enemy, you will always endanger yourself.
- Sun Tzu, The Art of War -

yuk mulai...


Pertama persiapkan tools dasar yang dibutuhkan dalam hacking flash game,.
1. Browser (Firefox, Chrome,IE, etc)
2. Cheatengine (bisa di download di www.cheatengine.org) kredit utk darkbyte
3. Shothink SWF Decompiler (cari di google sekalian ma cracknya biar full)
4. Windows Calculator (memudahkan kita menconvert angka dari desimal ke hex)
5. Charles (www.charlesproxy.com) memudahkan kita mendapatkan file swf dari game.
6. http://bluecork.net/cheats/short.php?val=1000 (untuk memudahkan convert decimal ke pushsort value)
7. http://www.anotherbigidea.com/javaswf/avm2/AVM2Instructions.html (ini mesti kita tau,.. tidak harus hafal..
tapi wajib tau :)
8. untuk sebagian game kita membutuhkan tools extra lainnya.
-------o0o-------



Kita mulai dengan mengambil file swf dari game..
Buka browser, kosongkan cache browser, buka charles yg kita download tadi lalu kembali lagi browser dan
buka game.. usahakan jangan buka web lain selain game. sekarang liat satu persatu file yng ditampilkan charles, cari
file swf.. untuk game usahakan cari main file nya biasanya nama filenya hampir sama dengan nama game, atau bisa
juga berupa "MainApp.swf", "Game.swf", etc
Step 1
Step 2
Apa jadinya sesuatu yang false kita ubah menjadi true, samadengan/lebih besar (=>) kita ganti menjadi
samadengan/lebih kecil (=<) sesuatu yang seharusnya berkurang.. kita ganti menjadi bertambah.
Untuk tutorial ini saya menggunakan game facebook csi:crimecity karna game ini mewakili hal-hal dasar
dalam proses hacking flash game didalam script as3 akan terdapat code matematikan dasar..

+ = add = tambah = a0
- = subtract = kurang =a1
* = multiply = kali =a2
/ = devide = bagi =a3

untuk melihat aob fungsi di atas liat point 7 di step 1.

setelah anda lakukan seperti di gambar trus anda download file swf nya dengan cara copy paste url nya di download
manager.
selanjutnya..
-------o0o-------






Lakukan decompiler dengan tool Sothink yng kita download tadi, caranya


pilih folder tempat anda simpan file swf barusan seperti di gambar,.
klik file swfnya sampe muncul panel sebelah kanan dan ada tanda ( + ) di awal file, klik tanda + tersebut untuk
melihat isi dari file swf, bila filenya besar maka proses mebuka file nya akan sedikit lama, juga bila filenya di encrypt
maka kita tidak dapat membuka file dengan mulus.
setelah di klik tanda + maka akan ada list file, buka lagi list file Action, buka lagi list file yang ada didalam Action
sampe anda menemukan file yang menurut anda memiliki peluang untuk kita cari AoB, kalo di gambar akan terlihat
Action - game - GameManager << ini untuk game csi:crimecity
beda game, beda pula struktur filenya, jadi gunakan sedikit imajinasi anda. :) think like game admin.
App_Main.swf - Action - game - GameManager <<< game csi:crimecity
setelah kita lakukan pencarian didalam game crimecity kita dapati script sebagai berikut

------
this.currentXP = this.currentXP + Math.ceil(this.currentXP * (1 + this.bonusBarVO.bonusCount / 100) - this.currentXP);
------
diatas adalah script yang digunakan untuk menentukan jumlah bonus Xp yang kita terima setiap kita melakukan
searching didalam game.
Step 3
kembali lagi ke sothink kemudian liat sedikit keatas akan kita temukan, kita bisa liat
(1 + this.bonusBarVO.bonusCount / 100) - this.currentXP)
artinya kalo kita dapat bonus bar 100 jadi script
(this.currentXP * (1 + 100/100) - this.currentXP) sama dengan (1 + 1) - this.currentXP
sedangkan "this.currentXP" adalah jumlah contans atau jumlah permanen Xp yang diberikan oleh game yang tidak
bisa dirubah. sedangkan "math.ceil" adalah funsi matematika untuk pembulatan, jadi dengan math.ceil kita tidak
dapati angka dengan koma.
misal bila this.currentXP = 50, maka srciptnya menjadi
this.currentXP = 50 + Math.ceil(50 * (1 + 1) - 50) jadi bila kita memiliki bonusbar 100 maka bonusXp yg kita dapat
adalah 100.
nah.. bagaimana kalo "- 50)" di bekalang kita ubah menjadi + 50)
this.currentXP = 50 + Math.ceil(50 * (1 + 1) + 50) jadi bila kita memiliki bonusbar 100 maka bonusXp yg kita dapat
adalah 150.
tentu saja hasilnya akan lebih besar jika angka 1 kita ganti dengan angka yg lebih besar, tapi di tutorial ini saya hanya
akan mengganti fungsi matematika saja.
--------
public function onEnterFrame_xp(event:Event) : void
--------
ini adalah function yng menjalankan srcipt XP tadi, kita copy onEnterFrame_xp dan paste di slot "search for:" disudut
kiri atas sothink. di software sothink sendiri kita dapat menentukan code yang ingin kita liat apakah dalam bentuk
"source code", "p-code", dan "raw data" sebagaimana terlihat di panel atas sothink



Untuk menemukan aob dari script XP, maka kita lakukan pencarian dalam bentuk "raw data" lalu tekan tombol
"search current as"
lalu scroll kebawah hingga anda menemukan kata2 subtract, karna kita ingin mengganti (-) dengan (+) maka subtract
yang aob menjadi "a1" kita ganti dengan "add" atau "a0". anda pasti telah mengetahui jenis AoB dari As3 script bila
anda membaca tutorial ini dari awal pembahasan.
----------------
//d0
_as3_getlocal <0>
//66 d9 1f
_as3_getproperty currentXP
//a1
_as3_subtract
//46 a7 38 01
_as3_callproperty ceil(param count:1)
----------------

tampilan selalu di awali oleh aob baru setalah itu op-code, jadi kalo subtract maka code diatasnya ada "a1"
selanjutnya kita ambil aob nya saja dan hapus semua op-code, maka akan kita dapati
d066d91fa146a73801 <<< original aob value
lakukan scaning di cheatengine, pilih proses plugin-container.exe atau flash_playerxxxx_xxx.exe (firefox), chrome.exe
(gchrome), etc
ubah value type menjadi "Array of byte" lalu tekan first scan.. jika anda dapat result lebih dari satu maka,
tambah beberapa angka/huruf code aob atau search aob code yang lebih panjang. setelah dapat hasil pasti,.. maka
ubah code "a1" mejadi "a0"
d066d91fa046a73801 <<< hacked value

Step 4
sekarang main kan gamenya dan liat apakah ada perubahan bonusxp nya, jika tidak maka aob harus di scan dan di
ubah ketika gamenya loading, untuk sbagian besar flash game harus dilakukan scaning dan ubah value ketika game
loading. hasilnya sebelum saya ubah bonus xp game crimecity dengan bonusbar full 100% maka saya dapat
tambahan bonus 100, tapi setelah saya ubah aob nya maka bonus xp menjadi 150.
-------o0o-------



Ini masih lanjutan dari step 4 tapi kali ini kita mencari energi, yangmana selalu berkurang bila kita melakukan
searching, dan berkurangnya energi berbeda sesuai dengan tool yang di gunakan dalam game. kembali kita buka
sothink dan kita scroll dan liat2 lagi, kira2 script mana yang mempengaruhi energy. saya dapati script berikut masih
dalam file yang sama dengan script XP
---------------------------
if (!this.searchedFlag && !this.energyFlag && !this.toolFlag)
{
this.currentUserVO.EP = this.currentUserVO.EP - _loc_3;
this.hudPx.updateHud();
this.hudPx.boostFlashStart();
---------------------------
EP = energy
_loc_3 = this.currentTool.energy[_loc_2];

jadi artinya energy user = energy yang ada sekarang di kurangi energy yang dibutuhkan tools kita liat dalam bentuk
raw data untuk kita ganti subtract (-) menjadi add (+) biar energy user = energi yang ada sekarang ditambah energy
yang dibutuhkan tools
this.currentUserVO.EP = this.currentUserVO.EP + _loc_3;
setelah kita lakukan search dalam bentuk raw data seperti halnya mencari XP bonus
maka kita dapati script sebagai berikut :
-------------
//66 99 16
_as3_getproperty EP
//d3
_as3_getlocal <3>
//a1
_as3_subtract
//61 99 16
_as3_setproperty EP
//d0
_as3_getlocal <0>
--------------
669916d3a1619916d0 <<< original aob value
669916d3a0619916d0 <<< hacked value
Step 5

kita lakukan search dengan cheatengine,.. dan kita ganti a1 dengan a0 agar setiap melakukan searching didalam
game energi kita akan bertambah menurut value energi yang dibutuhkan tools

ternyata berhasil..
selanjutnya silahkan agan2 utak-atik lebih lanjut dengan game ini,. saya hanya bisa memberi basic nya saja. bila anda
menginginkan hasil lebih besar tentu saja anda bisa mengganti subtract dan add dengan multiply (*) atau kali.
setelah kita menemukan aob yang kita perlukan sekarng tinggal kita buat trainernya... ada banyak cara untuk
membuat trainer.. tapi saya sendiri lebih suka membuat cheat table atau CT yang bisa di jalankan di cheatengine
layaknya trainer. copy paste form berikut pada notepade, lalu save dengan extensi *.CT,












-----------------------cut-------------------------

<?xml version="1.0" encoding="utf-8"?>
<CheatTable CheatEngineTableVersion="14">
<CheatEntries>
<CheatEntry>
<Description>"Energy"</Description>
<Color>80000008</Color>
<VariableType>Auto Assembler Script</VariableType>
<AssemblerScript>
[ENABLE]
Aobscan(_energy,66 99 16 d3 a1 61 99 16 d0)
label(energy)
registersymbol(energy)
_energy:
energy:
db 66 99 16 d3 a0 61 99 16 d0
[DISABLE]
energy:
db 66 99 16 d3 a1 61 99 16 d0
unregistersymbol(energy)
</AssemblerScript>
</CheatEntry>
<CheatEntry>
<Description>"Bonus XP"</Description>
<Color>80000008</Color>
<VariableType>Auto Assembler Script</VariableType>
<AssemblerScript>
[ENABLE]
Aobscan(_xp,d0 66 d9 1f a1 46 a7 38 01)
label(xp)
registersymbol(xp)
_xp:
xp:
db d0 66 d9 1f a0 46 a7 38 01
[DISABLE]
xp:
db d0 66 d9 1f a1 46 a7 38 01
unregistersymbol(xp)
</AssemblerScript>
</CheatEntry>
</CheatEntries>
<UserdefinedSymbols/>
</CheatTable>

------------------------










ini adalah basic form dari cheat table, ada banyak form yang bisa kita buat, anda bisa mencari form CT di forum
cheatengine.org sedangkan yang saya gunakan adalah basic form, agar mudah di pahami. :)
setelah di save kita load ke cheatengine dengan klik icon folder di CE dan cari file CT yg kita simpan. selanjutnya
aktifkan ketika game akan kita mainkan/loading, jangan diaktifkan didalam game, karna kebanyakan game harus
diaktikan cheatnya ketika loading.

mungkin hanya ini sedikit tutorial dari saya.. mudah-mudahan bermanfaat bagi member N3 khususnya yang ingin
belajar AOB Flash Game Hacking, tentunya tutorial ini jauh dari sempurna, jadi penulis sangat berharap banyaknya
masukan yng membangun dari para pembaca
dan jika saya punya ilmu dan waktu lebih, saya akan lanjut tutorial ke level selanjutnya.. :)
------ o0o ------



Ada bebrapa hal yang menghalangin kita melakukan hacking flash game dengan mudah,
script game di encrypt, ex : dragoncity, baseball heroes, angry bird friends, etc
server side, kebanyakan game sekarng selalu melakukan syncron antar client dengan server, bila terjadi ketidak
cocokan maka game akan error
game menggunakan hash/MD5 disemua fungsi matematika.
Etc.



ada banyak lagi fungsi didalam as3 script, sebut saja pushtrue = 26, pushfalse = 27, returnvoid = 47, returnvalue = 48
increment, decrement... dan lain2, silahkan anda pelajari AVM2Instructions, coba anda memulai modifikasi salah
satu fungsi2 tersebut yang terdapat didalam game, jika dia true coba anda ubah menjadi false, juga sebaliknya, jika
kurang, kita ubah menjadi tambah, dll.
Selamat mencoba


Thanks&Credit to:
-admin & staff N3
-seluruh member N3


Author : djaggo
30112012

Note
Note 2

Anda mungkin juga menyukai