Jump to content

Recommended Posts

Posted (edited)

I have a following script that can read the memory of an inputted address of a game. This works, although there is also a thing in game called "pointers", along with an "offset". I currently do not know how to read these two, so looking for some help.

The current script I'm using is:

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

#include <winapi.au3>

Global Const $PROCESS_VM_OPERATION = (0x0008)

Global Const $PROCESS_VM_READ = (0x0010)

Global $Process="somegame.exe"

Global $Pointer = 0x00XXXXX; replace with the address

$handle=_WinAPI_OpenProcess(BitOR($PROCESS_VM_OPERATION,$PROCESS_VM_READ),False,ProcessExists($Process))

$s=DllStructCreate("int")

Local $read

_WinAPI_ReadProcessMemory($handle,$Pointer,DllStructGetPtr($s),DllStructGetSize($s),$read)

MsGbox(0,"Read value",DllStructGetData($s,1))

_WinAPI_CloseHandle($handle)

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

In other words, I want to know what to assign $pointer if I have a POINTER of 00597EF0 and an OFFSET of 18.

I am familiar with NomadMemory too, but haven't really gotten these two values to work with it.

Edited by pokemaster
Posted

I think you mean you have a memory address that point to a Pointer.

You can get the Pointer from reading the memory and then use the value of the Pointer again to read the real value.

Now Offset is like an array[0] = offset 0, array[1] = offset 1

Now you will have to learn about the size of each variable and multiply it with the offset.

Am not going to get into but search it!

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...