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 


[Help] strange value

 
Post new topic   Reply to topic    Cheat Engine Forum Index -> Cheat Engine
View previous topic :: View next topic  
Author Message
rafiport
Newbie cheater
Reputation: 0

Joined: 12 Sep 2009
Posts: 10

PostPosted: Sat Mar 30, 2013 12:39 pm    Post subject: [Help] strange value Reply with quote

Hey,
well while using cheat engine for a long time i fought about learning a lot more after finding out more functions of it Smile kinda newbi then i guess but well got a few questions (i am playing right now starcraft 2 )
---------------------------------------------------------------------------------------------------------
1) i have found a static value but the value it self is strange
example:
1.0492030592E-39 = 200 in game
while
1.0492030592E-41 = 0

i would wanna know whay is the minus in the end
ANSWERED:
Dark Byte wrote:
Just read through the scripts. Sometimes they have comments explaining why they do stuff

Anyhow, the floating point values are stored as decimals multiplied by 4096



and i would wanna try and find a way to get this value to all characters if possible like all buildings have full health or should i do some thing else to make it work?
---------------------------------------------------------------------------------------------------------
2) i found an un-static value of a-% its float but it moves betweent 0.00-1.00 (well i wanna try and make instant building)

i couldn't find any other values of time left to build so its my only guess
any way its an un-static value and this value changes back to the original % time
any ideas how i can track the original address?


Last edited by rafiport on Sat Mar 30, 2013 6:38 pm; edited 1 time in total
Back to top
View user's profile Send private message
daspamer
Grandmaster Cheater Supreme
Reputation: 54

Joined: 13 Sep 2011
Posts: 1588

PostPosted: Sat Mar 30, 2013 1:41 pm    Post subject: Reply with quote

Is the address of the values type is double/float?
Check the addresses.. to get the full value of float make sure the address ends with this way:
XXXXXX0, XXXXXX4, XXXXXX8, XXXXXXC, XXXXX10, XXXXX14 and etc.
Double addresses always end this way
XXXXXX0, XXXXXX8, XXXXX10, XXXXX18 and etc.

If its not like the adresses above you can try to correct by adding/reducing from the address... you should try to view them as 4 byte, Double and Float.

About instant building, its possibly that they're dynamic/encrypted (well for me its the same.).

If you found the timer that is between 0.00 - 1.00 you can force it to be 1.00 via autoassembler, and then you should have instant building, unless its visual only, for displaying the upgrade progress.

P.S
I got feeling that the game you're trying to hack is facebook game? and made by Kixeye? Razz.

_________________
I'm rusty and getting older, help me re-learn lua.
Back to top
View user's profile Send private message Visit poster's website
rafiport
Newbie cheater
Reputation: 0

Joined: 12 Sep 2009
Posts: 10

PostPosted: Sat Mar 30, 2013 5:15 pm    Post subject: Reply with quote

Nah its not a facebook game its an strategy pc game a well known one theres a section on the forum of this game but i think it died a long time ago

any way,
the address of the value is float
i tried to changeit to 4 bytes it just jumps by random numbers then in some point (i guess when for example -41 becomes -40) the value goes back to zero and recounts

but any way i was more curiouse whay is there a - in the end of the value
ill update soon in what form the address ends its static for each unit so i need to find it again
address :
value :


about the instant building i think i found the visual addresses but i think theres a way to find out what accesses those addresses the non visual ones but i am only guessing
Back to top
View user's profile Send private message
Gniarf
Grandmaster Cheater Supreme
Reputation: 43

Joined: 12 Mar 2012
Posts: 1285

PostPosted: Sat Mar 30, 2013 5:27 pm    Post subject: Reply with quote

Could you post several examples of the hex value of this variable with the corresponding value ingame? The float interpretation in cheat engine doesn't help me, but I might be able to understand something out of the hex value or copy pasts from the memory viewer.
Back to top
View user's profile Send private message
rafiport
Newbie cheater
Reputation: 0

Joined: 12 Sep 2009
Posts: 10

PostPosted: Sat Mar 30, 2013 5:47 pm    Post subject: Reply with quote

instant building:

3 non-static addresses that are changing back to the original value
hex info:

first value:
Code:
EAX=090BA5FC
EBX=00000000
ECX=3F000000
EDX=3F00AAAA
ESI=2EFA466C
EDI=2EFA4874
EBP=07AC98DC
ESP=07AC9838
EIP=011D62D2

Probable base pointer =090BA5FC

011D62C2 - mov eax,[esi+000001BC]
011D62C8 - mov ecx,[ebp-28]
011D62CB - mov [eax+ebx*8+00000094],edx
011D62D2 - mov edx,[ebp-0C]
011D62D5 - mov [eax+ebx*8+00000098],ecx


seconde value:
Code:
EAX=090BA5FC
EBX=00000000
ECX=3F800000
EDX=3F1CAAAA
ESI=2EFA466C
EDI=2EFA4874
EBP=07AC98DC
ESP=07AC9838
EIP=011D62EC

Probable base pointer =090BA5FC

011D62DC - mov eax,[esi+000001BC]
011D62E2 - mov ecx,[ebp-08]
011D62E5 - mov [eax+ebx*8+000000D0],edx
011D62EC - mov [eax+ebx*8+000000D4],ecx
011D62F3 - mov ecx,[edi+24]


third value:
Code:
EAX=00000000
EBX=00000000
ECX=2EFA466C
EDX=2EFA4888
ESI=3F1CAAAA
EDI=3F800000
EBP=07AC8DE4
ESP=07AC8DDC
EIP=011D518C

Probable base pointer =2EFA4888

011D5183 - mov [edx+08],edi
011D5186 - mov esi,[esi+0C]
011D5189 - mov [edx+0C],esi
011D518C - mov edx,[ecx+00000198]
011D5192 - and dword ptr [eax+edx+04],EF
Back to top
View user's profile Send private message
Dark Byte
Site Admin
Reputation: 471

Joined: 09 May 2003
Posts: 25833
Location: The netherlands

PostPosted: Sat Mar 30, 2013 6:05 pm    Post subject: Reply with quote

I think he meant what the value in the game shown is stored as hex in memory

E.g 100 might be stored as 00 40 60 00, and knowing that may lead to figuring out how it is stored

Also, if health show both the current and max in case it's actually stored as damage taken (e.g 240 hp with max of 250 might be stored as 10)

_________________
Do not ask me about online cheats. I don't know any and wont help finding them.

Like my help? Join me on Patreon so i can keep helping
Back to top
View user's profile Send private message MSN Messenger
Gniarf
Grandmaster Cheater Supreme
Reputation: 43

Joined: 12 Mar 2012
Posts: 1285

PostPosted: Sat Mar 30, 2013 6:11 pm    Post subject: Reply with quote

Ah sorry, I was speaking about the static weird value for which you said "1.0492030592E-39 = 200 in game" and by hex values I meant something like "100 ingame -> 0x12345678 in cheat engine main windows or 78 56 34 12 in the memory viewer".

What you posted are the codes that write to your variables, and the corresponding register states. Yes the registers are in hex, and yes in the worst case scenario I can get the information I want from the registers+code... but you posted samples for the build time.
Back to top
View user's profile Send private message
rafiport
Newbie cheater
Reputation: 0

Joined: 12 Sep 2009
Posts: 10

PostPosted: Sat Mar 30, 2013 6:24 pm    Post subject: Reply with quote

value :
Code:
EAX=000001D5
EBX=00000090
ECX=000C8000
EDX=0793BA60
ESI=02B14700
EDI=00000145
EBP=0793BA24
ESP=0793BA18
EIP=00C32F6D

Probable base pointer =02B14700

00C32F62 - lea eax,[ebp+0C]
00C32F65 - mov eax,[eax]
00C32F67 - mov [esi+00000118],eax
00C32F6D - cmp eax,edi
00C32F6F - je SC2.AssertAndCrash+2CAB91

if i got it right you want some of this examples?:

note: value can't get higher over the max
(current value/max value)
value in game:200/200
value in CE(float):1.147943702E-39
value in CE(double):4.04738577073149E-318
value in CE(4 bytes):819200

value in game:150/200
value in CE(float):8.641863681E-40
value in CE(double):3.0469226005288E-318
value in CE(4 bytes):616704

value in game:100/200
value in CE(float):5.753395183E-40
value in CE(double):2.02851496606916E-318
value in CE(4 bytes):410576

value in game:101/200
value in CE(float):5.813931277E-40
value in CE(double):414896
value in CE(4 bytes):2.0498586019695E-318

value in game:0/200
value in CE(float):4.554220009E-43
value in CE(double):1.60571334898405E-321
value in CE(4 bytes):325


hmm i notice a strange thing in this game
as i can see 1=4096 (but its a float so it should be 1.000000...)
any way the 4096 appears in my units count the same

current units * 4096 = address

i think ill try a few more things


Last edited by rafiport on Sat Mar 30, 2013 6:29 pm; edited 1 time in total
Back to top
View user's profile Send private message
Dark Byte
Site Admin
Reputation: 471

Joined: 09 May 2003
Posts: 25833
Location: The netherlands

PostPosted: Sat Mar 30, 2013 6:27 pm    Post subject: Reply with quote

Also, check this table:
http://forum.cheatengine.org/viewtopic.php?t=514168

probably for a completely unrelated game, but the table posted here has an instant build script on a game that uses a non-standard method of floating point values as well. Perhaps the general idea used in this script might help

_________________
Do not ask me about online cheats. I don't know any and wont help finding them.

Like my help? Join me on Patreon so i can keep helping
Back to top
View user's profile Send private message MSN Messenger
rafiport
Newbie cheater
Reputation: 0

Joined: 12 Sep 2009
Posts: 10

PostPosted: Sat Mar 30, 2013 6:32 pm    Post subject: Reply with quote

thanks byte but unfortunaly i am a newb with the scripts...

i tried to learn it but it takes a time for me to learn it even fought i finished the tutorial this game has advanced scripting (well thats what i think)
Back to top
View user's profile Send private message
Dark Byte
Site Admin
Reputation: 471

Joined: 09 May 2003
Posts: 25833
Location: The netherlands

PostPosted: Sat Mar 30, 2013 6:36 pm    Post subject: Reply with quote

Just read through the scripts. Sometimes they have comments explaining why they do stuff

Anyhow, the floating point values are stored as decimals multiplied by 4096

_________________
Do not ask me about online cheats. I don't know any and wont help finding them.

Like my help? Join me on Patreon so i can keep helping
Back to top
View user's profile Send private message MSN Messenger
rafiport
Newbie cheater
Reputation: 0

Joined: 12 Sep 2009
Posts: 10

PostPosted: Sat Mar 30, 2013 6:49 pm    Post subject: Reply with quote

thanks for the answer about whay are they stored like it.

any way got more 2 questions to go

about the instant build .. would be more challenging and fun finding it the hard way without scripts or i must make a script Question

and about the god mod ( i am working on it now)
i wanna find an address if possible that will freeze all units health
and not doing it 1 by 1

right now i am working on the god mode what am i going to try got no idea screwing with it a little hopefuly some good tips will come by
Back to top
View user's profile Send private message
Dark Byte
Site Admin
Reputation: 471

Joined: 09 May 2003
Posts: 25833
Location: The netherlands

PostPosted: Sat Mar 30, 2013 7:02 pm    Post subject: Reply with quote

Find what writes health.
Then find a way to distinguish between enemy and player.
To do that find the addresses that the code you found accesses and then use dissect structure to compare enemy and your own

Then in the code injection script set the damage to 0 when it's the player

Also, i'm not sure if it's always the case, but if you set the damage taken to above the max health the unit becomes immortal

And if you feel like cheating on doing it yourself: http://forum.cheatengine.org/viewtopic.php?p=5462302#5462302

_________________
Do not ask me about online cheats. I don't know any and wont help finding them.

Like my help? Join me on Patreon so i can keep helping
Back to top
View user's profile Send private message MSN Messenger
Gniarf
Grandmaster Cheater Supreme
Reputation: 43

Joined: 12 Mar 2012
Posts: 1285

PostPosted: Sat Mar 30, 2013 9:34 pm    Post subject: Reply with quote

rafiport wrote:
hmm i notice a strange thing in this game
as i can see 1=4096 (but its a float so it should be 1.000000...)
You figured it out yourself, congratulation!
Looks like I'm no longer needed here, then.
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