Page 1 of 1

Beyond All Reason -- Pointer not found

Posted: Mon Mar 27, 2023 12:08 am
by omegabyte
Quick disclaimer - I'm quite new to this so if you see mistakes, simply call them out without the usual disparaging remarks. I used Cheat Engine's great tutorial to get started. Once I completed that, I wanted to jump into a game and see what I could do.

Beyond All Reason is a free game that seemed like a decent way to start.

I've been able to find metal and energy values (the initial addresses for the values), but to make the table durable, I wanted to find the base pointers for those values, and I did. I saved the base pointers and now every time I load up the game, I can access metal and energy values without having to chase down the new address again. So far so good.

Now, I suspect that the game stores these values based on your color in the game. For most of the scenarios and nearly all skirmishes, the human player is the blue player which is where I did all my testing. However, I went looking for the metal and energy values of the AI players in the skirmishes (the red player for example). I can find the initial addresses for their values easily enough. But when I look for the base pointer writing to that address, it's not found I can't seem to figure out why.

initial addr:
Image

opcodes writing to it
Image

moreinfo confirming what I think is right
Image

Not finding the value
Image

I'm convinced I'm doing something wrong but I can't seem to figure out what it is. Any pointers 8-) would be appreciated.

Re: Beyond All Reason -- Pointer not found

Posted: Mon Mar 27, 2023 2:52 pm
by happyTugs
You're searching for an 8-byte memory address, so change the value type accordingly.

Unless there are some constraints, just hook the instruction and create a reference.

Code: Select all

newmem:
// add filters
mov [entity],rcx
// execute original code
jmp return

hook:
jmp newmem
// padding
return:

entity:
dq 00

Re: Beyond All Reason -- Pointer not found

Posted: Sat Apr 15, 2023 9:53 pm
by davidw38901
Beyond All Reason is a free game that seemed like a decent way to start.

I've been able to find metal and energy values (the initial addresses for the values), but to make the table durable, I wanted to find the base pointers for those values, and I did. I saved the base pointers and now every time I load up the game, I can access metal and energy values without having to chase down the new address again. So far so good.




Can you explain how you found the pointer for the blue team and how you created the table i want to re create what you did for the blue team...
so i found the metal/power int float value and then i right click and what writes to this address this is where i'm lost...

Re: Beyond All Reason -- Pointer not found

Posted: Sun Apr 16, 2023 5:01 am
by davidw38901
i was able to figure it out watching this: