Page 1 of 1

Stellar Tactics - problem with in-game counter

Posted: Tue Jul 31, 2018 5:45 am
by yabaddi
Hi guys!



Recently I've been playing Stellar Tactics and during that playtime I tried experiencing with CE. My target was to set up higher number of attributes in the character creation panel.

I managed to get the address with a number of already spent points so I set it to 0 and froze it. It partialy worked cause I was able to set my attributes freely. However, there was a downside to this...



It showed up that after exceeding a default max number of attributes (7) the counter turns into negative values. Usualy I wouldn't bother about it however it turned out it had impact on further gameplay. That counter remained in it's negative value after I left character creation and it is holding back my character from leveling up (despite the fact he has enough exp for the next level).



I have to find out another way of hacking it and my guess is that it will require messing with the code (AOB injection). Because I'm still learning CE and the use of assembly I... failed at this point. If someone could take a look at the screenshot I took and give me some hints on what to do next I would be really grateful :-)



Thanks for reading,

Y.



[IMG]https://forum.cheatengine.org/files/stellar_tactics_615.jpg[/IMG]

Stellar Tactics - problem with in-game counter

Posted: Tue Jul 31, 2018 9:15 am
by koderkrazy
I don't have the game. So I guessed following code bested on the screenshot.

Assuming jmp instruction size 5 bytes here.

[CODE=cea][ENABLE]

aobscanmodule(_spentPointInject,StellarTactics.exe, F3 0f 11 76 08 eb 34 48 3b cf 73 16 48 85 c9 74 11)

registersymbol(_spentPointInject)

alloc(newmem,$1000)

alloc(myValue,4)



label(code)

label(return)



myValue:

dd (float)7.0



newmem:

movss xmm6,[myValue]



code:

movss [rsi+08],xmm6

jmp return



_spentPointInject:

jmp newmem

return:



[DISABLE]

_spentPointInject:

db F3 0f 11 76 08 eb 34 48 3b cf 73 16 48 85 c9



unregistersymbol(_spentPointInject)

dealloc(newmem)

dealloc(myValue)[/CODE]



Why don't you find available points pointer rather than spent points?

Stellar Tactics - problem with in-game counter

Posted: Tue Jul 31, 2018 9:29 am
by yabaddi
[QUOTE="koderkrazy, post: 53544, member: 18664"]

Why don't you find available points pointer rather than spent points?[/QUOTE]



Because change/unchange method of search returned only 2 addresses: this one above and second (on screenshot its 55) which showed up to be a visualisation only. I tried looking for sum of attributes, negatives and many other combination but only this one seemed working.

I've found addresses for each of attributes but there has to be some form of protection because when you put in any of it a number bigger then 12 (base 5 + max available 7) then the in-game counter turns automaticaly negative (same as messing with the spent points counter).



Thanks for the code, I will try it today and post if it worked. I think that my code looked similliar but somehow it didn't work... But hey, am still a newbie ;-)

Stellar Tactics - problem with in-game counter

Posted: Tue Jul 31, 2018 1:27 pm
by FreeER
based on the [icode]call StellarTactics.Pandora::EngineCore::AIVariable::SetType[/icode] the game might be mono or at least come with a pdb with function names... in which case you might be about to browse either the mono dissector (from main window) or the "Enumerate modules and symbols" (from memory viewer->view) and find something a bit more directly related to what you want by name, though it's possible only the engine functions are available.



just found this: [URL]https://steamcommunity.com/app/465490/discussions/7/1318836262672860458/[/URL]

lmao, I can think of at least 3 solutions better than telling people not to cheat (1. make your dev tools accessible, 2. don't auto-send crash reports (most people won't send crash reports if they're deving a cheat table), 3. detect CE and don't auto-send crash reports, 4. make auto-send optional and highly recommend people using CE disable it, yes I added one lol).

Stellar Tactics - problem with in-game counter

Posted: Tue Jul 31, 2018 6:50 pm
by yabaddi
[QUOTE="koderkrazy, post: 53544, member: 18664"]I don't have the game. So I guessed following code bested on the screenshot.

Assuming jmp instruction size 5 bytes here.

[/QUOTE]



So I tried the code out and... It''s not working :(

After activating the script I can add only 1 point to one of the attributes and then the counter stucks at 6 and all I can do is reduce it back to 7.



Edit:

Doh, I had to be blind. The other address also had to be frozen to make it all work. It turns out that there are two addresses that controll spending points and both need to be operated at the same time.

Stellar Tactics - problem with in-game counter

Posted: Wed Aug 01, 2018 2:48 am
by koderkrazy
[QUOTE="yabaddi, post: 53576, member: 20074"]The other address also had to be frozen to make it all work. It turns out that there are two addresses that controll spending points and both need to be operated at the same time.[/QUOTE]

Cool! Is it possible to set stats like strength, agility etc. to value more than 12?



Can you make cheat table for both values?

Someone has posted a request for it : [URL]https://fearlessrevolution.com/threads/stellar-tactics.7170/[/URL]



Also when you attach cheat engine to the game, does it show menu 'Mono' in cheat engine?

This is how Mono menu looks

[SPOILER="Mono menu"][IMG]https://image.ibb.co/mC9dZo/Forest_Disect_Mono.jpg[/IMG][/SPOILER]

Re: Stellar Tactics - problem with in-game counter

Posted: Wed Oct 10, 2018 5:07 pm
by mitsu80
I found a way around the negative attribute points, find the address of each attribute (str,agi...), spend all of your points in one of them, then just before hitting continue to finish character creation, change the value of the other attributes to 12, then hit continue...values are in float for people who wanna try this until a proper table is made

edit1: scratch that, I can't level up even though I have enough xp...here's hoping for a working table

edit2: apparently the way the players levels up in this game is by gaining normal xp AND skill xp, so there are two xp bars, so if you maxed out your skills to 100, you will not level up...still need to confirm this

edit3: theory confirmed, to level up you need skill xp and combat xp