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] Digging deeper into opcodes

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

Joined: 10 Apr 2012
Posts: 24

PostPosted: Tue Sep 02, 2014 12:49 pm    Post subject: [HELP] Digging deeper into opcodes Reply with quote

The game that I am trying to hack is, Sacred 2 - Ice & Blood (Latest Build).
And whilst it seems that many have hacked it successfully I am having a bit of trouble with the health value. I chose this game specifically for its difficulty in that it deals with floats 90% of its values.

I need help with this cause I have successfully-unsuccessfully created a script that would ignore damage done to me but cause great damage to the enemy.

I have done the following in trying to fix this and my lack of know how is preventing from catching the little bug that keeps flying past my eyes:

-Data Struct
-Structure Spider
-Break & Trace

Now with these I have achieved the means to create my own struct that will always display the players:

+60 - Current Health
+64 - Maximum Health
+68 - Visible Health

My Comparison for the Character ID is @:

+14 - Always = int (4bytes) 94
AND
+30 - Always = int (4bytes) 08

As mentioned above when my script has been executed my player becomes ALMOST invulnerable, whilst I only need a few swipes to kill all the enemy players. Only exception is my player can still die.

How do I get it to the point of Invulnerability?

I snapshot as much as possible to help

__________________________________________________________________________________________________________________________


This is the range of the Break and Trace that when damage is dealt it jumps here and continues running onward:

Code:

s2logic.cCreatureInfo::setHealth+D1 - 8B 45 DC              - mov eax,[ebp-24]
s2logic.cCreatureInfo::setHealth+D4 - 89 45 C8              - mov [ebp-38],eax
s2logic.cCreatureInfo::setHealth+D7 - EB 06                 - jmp s2logic.cCreatureInfo::setHealth+DF
s2logic.cCreatureInfo::setHealth+D9 - 8B 45 E4              - mov eax,[ebp-1C]
s2logic.cCreatureInfo::setHealth+DC - 89 45 C8              - mov [ebp-38],eax
s2logic.cCreatureInfo::setHealth+DF - 8B 45 C8              - mov eax,[ebp-38]
s2logic.cCreatureInfo::setHealth+E2 - 89 45 E0              - mov [ebp-20],eax
s2logic.cCreatureInfo::setHealth+E5 - 8B 45 E0              - mov eax,[ebp-20]
s2logic.cCreatureInfo::setHealth+E8 - F3 0F10 00            - movss xmm0,[eax]
s2logic.cCreatureInfo::setHealth+EC - F3 0F11 45 0C         - movss [ebp+0C],xmm0
s2logic.cCreatureInfo::setHealth+F1 - 0FB6 45 08            - movzx eax,byte ptr [ebp+08]
s2logic.cCreatureInfo::setHealth+F5 - 8B 4D D8              - mov ecx,[ebp-28]  // This is where the value of the damage is calculated and sent to xmm0 below
s2logic.cCreatureInfo::setHealth+F8 - F3 0F10 45 0C         - movss xmm0,[ebp+0C]

// From this point is where I inject the actual value for the game to record and have it rewrite it back to xmm0 if it is my address it will write the max health back or w/e I chose at the time....
s2logic.cCreatureInfo::setHealth+FD - F3 0F11 44 81 60      - movss [ecx+eax*4+60],xmm0  // This is where all the magic is happening


s2logic.cCreatureInfo::setHealth+103- 0FB6 45 08            - movzx eax,byte ptr [ebp+08] // after my code is executed it returns back here to loaded and the game continues
s2logic.cCreatureInfo::setHealth+107- 85 C0                 - test eax,eax
s2logic.cCreatureInfo::setHealth+109- 75 5B                 - jne s2logic.cCreatureInfo::setHealth+166
s2logic.cCreatureInfo::setHealth+10B- 8B 45 D8              - mov eax,[ebp-28]
s2logic.cCreatureInfo::setHealth+10E- D9 40 60              - fld dword ptr [eax+60]
s2logic.cCreatureInfo::setHealth+111- 8B 45 D8              - mov eax,[ebp-28]
s2logic.cCreatureInfo::setHealth+114- D8 70 64              - fdiv dword ptr [eax+64]
s2logic.cCreatureInfo::setHealth+117- D9 5D FC              - fstp dword ptr [ebp-04]
s2logic.cCreatureInfo::setHealth+11A- D9 45 FC              - fld dword ptr [ebp-04]
s2logic.cCreatureInfo::setHealth+11D- DD 05 80DA4B01        - fld qword ptr [s2logic.cEntityMount::`vftable'+184]
s2logic.cCreatureInfo::setHealth+123- DFF1                  - fcomip st(0),st(1)
s2logic.cCreatureInfo::setHealth+125- DDD8                  - fstp st(0)
s2logic.cCreatureInfo::setHealth+127- 76 10                 - jna s2logic.cCreatureInfo::setHealth+139


__________________________________________________________________________________________________________________________

Here are photos of everything I could show without crashing the game



@9-2-2014 12-22-17 PM.jpg
 Description:
Script Created
 Filesize:  144.88 KB
 Viewed:  2736 Time(s)

@9-2-2014 12-22-17 PM.jpg



@9-2-2014 12-23-25 PM.jpg
 Description:
Structure Pointing to Two Distinct Values that may help differentiate between PlyR & Enemy + Health Values
 Filesize:  475.42 KB
 Viewed:  2736 Time(s)

@9-2-2014 12-23-25 PM.jpg



@9-2-2014 12-23-46 PM.jpg
 Description:
Code thats being altered for Invulnerability
 Filesize:  254.88 KB
 Viewed:  2736 Time(s)

@9-2-2014 12-23-46 PM.jpg



@9-2-2014 12-22-30 PM.jpg
 Description:
Cheat Table
 Filesize:  138.29 KB
 Viewed:  2736 Time(s)

@9-2-2014 12-22-30 PM.jpg



@9-2-2014 12-21-48 PM.jpg
 Description:
Structure Spider
 Filesize:  183.57 KB
 Viewed:  2736 Time(s)

@9-2-2014 12-21-48 PM.jpg


Back to top
View user's profile Send private message
++METHOS
I post too much
Reputation: 92

Joined: 29 Oct 2010
Posts: 4197

PostPosted: Tue Sep 02, 2014 1:02 pm    Post subject: Reply with quote

Hard to say without seeing all associated health scripts. Anyway, it's probable that your compare for player ID is not reliable.
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