View previous topic :: View next topic |
Author |
Message |
LykanthricAura Advanced Cheater
Reputation: 0
Joined: 17 May 2010 Posts: 58 Location: India
|
Posted: Mon Dec 10, 2012 12:57 am Post subject: Cheat Table in relation to ONE changing Addy |
|
|
I started playing an old game on Visual Boy Advance and it is very simple to cheat. All things are stored in constant relation to a 'Master' address.
For Example:
If...
MASTER Address is 028363A8
First Char HP is at 028363A8+98 = 02836440
Second Char is at 02836440+108 = 02836548
Third is at +108 at 02836650
Fourth is again +108 at 02836758
And so on...in case of HP of the character. For other things also...things remain at constant offsets. So if the Master addy is found. Rest is easy.
Problem is... Master Addy sometimes changes. And to find IT...I can take the help of some other value. Like the first character's HP for example. Once I find the address of the 1st char's HP ...I just offset it by -98 to find the Master.
But how do I make all this into a cheat table? Is there any way I can add a bunch of address to a cheat table with the base address as some ...registered variable perhaps. And then ... If the Master addy changes. I cud manually search for it and Enter it somewhere... So that ALL the rest of the values in the cheat table would change, with respect to the new Master Addy.
Is there anyway this could be done?
In short. I want to be able MANUALLY search an address XXXX and put it in somehow in a cheat table so that, it can be used as an address of reference for all the other entries in the cheat table.
So all the other entries would be something like XXXX+YYY ... YYY being the offset.
|
|
Back to top |
|
 |
daspamer Grandmaster Cheater Supreme
Reputation: 54
Joined: 13 Sep 2011 Posts: 1588
|
Posted: Mon Dec 10, 2012 1:31 am Post subject: Re: Cheat Table in relation to ONE changing Addy |
|
|
LykanthricAura wrote: | I started playing an old game on Visual Boy Advance and it is very simple to cheat. All things are stored in constant relation to a 'Master' address.
For Example:
If...
MASTER Address is 028363A8
First Char HP is at 028363A8+98 = 02836440
Second Char is at 02836440+108 = 02836548
Third is at +108 at 02836650
Fourth is again +108 at 02836758
And so on...in case of HP of the character. For other things also...things remain at constant offsets. So if the Master addy is found. Rest is easy.
Problem is... Master Addy sometimes changes. And to find IT...I can take the help of some other value. Like the first character's HP for example. Once I find the address of the 1st char's HP ...I just offset it by -98 to find the Master.
But how do I make all this into a cheat table? Is there any way I can add a bunch of address to a cheat table with the base address as some ...registered variable perhaps. And then ... If the Master addy changes. I cud manually search for it and Enter it somewhere... So that ALL the rest of the values in the cheat table would change, with respect to the new Master Addy.
Is there anyway this could be done?
In short. I want to be able MANUALLY search an address XXXX and put it in somehow in a cheat table so that, it can be used as an address of reference for all the other entries in the cheat table.
So all the other entries would be something like XXXX+YYY ... YYY being the offset. |
make a pointers?
If its flash game an array of byte (replace changed values with ??), and use the table below
First character HP = master address +98
Second character HP = master address +98 (= First character HP) +108
Third character HP =master address +98 (= First character HP) +108 (=Second character HP) + 108
And so on.
If you got anything else, just add new address that starts with hp and then the add the Y.
For my opinion Aobscan would be the best way, if its flash game of course, if not make a pointer, will be better. (I'm usually making cheats for flash games, so I can use ONLY aobscan)
If you need more help with the aobscan, feel free to add me in skype (cheatertankionline)
Description: |
|
 Download |
Filename: |
CH in relation to one changing addy.CT |
Filesize: |
1.58 KB |
Downloaded: |
751 Time(s) |
_________________
I'm rusty and getting older, help me re-learn lua. |
|
Back to top |
|
 |
LykanthricAura Advanced Cheater
Reputation: 0
Joined: 17 May 2010 Posts: 58 Location: India
|
|
Back to top |
|
 |
LykanthricAura Advanced Cheater
Reputation: 0
Joined: 17 May 2010 Posts: 58 Location: India
|
Posted: Wed Dec 12, 2012 5:50 am Post subject: |
|
|
Bump??
All I need to know is how to put an Address into a 'registeredsymbol' manually?
|
|
Back to top |
|
 |
daspamer Grandmaster Cheater Supreme
Reputation: 54
Joined: 13 Sep 2011 Posts: 1588
|
Posted: Wed Dec 12, 2012 2:08 pm Post subject: |
|
|
No clue to be honest...
Dark byte should make it be easier to use registersymbol in pointers.
(I don't use pointers..)
_________________
I'm rusty and getting older, help me re-learn lua. |
|
Back to top |
|
 |
Corruptor Advanced Cheater
Reputation: 3
Joined: 10 Aug 2011 Posts: 82
|
Posted: Wed Dec 12, 2012 4:32 pm Post subject: |
|
|
Well, i can see what you want to do, though it seems sort of pointless to me. The "Master addy" is basically the start of the ram of the emulated program, and in any visual boy advance version ive ever seen in my life there is a one-level pointer to that block. In the one im currently using, eg, its "VisualBoyAdvance-M.exe"+1DF8E4. Why manually entering it every time if you just as well could use the existing pointer?
Well, to do what you want you'll need to create a Thread i asume. something like this:
Code: |
[ENABLE]
define(rampointer,>some always changing number<)
alloc(exec,100) //code
alloc(pMaster,4) //we're probably gonna get 4kb anyways, lol
registersymbol(pMaster)
CreateThread(exec)
exec:
mov [pMaster], rampointer
ret
[DISABLE]
//erm, empty i guess. i think CreateThread automatically deallocs the memory
|
you then can propaby use pMaster just like the actual pointer then, providing you keep putting the correct value into the script every time.
|
|
Back to top |
|
 |
LykanthricAura Advanced Cheater
Reputation: 0
Joined: 17 May 2010 Posts: 58 Location: India
|
Posted: Thu Dec 13, 2012 5:06 am Post subject: |
|
|
Yep. It is a one-level pointer. I think. The problem is I dont know how to go about finding it. I have a bunch of address's I want to add to this cheat table. Upto .. 300 entries. And all of them are related to the Master addy.
I was hoping someone here knew emulators better than me. Do you have any alternate(better) ways in which I could do what I m trying to?
So far all address I have found point to this very Master Addy. Check this...
0041DD16 - 8B 15 7C157600 - mov edx,[VisualBoyAdvance-M.exe+36157C]
0041DD1C - 8B 44 24 08 - mov eax,[esp+08]
0041DD20 - 89 04 13 - mov [ebx+edx],eax <<<<<
0041DD23 - 5B - pop ebx
0041DD24 - C3 - ret
EAX=05F4E90D
EBX=00001F64 ----Offset, always the same
ECX=00000002
EDX=024962E8 ----Master Addy, in this case.
ESI=02001F64
EDI=0006A902
ESP=0012FE7C
EBP=0012FEC4
EIP=0041DD23
This one is the Money of this game. I also tried looking into the line about. The mov edx,[VisualBoyAdvance-M.exe+36157C] ..>This is what is providing the Master Addy it seems. But I have no idea what to do with it.
I suppose I could write a code in which I save the EDX in a pointer. But the problem is...Where to put that? I m not trying to hack at a certain address. I m just trying to find the addresses of a certain number of stats, and attributes in the game so I can change them whenever I want.
PS- I m also using VBA-M. v1.8.0-SVN926
EDIT
PPS: Thanks Corrupter. Your script worked.
|
|
Back to top |
|
 |
Corruptor Advanced Cheater
Reputation: 3
Joined: 10 Aug 2011 Posts: 82
|
Posted: Thu Dec 13, 2012 8:23 am Post subject: |
|
|
VisualBoyAdvance-M.exe+36157C then obviously is your pointer. just add your values to the cheat table as this pointer with the correct offset. no assembler needed.
|
|
Back to top |
|
 |
LykanthricAura Advanced Cheater
Reputation: 0
Joined: 17 May 2010 Posts: 58 Location: India
|
Posted: Thu Dec 13, 2012 2:54 pm Post subject: |
|
|
I m stupid. Sorry. All this time I have been trying to use that very address but in this way.
Code: | VisualBoyAdvance-M.exe+36157C+Offset |
I didn't know it could be done this way too...
Code: | [VisualBoyAdvance-M.exe+36157C]+Offset |
Many thanks for all your help Corruptor
|
|
Back to top |
|
 |
|