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!!!
How to update pointer after game update?
- Dread_Pony_Roberts
- Table Makers
- Posts: 525
- Joined: Sun Dec 09, 2018 8:46 am
- Reputation: 388
Re: How to update pointer after game update?
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.
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.
Re: How to update pointer after game update?
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...
Hmmmm the game is a beta, so updates will most likely change so much that even wildcard AOBs won't work anymore.Dread_Pony_Roberts wrote: ↑Mon Jul 13, 2020 1:40 pmThere 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.
And i see the table is not using pointer scans.
Re: How to update pointer after game update?
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
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
Who is online
Users browsing this forum: No registered users