Cheat Engine Forum Index Cheat Engine
The Official Site of Cheat Engine
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 


Any general advice for finding name values in RPG's?

 
Post new topic   Reply to topic    Cheat Engine Forum Index -> Cheat Engine
View previous topic :: View next topic  
Author Message
Valatros
Cheater
Reputation: 1

Joined: 21 Nov 2015
Posts: 36

PostPosted: Wed Feb 08, 2017 2:42 pm    Post subject: Any general advice for finding name values in RPG's? Reply with quote

I've been making cheat tables for 3ds, ps1, and ps2 games as a kind of self-teaching process, and I find the following scenario quite often:

Character data is loaded into a slot on load, and the pointers to those slots will be valid. But which character is in that slot can change per-load (Fire emblem... fuck you fire emblem games anyway SO MUCH TO RANT ABOUT), or it can change just if you delete a character then later gain a new one, it'll enter into that now-empty slot.

This means I have to, based on what the stats I see for that slot are, figure out which character it is in that slot each time. This works, so long as they're dissimilar, but having ot do it each load is a bit obnoxious. Is there some trick to find names?

I'm thinking I might be able to find the address and interpret the values if I could do a value search like... if we numbered each letter in the alphabet, h is 8, r is 18, o is 15, m is 13. They aren't numbered that nicely (I tried), but could I search for an array where the value is... <Unknown><Unknown+10><Unknown+7><Unknown+5> or... something? When I see the tables by the big contributors here they populate the name just fine, but the examples I've checked used ASM or something with a lot of xor's and incomprehensible (not lua) stuff that is just way too beyond me. There a less... technical way?
Back to top
View user's profile Send private message
++METHOS
I post too much
Reputation: 92

Joined: 29 Oct 2010
Posts: 4197

PostPosted: Wed Feb 08, 2017 3:30 pm    Post subject: Reply with quote

Correct me if I am wrong, but I assume that you are asking about setting up ID's/filters for your scripts?

If so, take a look at the last step of the CE tutorial and/or guides/videos that cover data structure dissection.

Common methods used for filtering:

++METHOS wrote:
  • You can use a pointer address for your filter, inside of your script, for the value that you are trying to manipulate.
  • You can use pointer trees inside of the data structure to find something viable.
  • You can shift the data structure (+ or -) and/or expand its size to find something useful.
  • You can use the structure spider to find workable strings and/or for comparative analysis.
  • You can check the register values by attaching the debugger or setting a breakpoint to see if something can be used for your filter.
  • You can check to see if there are any instructions that are exclusive to the address/value that you are trying to manipulate and store the address for your filter by creating a second injection point.
  • You can check to see if there are any instructions that are exclusive to any other address/value inside of the data structure for the address/value that you are trying to manipulate and store the address for your filter by creating a second injection point.
  • You can analyze assembly code to see if an identifier is being checked or assigned somewhere.
  • Et al.
Back to top
View user's profile Send private message
Valatros
Cheater
Reputation: 1

Joined: 21 Nov 2015
Posts: 36

PostPosted: Wed Feb 08, 2017 3:40 pm    Post subject: Reply with quote

I... don't even have any scripts related to this at all. I just want to know if there's some trick or reasonable way to figure out how the game stores name values so I can find and load them into my headers. I'll give the tutorial a go-through though; most of my experience has been from just dismantling other peoples tables and scripts since I found that a lot more intuitive then the tutorial.
Back to top
View user's profile Send private message
++METHOS
I post too much
Reputation: 92

Joined: 29 Oct 2010
Posts: 4197

PostPosted: Wed Feb 08, 2017 4:37 pm    Post subject: Reply with quote

Typically, values for RPG's are stored close together and are all a part of the same data structure. That being the case, it's very common for users to want to hook one of the instructions that is accessing one of those key values (like gold, for example), then, use that same script to populate the values for all of the other useful things within that same data structure once they have identified them. Doing so, requires a script that can store a base address or starting point that will, in turn, allow you to add that custom address to your table and just tack on whatever necessary offsets for each, individual value that you want to control. From there, you can change the descriptions accordingly and setup any hotkeys for convenience without ever having to worry about finding the values again or using unreliable pointers etc..

But, because these instructions may also handle other data (such as other character stats and such), you need to be able to filter them out and/or control what data gets stored and where, so that you can ensure that the values/stats that you are manipulating are correct. You do not want to be manipulating the wrong data structure, nor do you want your data structures to move around on you, so you need to be able to identify the base address(es) that you store...and you do that by setting up filters inside of your script so that you can control the data.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Cheat Engine Forum Index -> Cheat Engine All times are GMT - 6 Hours
Page 1 of 1

 
Jump to:  
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


Powered by phpBB © 2001, 2005 phpBB Group

CE Wiki   IRC (#CEF)   Twitter
Third party websites