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 


Car Mechanic Simulator 2018 XP multiplier

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

Joined: 25 Sep 2017
Posts: 0

PostPosted: Mon Sep 25, 2017 12:48 pm    Post subject: Car Mechanic Simulator 2018 XP multiplier Reply with quote

Hello!

I'm wondering how to create a multiplier for Car Mechanic Simulator 2018.
I'm a beginner user when it comes to cheat engine. I can find the correct address and change it.

But when it comes to e.g. an multiplier, I have no idea.

Although I did try this. It might be wrong though. After I found the XP itself, I right clicked and found what was writing to it. This is what I found:

[code]
6F7101DA - 03 CE - add ecx,esi
6F7101DC - B8 58754E46 - mov eax,464E7558
6F7101E1 - 89 08 - mov [rax],ecx <<
6F7101E3 - 48 83 EC 20 - sub rsp,20
6F7101E7 - 49 BB D002716F00000000 - mov r11,000000006F7102D0

RAX=00000000464E7558
RBX=000000001166C310
RCX=000000000000012E
RDX=0000000000000037
RSI=0000000000000001
RDI=0000000000000002
RSP=0000000000AFED60
RBP=0000000000AFED70
RIP=000000006F7101E3
R8=0000000000000037
R9=00000000A92F73E0
R10=0000000000000037
R11=00000000068037B0
R12=0000000000AFF630
R13=0000000004B84D48
R14=0000000000AFF510
R15=0000000000000000
[/code]

But this is where I am stuck.
I would some help on this!
Back to top
View user's profile Send private message
FreeER
Grandmaster Cheater Supreme
Reputation: 53

Joined: 09 Aug 2013
Posts: 1091

PostPosted: Mon Sep 25, 2017 2:58 pm    Post subject: Reply with quote

well, mov [rax],ecx is the instruction that wrote to the address, denoted by the "<<". Since CE uses Intel syntax for assembly that means the value in ecx was moved into the address of rax.

Looking at the instructions above that you can see that eax is set to 464E7558, so presumably this is a game where code is jitted (Just In Time- compiled); It _looks_ like it's static but most compilers wouldn't move a static address into eax like that (though they might for x64 and rax, particularly with calls), they'd just encode it into the instruction, eg. mov [464E7558], ecx or something like mov ["carMechanicSim.exe+558"], ecx.

You can also see that it's adding esi to ecx (which is the new xp value).

Looking at the values of the registers (after the add) you can see that RCX/ecx is 12E and RSI/esi 1 so ecx was 12D before the add and so esi is how much xp was being added. If XP is always added 1 at a time it's trivial to create a multiplier here, just hook the code to move whatever multiplier you want into esi. If you make it 9 then you'll get 9 times the xp. If it's not always 1 then you'd use either the mul or imul (signed multiplication) instruction to multiply esi. Since mul always implicitly uses the ax/eax register and you probably don't want/need to multiply by a number large enough to be considered negative, it's probably most convenient to use something like imul ecx, A (remember CE uses hex by default).

Since this is, probably, jitted code you'll almost certainly need to use an aob scan / script for it to work after restarts. If it's a mono game then may be able to find it from symbols but it's hard to tell just from what's been shown.
Back to top
View user's profile Send private message
OldCheatEngineUser
Whateven rank
Reputation: 20

Joined: 01 Feb 2016
Posts: 1587

PostPosted: Mon Sep 25, 2017 6:49 pm    Post subject: Reply with quote

i had this game, or i still have it tho.

it doesnt have static / module addresses.

and honestly the game is easy without cheats tho, i did a script for both exp and money.
all what i did and wrote is:
Code:
add ecx,00000183 // 387 decimal

i found it the best number to add, since adding more will ruin the fun of that game and make it boring.

but keep in mind that you need a very long array of byte.

and if you dont care about your fun, then you dont need a script.
just modify the value and you are done.

@FreeER, yes its mono.

_________________
About Me;
I Use CE Since Version 1.X, And Still Learning How To Use It Well!
Jul 26, 2020
STN wrote:
i am a sweetheart.
Back to top
View user's profile Send private message Visit poster's website
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