| View previous topic :: View next topic |
| Author |
Message |
ConanOfOz Newbie cheater
Reputation: 0
Joined: 13 Jul 2015 Posts: 12
|
Posted: Tue Aug 02, 2016 9:33 am Post subject: Creating a pointer to an address in AA |
|
|
I have an address "Status" created by an aobcan, but I need a pointer to it (so I can use offsets).
How do I create a pointer in AA?
|
|
| Back to top |
|
 |
cooleko Grandmaster Cheater
Reputation: 11
Joined: 04 May 2016 Posts: 717
|
Posted: Tue Aug 02, 2016 11:59 am Post subject: Re: Creating a pointer to an address in AA |
|
|
the AOB template wil register the AOB scan result, if you didnt use the template then you need to register the symbol yourself.
| Code: | Status+Offset:
db/dd value
...
Status+8:
dd (float)32
|
or
| Code: | mov [Status+Offset], value
...
mov [Status+8], (float)32 |
|
|
| Back to top |
|
 |
STN I post too much
Reputation: 43
Joined: 09 Nov 2005 Posts: 2676
|
Posted: Tue Aug 02, 2016 7:17 pm Post subject: |
|
|
By using [] - BOOM pointer created
_________________
|
|
| Back to top |
|
 |
Zanzer I post too much
Reputation: 126
Joined: 09 Jun 2013 Posts: 3278
|
Posted: Tue Aug 02, 2016 8:49 pm Post subject: |
|
|
| Amazeballs
|
|
| Back to top |
|
 |
ConanOfOz Newbie cheater
Reputation: 0
Joined: 13 Jul 2015 Posts: 12
|
Posted: Wed Aug 03, 2016 3:01 am Post subject: |
|
|
I don't think I've been clear.
Here is the code that creates Status
| Code: | [ENABLE]
//code from here to '[DISABLE]' will be used to enable the cheat
aobscan(Status,00 00 80 BF ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? 00 00 80 BF ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? 00 00 80 BF ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? 00 00 80 BF ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? 00 00 80 BF ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? 00 00 80 BF)
alloc(MyMem,$1024)
// I need code to create a new variable, "pStatus" which points to the ADDRESS, not the value.
registersymbol(Status)
[DISABLE]
//code from here till the end of the code will be used to disable the cheat
dealloc(MyMem)
unregistersymbol(Status) |
My problem is that I can't use Status in the way I want. As you can see by the attachments, [Status] is not recognized (image labeled "1"), and either Status or "Status" gives me the value, not the address (image labeled "2").
CE is telling me that Status points to address BF800000; this is clearly not correct.
Maybe I have this all backwards, but I thought in this case that Status should return an address, something like 0933C204, while [Status] would return the value pointed to, in this case, BF800000.
I want to create pStatus and load it with the address of Status, so then I can use pStatus as a pointer; that is what I'm trying to achieve.
| Description: |
|
| Filesize: |
15.46 KB |
| Viewed: |
4321 Time(s) |

|
| Description: |
|
| Filesize: |
15.33 KB |
| Viewed: |
4321 Time(s) |

|
|
|
| Back to top |
|
 |
PinPoint Expert Cheater
Reputation: 10
Joined: 07 Apr 2016 Posts: 223 Location: Scotland
|
Posted: Wed Aug 03, 2016 3:19 am Post subject: |
|
|
add "status"+10 to the addresslist as a normal address and it will show you the address and the associated value
the pointer in 2 above is doing what you told it to do. pointing to a value which is to be used as an address.
and you used the [] wrong. if you put [status] in the address list as a normal address it would act like a pointer.
I think you are mixed up with aobscan on an instruction(injection copy) and aobscan in memory region(aob to data) in terms of getting a pointer to an address. the aobscan in memory region is your "pointer"
you dont really need to allocate all that memory either.
read the aob to data part http://forum.cheatengine.org/viewtopic.php?t=572465
if you want it to be pStatus you use in the table though use this script and use pStatus as your address
| Code: | [ENABLE]
aobscan(Status,00 00 80 BF ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? 00 00 80 BF ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? 00 00 80 BF ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? 00 00 80 BF ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? 00 00 80 BF ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? 00 00 80 BF)
label(pStatus)
registersymbol(pStatus)
Status:
pStatus:
[DISABLE]
unregistersymbol(pStatus)
|
|
|
| Back to top |
|
 |
ParkourPenguin I post too much
Reputation: 152
Joined: 06 Jul 2014 Posts: 4715
|
Posted: Wed Aug 03, 2016 9:19 am Post subject: |
|
|
| ConanOfOz wrote: | | CE is telling me that Status points to address BF800000; this is clearly not correct. |
When address A points to address B, that means B is the value stored at A. As such, CE is clearly correct.
| ConanOfOz wrote: | | I thought in this case that Status should return an address, something like 0933C204, while [Status] would return the value pointed to, in this case, BF800000. |
That is absolutely true. By ticking the "pointer" checkbox, you are making CE treat it as a pointer, not as an address. CE is dereferencing that pointer for you (as a pointer should be treated). If you want to treat it as an address, don't tick the "pointer" checkbox. Instead, paste it into the "Address" field at the top.
If you still don't understand, google around for an explanation on what a pointer is. It's clear you have some misconceived notions about pointers.
_________________
I don't know where I'm going, but I'll figure it out when I get there. |
|
| Back to top |
|
 |
|