 |
Cheat Engine The Official Site of Cheat Engine
|
View previous topic :: View next topic |
Author |
Message |
Ralicht Newbie cheater
Reputation: 0
Joined: 08 Feb 2015 Posts: 20 Location: United States
|
Posted: Tue Feb 10, 2015 9:05 am Post subject: Save routine that reverts values (not stored online) help |
|
|
Hey,
I have been working on this for like three months and I have become pretty good at most beginning level CE stuff. But man! I just can't crack this and it's driving me absolutely insane. I would LOVE input from someone who has a better head for this stuff than I do. Thanks for looking!
So I have these values and I know they are the correct values because I've edited them on the PS3 version of the game. They control the facedata for a character. But if I try to directly edit them, they revert back across all instances.
I'm thinking the data is actually stored in a different form somewhere and this is just the final representation for the save file? Because it has to be pulling from somewhere for it to be overwritten, right?
Code: |
8D 9B 00000000 - lea ebx,[ebx+00000000]
66 0F6F 06 - movdqa xmm0,[esi]
66 0F6F 4E 10 - movdqa xmm1,[esi+10]
66 0F6F 56 20 - movdqa xmm2,[esi+20]
66 0F6F 5E 30 - movdqa xmm3,[esi+30]
66 0F7F 07 - movdqa [edi],xmm0
66 0F7F 4F 10 - movdqa [edi+10],xmm1
66 0F7F 57 20 - movdqa [edi+20],xmm2
66 0F7F 5F 30 - movdqa [edi+30],xmm3
66 0F6F 66 40 - movdqa xmm4,[esi+40]
66 0F6F 6E 50 - movdqa xmm5,[esi+50]
66 0F6F 76 60 - movdqa xmm6,[esi+60]
66 0F6F 7E 70 - movdqa xmm7,[esi+70]
00F0CD58 - 66 0F7F 67 40 - movdqa [edi+40],xmm4 <------ here is where it is written
00F0CD5D - 66 0F7F 6F 50 - movdqa [edi+50],xmm5
00F0CD62 - 66 0F7F 77 60 - movdqa [edi+60],xmm6
66 0F7F 7F 70 - movdqa [edi+70],xmm7
|
There is probably at least 30 different instances of these values throughout the code but all the ones that are actively overwritten seems to come from this area (00F0CD5x). How should I go about finding the original values? I've tried disabling that code so it wouldn't overwrite the save file values, but it crashes the game because it's part of a routine and accesses many other things as well.
|
|
Back to top |
|
 |
++METHOS I post too much
Reputation: 92
Joined: 29 Oct 2010 Posts: 4197
|
Posted: Tue Feb 10, 2015 10:46 am Post subject: Re: Save routine that reverts values (not stored online) hel |
|
|
Ralicht wrote: | I know they are the correct values because I've edited them on the PS3 version of the game. | -I would not expect them to be the same. Keep looking...especially if it's not working.
Ralicht wrote: | But if I try to directly edit them, they revert back across all instances. | -Assuming that what you are saying is true regarding the data being handled locally, then what you are experiencing is probably due to the fact that you have not found the correct addresses. This is very common in games, where some values only serve as 'read-only' values and/or visual representations of raw values that can actually be edited. When this happens, you need to keep searching for the 'real' value. You will know that you have found the real value when you are able to change it and it has an effect that actually sticks. Until you find the real value, looking at the memory viewer, running the pointer scanner or writing a script may be a complete waste of time.
|
|
Back to top |
|
 |
Ralicht Newbie cheater
Reputation: 0
Joined: 08 Feb 2015 Posts: 20 Location: United States
|
Posted: Tue Feb 10, 2015 6:02 pm Post subject: Re: Save routine that reverts values (not stored online) hel |
|
|
The values are definitely local. They represent the face data. On the PS3 savefiles, changing those values will change the face data the next time the game is loaded. The section of code I posted is the final resting place before data is encrypted and stored in the save file, I think. The game autosaves every so often. When I trigger an autosave, the save file is written to this address. When it's done autosaving, the address will be written over by 00s and another set of addresses appear that store the data temporarily until the next save cycle and then the data will be written again to this address.
Is there no way to trace it backwards to the original values or do I just have to keep trying to find the values by scanning while I am ingame? I just don't know how to find something like that which only changes once so you can't wiggle it back and forth and see what is changing. That's why I was trying to find it using the values stored in the save file or to change the values in the save file either one.
|
|
Back to top |
|
 |
Geri Moderator
Reputation: 111
Joined: 05 Feb 2010 Posts: 5636
|
Posted: Tue Feb 10, 2015 6:30 pm Post subject: |
|
|
You can do some backtracing. Sometimes it's easy, sometimes it's very complicated. In your case, the first step is easy, your value comes from [esi+40] just a few lines above your code.
Now you have to figure out how did it get to [esi+40] and also see what happens if you change that value instead.
_________________
|
|
Back to top |
|
 |
++METHOS I post too much
Reputation: 92
Joined: 29 Oct 2010 Posts: 4197
|
Posted: Tue Feb 10, 2015 7:16 pm Post subject: |
|
|
Nothing will matter until you are sure that you have the correct address. You can use savegame analyzer to check the save file to see if there is a server-sided check being performed that is reverting those values back when the game is loaded/re-loaded. I assume that changing the values in the save game file and reloading the game is not working like it did on the PS3? If you are so sure that you have the correct address, this is where I would start.
You can check to see which instruction(s) is writing to your targeted address and try hard-coding the target to NOP that instruction to see if your changes will stick. Just be sure to make a copy of the original executable. Doing this may allow you to determine if you have the correct address(es) or if the values are being reverted due to a server-sided check.
|
|
Back to top |
|
 |
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum You cannot attach files in this forum You can download files in this forum
|
|