View previous topic :: View next topic |
Author |
Message |
shadel Advanced Cheater
Reputation: 0
Joined: 19 May 2010 Posts: 52
|
Posted: Tue Aug 17, 2010 2:41 pm Post subject: Tales of the Abyss in PCSX2 emulator |
|
|
Hello everyone,
I have been using CE for couples of month now. I was using ArtMoney before but settled for this.
I played the tutorial given with the program and went all the way through the 8th step, only the 9th got me out, so I can say I have a some grasp of how to look for cheat, can't I ?
Now, there is this game, Tales of the Abyss that gives me trouble. I play it the PCSX2 emulator.
In this game the HP in battle is different from the HP in maps. I'm trying to freeze the value of HP in battle.
I can easily find out the address by scanning only once for the name of the character "Luke".
However, the address frequently changes : when I change area, when I quickload and so on...
The address range is 0x06800000~0x079FFFFF and always ends with an 8 like this : 0x071ECD38 or 0x07355FF8.
The name is placed some bytes later at 0x071ECD60 and 0x07356020 for the above addresses of HP.
So this is a case of changing address, isn't it ?
But from here, it gets troublesome (at least for me XD).
First try : I look for multilevel pointers. I start out by looking for 0x07355FF8. But nothing comes, even if I get results for P+1, I get none for P+2.
Second try : I go for code nop-ing. I find out the code and nop it but the result is the same, at the next quickload, the code has moved.
Last try : I use pointer scan with the full memory area as range and pointers up to level 8. As the first try, the second scan reduces results to 0.
Does anyone have an idea what I should do next ?
Or is there something I did wrong ?
Thanks
|
|
Back to top |
|
 |
shadel Advanced Cheater
Reputation: 0
Joined: 19 May 2010 Posts: 52
|
Posted: Sun Aug 22, 2010 5:57 am Post subject: |
|
|
Please, no one has even the slightest idea ?
|
|
Back to top |
|
 |
justa_dude Grandmaster Cheater
Reputation: 23
Joined: 29 Jun 2010 Posts: 891
|
Posted: Sun Aug 22, 2010 7:42 am Post subject: |
|
|
Try using module/symbol names instead of raw memory addresses. You might find that the values you need are static relative to something you're missing.
Cheers,
adude
|
|
Back to top |
|
 |
XaLeX Expert Cheater
Reputation: 0
Joined: 19 Aug 2008 Posts: 226
|
Posted: Sun Aug 22, 2010 8:23 am Post subject: |
|
|
Also, as it's emulated, you should figure out how the emulator handles memory.
|
|
Back to top |
|
 |
shadel Advanced Cheater
Reputation: 0
Joined: 19 May 2010 Posts: 52
|
Posted: Fri Aug 27, 2010 7:34 pm Post subject: |
|
|
Thanks for answering.
About symbols, I only used them implicitly when I picked results from pointer searches.
For many games, pointer search has worked so far for me except for this one.
When the search is finished, all results returned point to nowhere.
I just now tried pointer search on anohter game and relative addresses just worked fine.
Or is there functionalities that lets you handle modules/symbols directly ?
About the emulator, usually the program itself takes the first addresses 0x0 ~ 0x00500000.
It loads data from the game disc in the range 0x00500000 ~ 0x03000000.
Then comes working data, variables and such in 0x03000000 ~ 0x04000000.
And memory ends with complete volatile data.
This game is tricky because the values I want to find are in the volatile area.
|
|
Back to top |
|
 |
shadel Advanced Cheater
Reputation: 0
Joined: 19 May 2010 Posts: 52
|
Posted: Mon Sep 06, 2010 3:07 pm Post subject: |
|
|
I actually found out what the problem was by chance.
The thing is, the emulator is very simple in reality.
To get a pointer to this address you have to look for a simple pointer, not a multilevel.
But the point was to set offset limit to very big values, like more than 10.000.000.
|
|
Back to top |
|
 |
rfb Newbie cheater
Reputation: 0
Joined: 01 Apr 2016 Posts: 15
|
Posted: Tue May 24, 2016 11:18 am Post subject: |
|
|
shadel wrote: | I actually found out what the problem was by chance.
The thing is, the emulator is very simple in reality.
To get a pointer to this address you have to look for a simple pointer, not a multilevel.
But the point was to set offset limit to very big values, like more than 10.000.000. |
Well, I did that and I could find a bunch of pointers. But none of them persisted to a screen change. What exactly did you do to find a valid pointer that stick with the value?
|
|
Back to top |
|
 |
frubam Cheater
Reputation: 0
Joined: 13 Jul 2016 Posts: 29
|
Posted: Wed Jul 13, 2016 7:32 pm Post subject: |
|
|
At the risk of sounding like a complete loser, I'm looking to exchange the attack, model, and animation data of some enemy(say a human boss) to a playable character, as well as edit the moves/attacks of playable character in Tales of the Abyss. I did this with Symphonia 2 [youtu.be/AZmYqV6UIFo] through sheer tenacity and many tens of hours of "playing around" with random values to see if something changed. I don't want to take that approach again and would like a more streamlined method in trying to find the necessary information. I thought somehow trying to figure out what instructions accessed the value that determines the character party would be a good start, but I'm not finding anything noteworthy, mostly likely due to my lack of experience. I just started using CE, so I'm not sure where I should start(I've at least completed the 6.5 tutorials) .
|
|
Back to top |
|
 |
PinPoint Expert Cheater
Reputation: 10
Joined: 07 Apr 2016 Posts: 223 Location: Scotland
|
Posted: Thu Jul 14, 2016 2:19 pm Post subject: |
|
|
frubam wrote: | At the risk of sounding like a complete loser, I'm looking to exchange the attack, model, and animation data of some enemy(say a human boss) to a playable character, as well as edit the moves/attacks of playable character in Tales of the Abyss. I did this with Symphonia 2 [youtu.be/AZmYqV6UIFo] through sheer tenacity and many tens of hours of "playing around" with random values to see if something changed. I don't want to take that approach again and would like a more streamlined method in trying to find the necessary information. I thought somehow trying to figure out what instructions accessed the value that determines the character party would be a good start, but I'm not finding anything noteworthy, mostly likely due to my lack of experience. I just started using CE, so I'm not sure where I should start(I've at least completed the 6.5 tutorials) . |
In some games this may not be entirely possible. (well everything is possible but not always with cheat engine alone). The game could have a big block of memory dedicated for player data, which includes moves, stats, etc etc but If the game as it is hasnt been programmed to allow human players to use enemy moves sets etc (like some form of protection) you will have to dig real deep to achieve it.
|
|
Back to top |
|
 |
frubam Cheater
Reputation: 0
Joined: 13 Jul 2016 Posts: 29
|
Posted: Thu Jul 14, 2016 3:58 pm Post subject: |
|
|
PinPoint wrote: | In some games this may not be entirely possible. (well everything is possible but not always with cheat engine alone). The game could have a big block of memory dedicated for player data, which includes moves, stats, etc etc but If the game as it is hasnt been programmed to allow human players to use enemy moves sets etc (like some form of protection) you will have to dig real deep to achieve it. |
I'm willing to give it a shot. I'm assuming since both Tales of the Abyss and Tales of Symphonia 2 were made by the same "team", and I manage to do a fair bit of manipulating in Symphonia 2, I'm hoping there might be similarities in what can be manipulated.
|
|
Back to top |
|
 |
|