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 


X-Morph Defence European Assault

 
Post new topic   Reply to topic    Cheat Engine Forum Index -> General Discussions
View previous topic :: View next topic  
Author Message
f0rcegr0wn
How do I cheat?
Reputation: 0

Joined: 13 Apr 2018
Posts: 3

PostPosted: Fri Apr 13, 2018 9:55 am    Post subject: X-Morph Defence European Assault Reply with quote

So I decided to give cheatengine a try with this game after seeing a Youtube video on this.

The video itself runs through the basic principals of how to do some things but does not cover pointer scan and so forth. So I took it a few steps forward and now have what you guys call a "base address" for the ship's health. By this I mean that restarting the game the cheat correctly persists.

But...

When I change game level the address is no longer the same. I did find it but it was in a completely different address (with pointer scan).

Is it possible that each level can have different address for health in this case, or am I plain simply too stupid to understand how to do it?

I am a developer myself (not assembly) and I am trying to understand some basic concepts (or naming conversions) in cheat engine to be able to sort things out here. From where I am standing, shouldn't base address be where the instruction set resides that changes the HP? If not, then I suppose I can see why loading a different level would have the HP value (not the instruction) in different memory level after memalloc is called for that level.

So, is there a way to trace the address that writes the HP value and use that with a pointer? Does it make any sense? I know I can override the instruction set within cheat engine but how do I map to the address where it resides each time I load the game?

It would also be great if someone could point me to some documentation in terms of what offset and max level value actually do. On the subject any write-ups for other terms inside cheap engine?

(great work btw)

UPDATE: I found that the code writing ship health remaining must be used for all ships meaning disabling it will not help me as it will make enemy ships immortal as well. Maybe I should look to see what calls this code instead? Shocked
Back to top
View user's profile Send private message
ParkourPenguin
I post too much
Reputation: 138

Joined: 06 Jul 2014
Posts: 4275

PostPosted: Fri Apr 13, 2018 10:36 am    Post subject: Reply with quote

Just use the pointer scanner. Do rescans for different instances of the game as well as different levels in each instance.
_________________
I don't know where I'm going, but I'll figure it out when I get there.
Back to top
View user's profile Send private message
f0rcegr0wn
How do I cheat?
Reputation: 0

Joined: 13 Apr 2018
Posts: 3

PostPosted: Fri Apr 13, 2018 10:38 am    Post subject: Reply with quote

ParkourPenguin wrote:
Just use the pointer scanner. Do rescans for different instances of the game as well as different levels in each instance.


That is what I am doing, as mentioned, however different game levels have no match between them. I will retry in case I am doing something wrong. Thanks

Update:

So I load the game and go through the normal steps to identify the address that stores the HP. Then do a pointer scan on that address (scan 1).

I exit the current level and go to another level (same instance). Go through the same steps to identify the address with HP and I rescan the previous pointer scan to find matches.

None found.

I retried with Max Level 6 because Max Level 5 yielded only 2 results. Left max offset at 2048 (default). This time ~14K results.

None found again.

I've read lots of post suggesting playing with the offset and level values and somewhere else suggesting some limits but the bottom line is that I am not sure what I should be putting here given they seem to play a big role in finding a working result.

The whole process of trying to find the right values here is really a case of trial and error? Are there "proposed" sets of values we should be using instead (or recommended)?
Back to top
View user's profile Send private message
ParkourPenguin
I post too much
Reputation: 138

Joined: 06 Jul 2014
Posts: 4275

PostPosted: Fri Apr 13, 2018 3:25 pm    Post subject: Reply with quote

There's probably a value in memory somewhere that correlates with what level you're on. I was hoping it would be a pointer, but it could be something else the pointer scanner wouldn't find (think index into a container: e.g. array index, hash table key, etc). Depending on what the game is doing, it might not matter what settings you give the pointer scanner- it won't find anything.

If you don't know x86 / x86-64, you're pretty restricted. Finding all the health values and adding all of them in the cheat table is the most straightforward option.


If you're interested in learning assembly, complete the CE tutorial located in the "Help" menu of CE (or in the main CE directory). It doesn't actually teach that much, but it's something.

For this game specifically, find the code that writes to health. If that instruction is consistent between levels (i.e. the address of the instruction accessing the health doesn't change), then you can use it to make a cheat such as invincibility. See step 9 of the CE tutorial and/or this topic for information on how to discern friend from foe.

P.S.: Your intuition on finding the calling function is a valid way of fixing it, but finding the correct caller and doing something with it is quite advanced for a beginner.

_________________
I don't know where I'm going, but I'll figure it out when I get there.
Back to top
View user's profile Send private message
f0rcegr0wn
How do I cheat?
Reputation: 0

Joined: 13 Apr 2018
Posts: 3

PostPosted: Sat Apr 14, 2018 5:06 am    Post subject: Reply with quote

Did it in the end with code injection... rather simple to do AOB search, some structure checks to detect what type of entity is being hit and change health. One injection and I managed to get one-hit kills for enemy crafts and god mode for ship and base.

Rather happy with myself. This is fun so I will try to also do towers HP, resources and so forth and create a trainer Laughing

Thank you for the support and assistance @ParkourPenguin !
Back to top
View user's profile Send private message
Minicar
How do I cheat?
Reputation: 0

Joined: 18 Apr 2018
Posts: 2

PostPosted: Wed Apr 18, 2018 4:03 am    Post subject: Reply with quote

It is very interesting. I want to go in there
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Cheat Engine Forum Index -> General Discussions 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