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 


Two questions from a beginner.

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

Joined: 14 Mar 2020
Posts: 2

PostPosted: Sat Mar 14, 2020 7:30 pm    Post subject: Two questions from a beginner. Reply with quote

I've been hacking a game for the past week now. I have found a lot of the addresses I needed to modify to get the effects that I wanted Via cheat engine. I know it is through memory manipulation, but my first question is:

Can you use these memory addresses to find the actual address in the .exe for hex editing? I am looking to make a permanent patch for a game I play, addressing some balance issues, and I have found quite a bit, but when it comes to the stats of the weapons I can't seem to find them, So I looked to cheat engine to find out the value. I.E. one weapon does 7 damage to health. I could modify it via cheat engine, but that would not be actually patching it. Is there a way to find the static addresses that assign these stats to the memory?


My second question is more of a shot in the dark, that I honestly don't think is possible, but I'll ask the experts.

If you have a game that has 6 characters, would it be possible to inject a 7th selectable character via script or some other hack? Seems like a stretch to me, but it would be interesting to learn, although if it manages to work, I imagine it would be quite complex.
Back to top
View user's profile Send private message
DanyDollaro
Master Cheater
Reputation: 3

Joined: 01 Aug 2019
Posts: 334

PostPosted: Sat Mar 14, 2020 8:31 pm    Post subject: Reply with quote

1) If you want the effects of your scripts to be permanent you have to patch the exe code and save it, normally I have never done it with Cheat Engine (I think there is no possibility) but I do it with a debugger called Xdbg (There are many debuggers that implement this option).

2) Of course you can find the damage of a weapon, but you must have basic reverse engineering skills, I will show you the steps:
Considering a player with 100 life points and a weapon that does 5 damage, you must find the player's life and from there you can get the code that decreases life, reading the code you will find a part in which the damage of the weapon is subtracted from the life of the player, so something like:
Code:
sub eax, ecx

where it could be assumed that:
eax = Player_Life
ecx = Weapon_Damage
from there you will have to understand how the damage of the weapon is loaded on the register ecx probably with an instruction like:
Code:
mov ecx, [address]

where "address" is a pointer to weapon damage, so you have found weapon damage.
There would also be a second method, that is, from the ammunition of the weapon you disassemble the structure hoping to find the damage of the weapon but I have never had luck with the second method (with the first yes).

3) You have not described the condition well but if you are referring to a multiplayer game with 6 players teams and you would like to add a seventh player it is an almost impossible action.
Back to top
View user's profile Send private message
Xero44
How do I cheat?
Reputation: 0

Joined: 14 Mar 2020
Posts: 2

PostPosted: Sat Mar 14, 2020 8:58 pm    Post subject: Reply with quote

Thank you very much for your reply. To better describe what I mean by the second one is,

In a singleplayer mode when you go to select a character you only have 6 characters to choose from. Could you add a 7th choice, new character to play as, by injecting that new character in via a script of some sort.

I know you can do similar things with LUA when it comes to different aspects of the games.
Back to top
View user's profile Send private message
ParkourPenguin
I post too much
Reputation: 152

Joined: 06 Jul 2014
Posts: 4702

PostPosted: Sat Mar 14, 2020 10:36 pm    Post subject: Reply with quote

1: That heavily depends on what language the game was coded in. If it's something statically compiled (e.g. C/C++), it should be easy by looking at the code accessing the value. That code should be part of an exe loaded into memory that is similar to the exe stored on disk. Patching the exe on disk shouldn't be too far different from changing it in memory- e.g. it won't use the same offset.

If it's written in some language using JIT compilation or interpretation, you'd need to find where the original bytecode is stored and change that. The way that requires the least knowledge or experience would be to use a decompiler, if you can find one for that particular language. You'd still need to extract the bytecode in a form readable by the decompiler.

2: Technically yes, that's possible, but it might not be practical, especially for a beginner. That would require reverse engineering that's most often best done by other tools (e.g. IDA) even in the simplest of scenarios.

_________________
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
Display posts from previous:   
Post new topic   Reply to topic    Cheat Engine Forum Index -> General Gamehacking 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