• 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.

[TUTOR] DMA Level Hack

Status
Not open for further replies.

cyberpunkz

PAUD
Level 1
om rakha.....
mo tanya dikit neh...

wow kopi isi dari alamat 0082aff0 ke register EAX !!
code [0082aff0] pasti akan sama disetiap komputer, hanya isinya yg berbeda ternyata
sudah ketebak dong isi dari alamat 0082aff0 adalah 011AA0F0 (dlm urutan terbalik: F0 A0 1A 01) dikomputer saya tapi ^^. kita tentu tidak perlu tahu bagaimana perbedaaan isi dari alamat 0082aff0 bisa terjadi bukan? mau berapapun valuenya, tetap ada di alamat 0082aff0 setiap hari, setiap minggu, sampai suatu saat GM patch ^


maksud nya di register ke EAX kek mana om mentok disini aku :hilarious:

knp YM jrg maen lagi om malah si bro widy yang maen :lol:
 

1642EQ

Sub Mod Pangya
Level 4
@^

coba liat tulisan sebelum kalimat tersebut...
kl tidak salah, " coba kita cari pembentuk eax terakhir kali"

maka itu kita cari kode mana yg mengisi eax terakhir kali..

nah muncul lah kode tersebut setelah kita trace
mov eax, [blabalbal]
artinya kode [blablabal] itu yg mengisi register eax...

kesimpulan nya, [blablablabla] itu adalah base pointer yg kita cari..

regards
1642EQ
 

malieh77

PAUD
Level 1
kk, kok aku kedetect terus yach pake vicious engine v5.0 padahal dah pake blax box resistance 1.0 knapa yach??? mohon bantuannya...
 

seppuku17

1 SD
Banned
^
Wadoh..

GMn yah..

seharusnya tanpa pke BBR juga udah bisa kok..

dinyalain aja stealth mode-nya...

:content: :grin: :wacko:
 
R

regotihm

Guest
pake GR aja dolo...

eh kalo pake BBR bukannya cmn bisa buat trainer ProjectB kan??
 

banyakbacot

TK B
Level 1
@TS

MaaFin OOT

Saia Mo BerTanya ...


PeMbuaTan PoinTer Itu ,....

BerLaku Jg Utk BiKin TraINer di Game Lain


I MeaN KyK MisalNya PeMbuaTaN TraiNer dI RF

MengguNaKan CE 5.4 ??
 

1642EQ

Sub Mod Pangya
Level 4
@LullaByanca

pointer sama aja pada prinsipnya,,
artinya disemua game pasti sama.
hanya belum tentu se-simple pointer di pangya ini (yg dicontohin)
karena ada yg level 1 (seperti contoh) dan ada yg berlevel2, termasuk dalam game pangya ini.

untuk RF kebetulan hampir semua level 1 juga,
jadi tutor diatas bisa digunakan,, saya sarankan dari cheat blink, pointer akan lebih mudah dari cheat tersebut

kalau tentang memory editornya, sah2 saja menggunakan program lain yang memiliki fasilitas debugger,
bisa pake CE / UCE / MHS / olly / dll. saya sarankan menggunakan CE saja, karena contoh diatas menggunakan
CE juga.

semoga bermanfaat.

regards
1642EQ
 

hanbul

Belum Sekolah
Level 1
:smiley_beer: tos dulu kk...sedikit pencerahan tentang pointer.. (hihihi...liat tutor ce bikin mampet aj, untung ad setitik pencerahan tq tq)

tp sayangnya ada beberapa sisi gelap yang belum tercerahkan... mw tanya nih:
1. btw ttg pointer, minta tulung deskripsinya dunk, mahluk apakah itu?
2. masih aga ngawang2 gw tentang logika bikin pointer, kenapa eax, kenapa call, dsb pls share logikanya kk..

thx for every helpfull answer :00100000:
 

1642EQ

Sub Mod Pangya
Level 4
@hanbul
1.
pointer yah.. kl dari yang aku belajar, sebenrnya pointer itu adalah salah satu tipe data.
hanya value dari tipe data pointer ini adalah alamat (address) dari variabel lain.

misal dlm c:
b = 5;
a = &b; // a di assign dengan value dari alamat b, a tidak akan berisi 5.

salah satu kegunaan penggunaan pointer ini adalah, untuk alokasi memory dinamis.
berhubungan dengan suatu struktur data,, misal kita membuat kumpulan data hari.
maka kita tinggal membuat struktur data yang berisi array berukuran 7 (senin - minggu),
karena kita sudah tau nama2 hari hanya ada 7.
nah bila kita akan membuat suatu struktur data yang kita sendiri tidak akan tau berapa ukurannya.
alias ukuran akan ditentukan kemudian. tipe pointer ini berguna disini. apa untungnya?
agar pemesanan memory lebih efisien. dlm kasus diatas, bila dari awal kita atur ukuran array misalnya
10, ternyata yang digunakan hanyalah 2, terjadi pemborosan 8 tempat bukan?
hal ini dinamakan DMA => Dynamic Memory Allocation.

misal dlm c:
int a[10]; // inisialisasi array a dengan ukuran 10 (statik)

int *b;
b = (int *) malloc(sizeof(int) * var); // inisialisasi array b dengan ukuran var (dinamis tergantung value dari var)

kadang dlm bahasa pemrograman tertentu, kita tidak perlu menggunakan pointer, compiler yang akan
secara otomatis menggunakan tipe data ini. bahkan si pembuat program pun tidak perlu tau isi dari pointer tsb.

nah ini jadi bagian kita (reverser) bila kita ingin membuat suatu trainer yang mengambil data yang ternyata dibentuk oleh tipe data pointer. atau dlm bahasa singkatnya, addresnya berubah2, alias DMA, nah kita harus
berbekalkan pengetahuan pointer agar dapat membuat trainer yang dinamis terhadap adanya address2 yg DMA tsb.

dlm contoh di thread ini, hanya menggambarkan adanya pointer level 1. dlm arti kita punya base adress + offset jadilah alamat yang kita cari. ada kalanya kita menemukan pointer menunjuk ke pointer, apa artinya itu?
(((base address + offset) + offset) + offset) baru merupakan alamat yang kita cari.. ini adalah cth level 3.
sebenrnya di game pangya ini pun ada contoh2 pointer level >1, hanya blm sempat dituliskan tutornya.

2.
kl soal eax / ebx / ecx / edx / dsb, itu merupakan register / variabel. kenapa harus eax?
itu ditentukan oleh compiler, karena masing2 ada kegunaannya. yang membuat program sendiri pun
tidak tau kenapa eax yang digunakan. apalagi yang berkutat di level atas, alias bahasa pemrograman spt:
c, c++, pascal, vb, dll. kecuali kita memprogram dlm bahasa level rendah (low level), cth : asm.
dlm contoh diatas memang digunakan register EAX, karena memang alur programnya menggunakan EAX kan?
kl misal digunakan register EBX, saya akan tulis EBX juga. kebetulan contoh diatas diambil dari sebuah
asm code yang menggunakan register EAX.

nah kl soal call, itu pemanggilan fungsi. itupun diatur oleh compiler yang tentunya sesuai dengan alur program yg dibuat. dlm contoh diatas karena kita ingin mencari kpn terakhir kali EAX diakses, maka kita harus mentrace
satu2 tiap asm code yang ada, kenapa satu2 karena alur program dari atas ke bawah. dan kebetulan ada fungsi call,
yang bisa saja ada pengaksesan register EAX disana, dan ternyata memang ada.
Dlm prakteknya tidak harus call, bisa saja jmp, jne, atao apapun. untuk itu diperlukan pengetahuan ttg ASM pula.


mudah2an bermanfaat..

regards
1642EQ
 

hanbul

Belum Sekolah
Level 1
wuihh...thx infonya, duh sayang gw g belajar c jadi aga :dizzy:

eh...apa proses nyari pointer slalu sama, cari eax , trus cari yg ada callnya dsb... spt yg TS bilang ??
 

1642EQ

Sub Mod Pangya
Level 4
@hanbul

2.
kl soal eax / ebx / ecx / edx / dsb, itu merupakan register / variabel. kenapa harus eax?
itu ditentukan oleh compiler, karena masing2 ada kegunaannya. yang membuat program sendiri pun
tidak tau kenapa eax yang digunakan
. apalagi yang berkutat di level atas, alias bahasa pemrograman spt:
c, c++, pascal, vb, dll. kecuali kita memprogram dlm bahasa level rendah (low level), cth : asm.
dlm contoh diatas memang digunakan register EAX, karena memang alur programnya menggunakan EAX kan?
kl misal digunakan register EBX, saya akan tulis EBX juga. kebetulan contoh diatas diambil dari sebuah
asm code yang menggunakan register EAX
.

nah kl soal call, itu pemanggilan fungsi. itupun diatur oleh compiler yang tentunya sesuai dengan alur program yg dibuat. dlm contoh diatas karena kita ingin mencari kpn terakhir kali EAX diakses, maka kita harus mentrace
satu2 tiap asm code yang ada, kenapa satu2 karena alur program dari atas ke bawah. dan kebetulan ada fungsi call,
yang bisa saja ada pengaksesan register EAX disana, dan ternyata memang ada.
Dlm prakteknya tidak harus call, bisa saja jmp, jne, atao apapun. untuk itu diperlukan pengetahuan ttg ASM pula.
sepertinya yang dibold sudah menjawab pertanyaan.
intinya, tidak selalu mencari EAX lalu call. tidak seperti itu..
contoh diatas hanya salah satu contoh pada game pangya.
rata2 base pointer itu disimpan dlm bentuk mov reg, [xxxxxxxx], dgn reg adalah register EAX atau
EBX, atau ECX, atau EDX dan seterusnya, dan xxxxxxxx adalah base address.

regards
1642EQ
 

speed4

Belum Sekolah
Level 1
Mau tanya nih klo masukin pointer yg sudah kita cari ke GTS gmn yah kk masih bingung neh


Cth:

P->15A34418

itu dari pointer 0064b338 offset (Hex)F43F8


nah masukin tuh code ke GTS gmn yah kk mohon pencerahan itu g test maen Farm Frenzy gamehouse
 

1642EQ

Sub Mod Pangya
Level 4
@^

wah kl di GTS saya kurang tau..
yg pasti musti bisa read dulu [add] lalu poke [hasil read+offset] dengan suatu value.

mgkn bisa dengan function:
Pointer [basepointer] [offset] Add [value]
Pointer 0064b338 F43F8 Add XX
tp saya kurang yakin juga..

regards
1642EQ
 

yuureka

PAUD
Level 1
masih bingun sama mencari dan menentukan base address/pointer sama offset >.<
kalo 0a000???? sama nda sama 0x000???? (?->bisa brp aja)
kalo dia jump teruz

baru disassemble udah jump (js 0a567028) >.<
ke address jump nya
add eax, 64000000
gak ada bracket ([]) nya, apa bisa jadi base address >.<
gak nemu 0x??????? buat pengurangannya >.<

buat offset nya gimana >.<

bingung T_T
butuh pencerahan :sob: :scare2:
 

1642EQ

Sub Mod Pangya
Level 4
masih bingun sama mencari dan menentukan base address/pointer sama offset >.<
kalo 0a000???? sama nda sama 0x000???? (?->bisa brp aja)
kalo dia jump teruz

baru disassemble udah jump (js 0a567028) >.<
ke address jump nya
add eax, 64000000
gak ada bracket ([]) nya, apa bisa jadi base address >.<
gak nemu 0x??????? buat pengurangannya >.<

buat offset nya gimana >.<

bingung T_T
butuh pencerahan :sob: :scare2:
coba dimulai dengan misal find what writes / access (asumsi menggunakan CE),
nah di form kecil yg baru itu kan ada tulisan, kl ga salah bunyinya "the value of pointer needed
to find is probably xxxxxxxx". nah dari situ aja dulu mulai carinya, kalau bener (pointer level1)
maka di baris asm2 atasnya ada bentuk mov reg, [xxxxxxxx] lalu mov [reg+offset], yyyyyyyy misalnya.
sekali lagi itu kalau level 1 yg simpel.

ato bisa juga setelah menemukan xxxxxxxx, kita find what writes / access ke address tersebut juga.
maka kode asm yg menulis xxxxxxxx akan kita peroleh, nah coba perhatikan kode2 asm diatas2nya.

kalau lewat teori susah2 gampang sih, kalau disertai contoh memang lebih enak.


kl cth diatas mov eax, 64000000. dar kodenya itu menambahkan 64000000 ke register eax,,
tidak ada base pointer disitu..mungkin diatas2nya lagi...

mudah2an membantu

regards
1642EQ
 

zombietolol

1 SD
Level 2
Om.... Bisa Jelasin Untuk Multilevel Pointer Gx Om.....

Gw Msh Bingung Untuk Pointer Yang Satu Ini.....

Pusink dah..... Pointer To Pointer To Pointer To Pointer To Address..... :bolakbalik:
 

1642EQ

Sub Mod Pangya
Level 4
@^

saya kasih contoh aja yah:
Code:
00440000 mov ecx, [00800000]
00440006 mov ecx, [ecx + 00002222]
0044000C mov eax, [ecx + 000000AA]
contoh diatas, merupakan DMA pointer level 3
base pointer 1 di [00800000] dengan offset 0
base pointer 2 di [base pointer 1] dengan offset 2222
base pointer 3 di [base pointer 2] dengan offset AA

atau dengan kata lain: [[[base pointer 1 + 0] + 2222] + AA]

ini adalah contoh DMA level 3 yang kebetulan tersusun berurutan.
dari address 00440000 - 00440010.
dalam prakteknya 3 (tiga) baris asm diatas belum tentu berurutan,
bisa saja kode ke-3 berada di 00450004.
cara mencarinya selalu dimulai dari bawah, alias dari level 3 -> level 2 -> level 1.
namanya juga reverse enginering.. ^^

mudah2an bermanfaat

regards
1642EQ
 

baponk

1 SD
Level 2
@^
mo tanya ni om
setiap saya cari pointer dari item hack kok DC molo yah?
contoh
saya kan udah add address to the list,
trs klik kanan>find out what writes to this address
trs saya main alba lagi<menggunakan item> malah DC
knp yah
 
Status
Not open for further replies.
Top