How to update pointer after game update?

Memory scanning, code injection, debugger internals and other gamemodding related discussion
Post Reply
starliker
What is cheating?
What is cheating?
Posts: 3
Joined: Thu Jul 09, 2020 10:30 pm
Reputation: 0

How to update pointer after game update?

Post by starliker »

Hello,
I have a very basic question, but using the search function, I didn't find something at all.
Please don't kill me, if I pose a question that was already there :?

There is a pretty good working table, but then an update of the games exe has taken place. Now the pointers are not correct anymore. I already googled some hours and tried to fix it on my own - no success. So maybe you can lead me into the correct direction?

--> How to fix the entry pointer of a certain table? I mean, the offsets hopefully will remain the same?

Table (game "Mortal Shell" beta):
download/file.php?id=24121
Original Author:
cfemen
RCE Fanatics
All rights go to them!

Any help would be highly appreaciated!!! :)

User avatar
Dread_Pony_Roberts
Fearless Donors
Fearless Donors
Posts: 304
Joined: Sun Dec 09, 2018 8:46 am
Reputation: 169

Re: How to update pointer after game update?

Post by Dread_Pony_Roberts »

The only way I know is to have to search for each value as if making it from scratch. You can get a better idea on what to search for if you use the non-working table on the update it was made for.

There are ways to make a table less likely to break from an update, but it requires more advanced methods than pointer scans. Methods such as hooking to code that always references the player base address, not using jumps and calls in aob scans, and other such methods.

ODimm
Cheater
Cheater
Posts: 37
Joined: Fri Jan 31, 2020 12:31 am
Reputation: 15

Re: How to update pointer after game update?

Post by ODimm »

starliker wrote:
Mon Jul 13, 2020 1:17 pm
the offsets hopefully will remain the same?
its Unreal-Engine 4
so offsets will change.
UE4 games are a very very bad choice for beginners to start with updating/creating tables.
i will maybe look at the game...if i like it then i consider trying to update the original table...
Dread_Pony_Roberts wrote:
Mon Jul 13, 2020 1:40 pm
There are ways to make a table less likely to break from an update, but it requires more advanced methods than pointer scans. Methods such as hooking to code that always references the player base address, not using jumps and calls in aob scans, and other such methods.
Hmmmm the game is a beta, so updates will most likely change so much that even wildcard AOBs won't work anymore.
And i see the table is not using pointer scans.

User avatar
SunBeam
Administration
Administration
Posts: 3014
Joined: Sun Feb 04, 2018 7:16 pm
Reputation: 2152

Re: How to update pointer after game update?

Post by SunBeam »

What you can definitely try is creating an aob pattern for an instruction using the base pointer. That way you can read-compute it from there and then build the pointer path. That is if the base pointer is a static address, not obtained via some hook. This will work from this point onward because this is the moment you're reading this :)

Example:

Base address is 142587F0. Meaning something like game.exe+587F0. So your pointer path is this:

4C0
28
142587F0

To find the base you need to search for an ASM operation using 142587F0. Like a read or a write: "mov rax,[142587F0]". Then create an aob for the spot where you found that MOV and build it from there. Getting from the DWORD to the destination address in x64 is done with this formula:

addr = rip + readInteger(rip+offset) + sizeof(instr)

14253458 - 48 8B 05 67 89 20 78 - mov rax,[142587F0]

So: 14253458 + readInteger(14253458+3) + 7 == 142587F0.

The above is a mock-up, but you get the point.

BR,
Sun

Post Reply

Who is online

Users browsing this forum: No registered users