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 


Question about Game Injection

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

Joined: 21 May 2018
Posts: 7

PostPosted: Mon Sep 17, 2018 8:55 am    Post subject: Question about Game Injection Reply with quote

Hello! I'm starting in this days to learn/try the Game Injections.
I watched some tables script, and tutorials, from here, from the CE Wiki, from Videos, and trying with the CE Tutorial it works.
But i have some and some questions....

I tried in a singleplayer game (Subanautica), but it's so difficult finding vvariables, and when i create the injection with the right address, it crashes at the use. I founded a functional table, but whatching the script, for oxygen for exemple, it has very low commands, at enable and Disbale only Survival: oxygen+s1+... and db 18 or 20. I also see other table and some of them are so different from all the tutorial/exemple (sometime also completely).

SO i'm asking for more advice/help!


Thank you so much
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 17, 2018 4:53 pm    Post subject: Reply with quote

Show specific examples (script and original code) and we can explain what's going on.... pretty much no one is going to sit around and list every possible variation of what you can do in CE from beginner to expert.

not sure what "oxygen+s1+..." is, maybe just adding offsets but I'm not sure if CE supports more than one offset most of the time, "db 18 or 20" - "db" is short for "define byte" and tells CE to write the following values as single bytes (as opposed to dw which is for define word (2 bytes), dd for dword (4), and dq for qword/quadword (Cool).

_________________
https://github.com/FreeER/ has a few CE related repos
Back to top
View user's profile Send private message
Romans96
How do I cheat?
Reputation: 0

Joined: 21 May 2018
Posts: 7

PostPosted: Tue Sep 18, 2018 7:55 am    Post subject: Reply with quote

FreeER wrote:
Show specific examples (script and original code) and we can explain what's going on.... pretty much no one is going to sit around and list every possible variation of what you can do in CE from beginner to expert.

not sure what "oxygen+s1+..." is, maybe just adding offsets but I'm not sure if CE supports more than one offset most of the time, "db 18 or 20" - "db" is short for "define byte" and tells CE to write the following values as single bytes (as opposed to dw which is for define word (2 bytes), dd for dword (4), and dq for qword/quadword (Cool).


Oh yes sorry i forgot them

so the CT that i saw (and works) have this script for Inf Oxygen (for exemple
Code:


[ENABLE]
Oxygen:RemoveOxygen+51+4:
  db 18
//F3 0F 10 4E 18
//movss xmm1,[rsi+18]

[DISABLE]
Oxygen:RemoveOxygen+51+4:
  db 20
//F3 0F 10 4E 20
//movss xmm1,[rsi+20]


so i tried following the code injection tutorials and after founding the address of oxygen (and i was sure that it was correctly).
With the address founded: 20176F12815 - 89 7E 70 - mov [rsi+70],edi
This is the default:
Code:

[ENABLE]
//code from here to '[DISABLE]' will be used to enable the cheat
alloc(newmem,2048,20176F12815)
label(returnhere)
label(originalcode)
label(exit)

newmem: //this is allocated memory, you have read,write,execute access
//place your code here

originalcode:
mov [rsi+70],edi
mov [rsi+74],r15d

exit:
jmp returnhere

20176F12815:
jmp newmem
nop
nop
returnhere:


 
 
[DISABLE]
//code from here till the end of the code will be used to disable the cheat
dealloc(newmem)
20176F12815:
mov [rsi+70],edi
mov [rsi+74],r15d
//Alt: db 89 7E 70 44 89 7E 74


the i tried this:
Code:

[ENABLE]
//code from here to '[DISABLE]' will be used to enable the cheat
alloc(newmem,2048,20176F12815)
label(returnhere)
label(originalcode)
label(exit)

newmem: //this is allocated memory, you have read,write,execute access
//place your code here

originalcode:
mov [rsi+70],#500

exit:
jmp returnhere

20176F12815:
jmp newmem
nop
nop
returnhere:


 
 
[DISABLE]
//code from here till the end of the code will be used to disable the cheat
dealloc(newmem)
20176F12815:
mov [rsi+70],edi
mov [rsi+74],r15d
//Alt: db 89 7E 70 44 89 7E 74

and it doesn not change nothing

or this:
Code:

[ENABLE]
//code from here to '[DISABLE]' will be used to enable the cheat
alloc(newmem,2048,20176F12815)
label(returnhere)
label(originalcode)
label(exit)

newmem: //this is allocated memory, you have read,write,execute access
//place your code here

originalcode:
mov [rsi+70],#500
mov [rsi+74],#500

exit:
jmp returnhere

20176F12815:
jmp newmem
nop
nop
returnhere:


 
 
[DISABLE]
//code from here till the end of the code will be used to disable the cheat
dealloc(newmem)
20176F12815:
mov [rsi+70],edi
mov [rsi+74],r15d
//Alt: db 89 7E 70 44 89 7E 74

and the game crashes.
What i'm doing bad? For the CE tutorial in the same way, for an int variable it works
Back to top
View user's profile Send private message
FreeER
Grandmaster Cheater Supreme
Reputation: 53

Joined: 09 Aug 2013
Posts: 1091

PostPosted: Tue Sep 18, 2018 8:10 am    Post subject: Reply with quote

There's nothing obviously bad there as long as 20176F12815 is still a valid address but its entirely possible that the same code changes other values as well that are used in such a way that having a value of 500 crashes the game (eg. an array index). Which may be why the working script you found is changing different code.

Though in the second one that doesn't work but doesn't crash you should probably still have mov [rsi+74],r15d. I wouldn't expect it to suddenly work with that however.

and yeah presumably Oxygen:RemoveOxygen+51+4: is the same as Oxygen:RemoveOxygen+55:, I just personally do the latter so wasn't certain that the former works.

The db is just changing the offset used from 18 to 20 (hex) or vice versa for disabling. Probably changing it from loading the current oxygen value to loading the max oxygen value.

_________________
https://github.com/FreeER/ has a few CE related repos
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