biasanya kebanyakan orang memanfaatkan seperti memmory address nya uang dalam game atau memmory addressnya darah dalam game atau juga memmory addressnya score dalam game dan masih banyak lagi.. sekarang yang dibahas disini adalah bagaimana langkah-langkah cara untuk memanfaatkan memmory address dan bagaimana code-code dalam bentuk vb. seperti apaya?
oke langsung aja. dalam hal ini kita akan berinteraksi dengan system windowsnya sendiri yang biasa disebut API (Aplication Programming Interface)
langkah pertama API yang kita gunakan:
"Findwindow"
Private Declare Function FindWindow Lib "user32" Alias _
"FindWindowA" ( _
ByVal IpClassname As String, _
ByVal IpWindowName As String) As Long
API
API ini berfungsi untuk mencari suatu program/aplikasi yang sedang Running.
#text berwarna merah = nama API dimana kita bisa memanggil fungsi API tersebut dengan keyword "FindWindow"
#text berwarna biru = merupakan parameter pertama. parameter ini bisa diisi sesuai nama Class Name dari aplikasi/program. contoh microsoft word memiliki class name yaitu "OpusApp".
#text berwarna Hijau = merupakan parameter kedua. parameter ini bisa diisi sesuai nama Window Name nya atau judul window nya seperti gambar dibawah:
Contoh Pemanggilan fungsi API ini untuk mencari microsoft word:
CODE
API Kedua yang dibutuhkan yaitu:
"GetWindowThreadProcessId"
Private Declare Function GetWindowThreadProcessId Lib "user32" ( _
ByVal hwnd As Long, _
lpdwProcessId As Long) As Long
API ini berfungsi untuk mendapatkan Process ID dari sebuah aplikasi/program yang sedang running.
#text berwarna biru = Merupakan Parameter pertama. diisi dengan Hasil Return dari pemanggilan fungsi "Findwindow" tadi
#text berwarna Hijau = merupakan parameter kedua. diisi dengan variable bertipe Long untuk menyimpan sementara Process ID dari Program (Process ID ini akan Return ke Variable yang diisi pada parameter kedua).
contoh penggunaan API "GetWindowThreadProcessId"
CODE
code diatas berfungsi untuk mendapatkan Process ID dari Notepad yang nantinya akan disimpan di Variable bernama "pid"
API Ketiga yang dibutuhkan yaitu:
"OpenProcess"
Private Declare Function OpenProcess Lib "kernel32" ( _
ByVal dwDesiredAccess As Long, _
ByVal bInheritHandle As Long, _
ByVal dwProcessId As Long) As Long
API ini berfungsi untuk meng-set suatu Akses ke memmory address suatu aplikasi/program. jika kalian tidak menggunakan api ini akan percuma dan gagal karena akses ke memmory address tidak diperbolehkan. akhirnya harus pake API ini untuk memperbolehkan program cheat kita untuk mengakses Memmory Address.
#Tulisan warna biru = merupakan parameter pertama. bisa diisi dengan nilai "&H1F0FFF". nilai tersebut saya ambil dari konstanta PROCESS_ALL_ACCESS yang artinya membuka semua akses ke memmory address mulai dari 'Read Memory','Write Memory'.
#Tulisan warna hijau = Merupakan Parameter kedua. diisi dengan "False"
#tulisan Warna kuning = Merupakan parameter ketiga. diisi dengan Process ID yang didapatkan melalu fungsi API "GetWindowThreadProcessId"
Contoh Penggunaannya:
CODE
code diatas berfungsi untuk menjadikan process menjadi Process_ALL_ACCESS jadi kalian bisa Read Memory atau Write Memory
API Keempat yang dibutuhkan yaitu:
"WriteProcessMemmory"
Private Declare Function WriteProcessMemory Lib "kernel32" ( _
ByVal hProcess As Long, _
ByVal lpBaseAddress As Any, _
lpBuffer As Any,
ByVal nSize As Long, _
lpNumberOfBytesWritten As Long) As Long
API ini berfungsi untuk mem-write Data Memmory Address suatu program/aplikasi
#Tulisan berwarna biru = merupakan parameter pertama. diisi dengan hasil return dari API "OpenProcess".
#Tulisan berwarna Hijau = merupakan prameter kedua. nah disini anda harus mengisikan alamat Address berbentuk angka ingat tambahkan kata kunci "&H" sebelum kalian menuliskan Alamat Addressnya contoh jika kalian ingin mem-write address 04699709 ini, sebelum mengisi parameter ini diubah dulu menjadi "&h4699709". karena alamat tersebut merupakan bilangan Hexa. baca disini.
#Tulisan berwarna kuning = merupakan parameter ketiga. inilah sebuah value yang akan dikirimkan ke memmory address yang akan dituju terserah parameter ini mau berbentuk hexa atau decimal gak masalah.
#Tulisan berwarna merah = merupakan Parameter keempat. parameter ini menentukan jumlah bytes yang untuk pem-write an kedalam Memory Address. jika kalian ingin memwrite dengan type Unsigned Long isi parameter ini menjadi "4" ini hanya akan mencapai jangkauan buffer dari 0 hingga 4294967295 . satuan diparameter ini berbentuk bytes.
#Tulisan berwarna Coklat = diparameter ini isi saja dengan "0&" alias parameter ini adalah nol.
jadi secara keseluruhan contoh nya seperti ini:
code dibawah contoh untuk mem-Write memory pada address "0227E16A" pada Notepad dengan jangkauan Unsigned Long, walaupun di vb6 tidak ada variable Unsigned Long tapi bisa diakalin kok.
CODE
bagaimana cara mencari address tersebut dan bagaimana mencari address statis agar alamat memory tidak berubah-ubah? jawabannya nanti ada Tutorial Membuat Cheat Game Dengan Vb6 [Part 3]. Sekian dulu yah capek ngetik neh.. hahaha...
kalau ada yang gak ngerti silahkan tanya di Comment kalau sempet tak jawab.
Gan Kasih vidionya aja lah PUSING gue bacanya X_X
ReplyDeletekasih video aja gann
ReplyDeleteMakasi gan tutorialnya. ane dah ngerti
ReplyDelete