View previous topic :: View next topic |
Author |
Message |
fdelduque How do I cheat? Reputation: 0
Joined: 17 Mar 2017 Posts: 4
|
Posted: Fri Mar 17, 2017 5:28 pm Post subject: Fill all Addresses with the first one(SOLVED) |
|
|
Hello. I usually use AOB injection for cheat on a game, but today I decided to play Alien Legacy again, after 15-20years i guess. On this game all instructions use the same asm code, even with the game paused some address access the same instruction for ore(A resource on this game).
So I decided to do the old fashion way, find values and change as I want. I noticed some patterns on the address they are all 4 bytes apart and for each colony they are 2C2 apart of each other.
So it is possible to define all cheats based on a single adress?
I know: colony1 - ore is 0C875ED0 so the next resource would be 0C875ED0+4, 0C875ED0+8, 0C875ED0+C, 0C875ED0+10 and on the next colony would be 0C875ED0+2C2, 0C875ED0+2C2+4,0C875ED0+2C2+8, 0C875ED0+2C2+C, 0C875ED0+2C2+10.
The address 0C875ED0 change on every game, but the 4 bytes and 2C2 "offsets" don't.
What I'm thinking would be define my_address = 0C875ED0 then on my cheat table I only use my_address+ofs1+ofs2, that way I could only do 1 search every time change my_address and all the cheats would work(Probally 80).
It is possible to do this on CE?
Ps: sorry for the english, if you cant understand i would try again.
Description: |
|
Filesize: |
11.46 KB |
Viewed: |
4100 Time(s) |
|
Last edited by fdelduque on Sat Mar 18, 2017 10:41 am; edited 1 time in total |
|
Back to top |
|
|
++METHOS I post too much Reputation: 92
Joined: 29 Oct 2010 Posts: 4197
|
Posted: Fri Mar 17, 2017 5:51 pm Post subject: |
|
|
Yes. You can use injection for this. If the instruction contains a double register e.g.:
Code: | mov esi,[eax+edx*4] |
Then the ID for each item is likely stored in one of those registers (eax or edx).
If the instruction is not set up that way, then you may need to find some other way to identify or segregate one of the items and build your table based on that. Once found, you can add a custom pointer to your table and copy it many times, using the address of the item that you have identified, and apply the appropriate offset for each item that you want to include.
|
|
Back to top |
|
|
Dark Byte Site Admin Reputation: 458
Joined: 09 May 2003 Posts: 25296 Location: The netherlands
|
Posted: Fri Mar 17, 2017 6:31 pm Post subject: |
|
|
find the first address.
highlight it in the found address list and then right click the old addresd and choose 'recalculate addresses'
use the default value (it's calculated based on the two selected addresses)
_________________
Do not ask me about online cheats. I don't know any and wont help finding them.
Like my help? Join me on Patreon so i can keep helping |
|
Back to top |
|
|
fdelduque How do I cheat? Reputation: 0
Joined: 17 Mar 2017 Posts: 4
|
Posted: Fri Mar 17, 2017 7:14 pm Post subject: |
|
|
Dark Byte wrote: | find the first address.
highlight it in the found address list and then right click the old addresd and choose 'recalculate addresses'
use the default value (it's calculated based on the two selected addresses) |
That's a nice trick, stupid of me not getting this from the tutorial. It can be done to all addresses on the cheat table or just one by one?
|
|
Back to top |
|
|
Dark Byte Site Admin Reputation: 458
Joined: 09 May 2003 Posts: 25296 Location: The netherlands
|
Posted: Sat Mar 18, 2017 4:21 am Post subject: |
|
|
it you only select one address it does it to all.
if you select multiple it does it only to the selected ones (the last selected one will be the one that is used for the calculation
_________________
Do not ask me about online cheats. I don't know any and wont help finding them.
Like my help? Join me on Patreon so i can keep helping |
|
Back to top |
|
|
fdelduque How do I cheat? Reputation: 0
Joined: 17 Mar 2017 Posts: 4
|
Posted: Sat Mar 18, 2017 10:40 am Post subject: |
|
|
Dark Byte wrote: | it you only select one address it does it to all.
if you select multiple it does it only to the selected ones (the last selected one will be the one that is used for the calculation |
Thanks Dark_Byte works like a charm.
|
|
Back to top |
|
|
|