finding values

Anything Cheat Engine related, bugs, suggestions, helping others, etc..
Post Reply
Posts: 5
Joined: Sun Aug 21, 2022 6:27 pm
Reputation: 0

finding values

Post by pepePP »

Hey, I need help finding simple values. But I cant find them, I tried every value type. when I search for the changed values to narrow it down I come out with 0 matches. I also tried to use the processes tab instead of applications from the process list, still no value,.

the games I need help for are "learn japanese to survive- hiragana" (hp values only since the fights are annoying af)
and "Crayon Shin Chan: The Storm Called! Flaming Kasukabe Runner!!"(the balls for summoning cos you need them to unlock new levels and they are hard to get)

thank you in advance

Table Makers
Table Makers
Posts: 483
Joined: Thu Jul 27, 2017 9:02 am
Reputation: 270

Re: finding values

Post by Paul44 »

^ the "actual" values - used by the game - might be different as to what is shown onscreen. Eg: you have 5 balls, but ingame 20 (or whatever) is used as count/reference_value. Also, that value could be "disguised" in so many ways: eg actual value = (5 + 22) / 7 - 2 (possibilities are endless of course); iow in some way obfuscated. (and perhaps even hashed ~ which is where i stop researching... :oops:)
That said: at some point you will (always) find that particular/ingame value on the stack... (usually taking some - time-consuming - debugging).

My approach would be:
1. scan for either: integer - 2byte - byte value, and go for increased. (if the game is 32bit, you might find some values quickly)
~> pretty rare that such values are float
2. scan for the above decreasing. note: in both cases i would start with 'increase/decrease by 1' every time you consume a ball...
3. scan for ANY value_type, and perform very same as in 1./2.

ps: usually you should be able to find the onscreen/display value; and manipulate that one. But: if they recalc with every frame(s) update, that value will/might "move" accordingly in memory, so...
But if you do find it, check out what code accesses it, and start your debugging from there... either the actual value is updated beyond that point, OR before that point. "Follow" that value up (or down) the stack untill it "disappears"; then from that point move back to the point where it will appear again on the stack... this will give you the register value that holds the actual value, and the opcode should tell you where it got that one from... (~ some structure -> offset)

to answer your next Q: no :shock:

ps2: i recently added a 'skill points' feature to my AC Syndicate table, which is a good example of what I mean. in fact, ACU does something similar with the 'Sync Points'... (it took me 4~6 hrs of debugging, just to get that one particular value; AND i was actually looking for a different - related - value then :roll:)

Post Reply

Who is online

Users browsing this forum: No registered users