View previous topic :: View next topic |
Author |
Message |
FreewareFire Newbie cheater
Reputation: 0
Joined: 27 Mar 2013 Posts: 14
|
Posted: Fri Nov 11, 2016 4:06 am Post subject: Find all offsets an base address is using ? |
|
|
Hi,
i'm currently stuck and i can't figure out what i'm looking for. I've searched Google and Forums but maybe i'm to stupid to look for the correct phrase...
My Problem: I've found an base address. So far so good. Let's say the
address is 0x10000000. What i'm looking for is a way to get all offsets that are using this base address.
Let's say Base is: 0x10000000
Offset 1: 0x50 + 0x1C
Offset 2: 0x50 + 0x1F
Offset 3: 0x90
Offset 4: 0x10 + 0xFF + 0x2C
...
Scan for all Offsets that are using the Base Address. Is that possible?
Thank you for any help...
|
|
Back to top |
|
 |
Cake-san Grandmaster Cheater
Reputation: 8
Joined: 18 Dec 2014 Posts: 541 Location: Semenanjung
|
Posted: Fri Nov 11, 2016 4:26 am Post subject: |
|
|
Sorry, I'm not fully understand your question...
But, there are two ways that I know...
First , you can try exploring the structure for that base address using Stucture dissect (Ctrl+Alt +C) . It's a bit tedious to guess the offset by exploring the structure but , it's easier if everything is labeled/symbolize when you defined the structure but unfortunately not all game can be like that, only some ,eg: some .net & mono games...
Second , you can try using the pointer scanner. Set the base address using that base address that you got & set/choose either to scan by address or by value... Set the pointer level ( you guess it ). Then, run the scan and wait....
Well, sometimes you get what you want and sometimes you don't, it depends on the game and your luck ( exp , knowledge , etc... )
_________________
... |
|
Back to top |
|
 |
FreewareFire Newbie cheater
Reputation: 0
Joined: 27 Mar 2013 Posts: 14
|
Posted: Fri Nov 11, 2016 7:47 am Post subject: Thank you! |
|
|
Hello Cake-san,
your second suggestion sounds interesting. Maybe I can explain it better.
As said I have a base address. This base address is used by money, game time and some other values. The problem is that after an update the offsets are changed. It's stupid to search every value from scratch. The only constant value is the base address for the values. So if there's a way to get all offsets for that base, it's easier than doing manual search for each value...
Thx!
|
|
Back to top |
|
 |
ParkourPenguin I post too much
Reputation: 152
Joined: 06 Jul 2014 Posts: 4702
|
Posted: Fri Nov 11, 2016 8:39 am Post subject: |
|
|
The set of all offsets from any given base address used by the game can't be found by only looking at the base address. It would be like playing a guessing game where the number to be guessed is between 0 and infinity.
Using the pointer scanner is one solution. Set the max offset value and max level based on their values before the game update (give max offset some leeway).
If the game updating frequently is a problem, a code injection with a good AoB signature will be less likely to break than a multilevel pointer path. See this topic for information on that and the pointer scanner. It's a bit dated, but it should suffice.
Edit: actually, I remembered the structure spider is a thing if you need to find pointers. Open the structure spider (Tools menu of the memory viewer), set the "Base Region" field to the value at the base address (e.g. [game.exe+1234] instead of only game.exe+1234), set the max level / structsize fields appropriately, and set the "Pointer must be in range" fields to the address you want to find.
_________________
I don't know where I'm going, but I'll figure it out when I get there. |
|
Back to top |
|
 |
H4x0rBattie Advanced Cheater
Reputation: 0
Joined: 10 Nov 2016 Posts: 58
|
Posted: Sat Nov 12, 2016 12:23 pm Post subject: Re: Thank you! |
|
|
FreewareFire wrote: | Hello Cake-san,
your second suggestion sounds interesting. Maybe I can explain it better.
As said I have a base address. This base address is used by money, game time and some other values. The problem is that after an update the offsets are changed. It's stupid to search every value from scratch. The only constant value is the base address for the values. So if there's a way to get all offsets for that base, it's easier than doing manual search for each value...
Thx! |
You will need to create a signature for that offset ie. reverse that function to get op codes and then use an appropriate tool to find the updated offset based on the signature you just created.
Search UC forum for offset dumper to get you started.
_________________
|
|
Back to top |
|
 |
FreewareFire Newbie cheater
Reputation: 0
Joined: 27 Mar 2013 Posts: 14
|
Posted: Sun Nov 13, 2016 3:10 am Post subject: |
|
|
Hello H4x0rBattie,
that's exactly what i did at my first attemps. I reversed the Structure. But if you read my first post carefully you will notice that these Structure is changing after Update...
Money ex. : base + 0x30 + 116C
after Update: base + 0x74 + 155A
base in both cases is the same but the offsets are different. But anyway thank you for your reply!
|
|
Back to top |
|
 |
H4x0rBattie Advanced Cheater
Reputation: 0
Joined: 10 Nov 2016 Posts: 58
|
Posted: Wed Nov 16, 2016 1:49 pm Post subject: |
|
|
FreewareFire wrote: | Hello H4x0rBattie,
that's exactly what i did at my first attemps. I reversed the Structure. But if you read my first post carefully you will notice that these Structure is changing after Update...
Money ex. : base + 0x30 + 116C
after Update: base + 0x74 + 155A
base in both cases is the same but the offsets are different. But anyway thank you for your reply! |
You're after a truly auto-updating hack. Then your code must read op code for the offset as well and then sum it up. I think it can go easily broken though but you can try it.
I haven't done that before, still learning ASM as well.
_________________
|
|
Back to top |
|
 |
|