 |
Cheat Engine The Official Site of Cheat Engine
|
View previous topic :: View next topic |
Author |
Message |
hasan3307 How do I cheat?
Reputation: 0
Joined: 19 Nov 2019 Posts: 3
|
Posted: Tue Nov 19, 2019 12:38 pm Post subject: Need help to find the same values without searching again |
|
|
I am playing a real time strategy game and was messing around with it. It has a lot of values because everytime we play a new random map is generated. In that map I have to find wood and food. Kinda like age of empires or rise of nations. But the problem is they I have to serach for 4 bytes unknown initial value then do the changed value or unchanged value more than 20 times. Which is not fun. I am a beginner so here are a few things I found:
I found the value and click on find out what accesses this address and clicked on more info to get this:
7FF7F017C001 - 48 8B 53 08 - mov rdx,[rbx+08]
7FF7F017C005 - 4C 8D 4C 24 35 - lea r9,[rsp+35]
7FF7F017C00A - 44 8B 04 82 - mov r8d,[rdx+rax*4] <<
7FF7F017C00E - 66 90 - nop
7FF7F017C010 - 49 FF C9 - dec r9
RAX=0000000000000001
RBX=000001AE92364190
RCX=00000057F10FD271
RDX=00000433259A7100
RSI=00000057F10FD3D8
RDI=00000057F10FD3D8
RSP=00000057F10FD130
RBP=00000057F10FD269
RIP=00007FF7F017C00E
R8=000000000098967F
R9=00000057F10FD165
R10=0000000000000018
R11=00000057F10FD100
R12=000001AE92364190
R13=0000000000000001
R14=0000000000000000
R15=0000000000000000
The original address was this 433259A7104
Kindly help as soon as you can. Thanks!
|
|
Back to top |
|
 |
DanyDollaro Master Cheater
Reputation: 3
Joined: 01 Aug 2019 Posts: 334
|
Posted: Tue Nov 19, 2019 1:40 pm Post subject: |
|
|
Seeing the code you can easily assume that the value you are looking for is found in the address pointed to by "rdx + rax * 4", you can easily create a script that saves the result of this expression in a registered area.
Here's a sketch:
Code: | [ENABLE]
aobscanmodule(INJECT, {Module Name} ,44 8B 04 82 66 90)
alloc(newmem,$1000,{Module Name + offset})
alloc(Address, 8)
registersymbol(Address)
label(code)
label(return)
newmem:
push eax
add eax, eax
add eax, eax
mov [Address], eax
push eax
add [Address], rdx
code:
mov r8d,[rdx+rax*4]
nop
jmp return
INJECT:
jmp newmem
nop
return:
registersymbol(INJECT)
[DISABLE]
INJECT:
db 44 8B 04 82 66 90
unregistersymbol(INJECT)
dealloc(newmem)
unregistersymbol(Address)
dealloc(Address) |
|
|
Back to top |
|
 |
hasan3307 How do I cheat?
Reputation: 0
Joined: 19 Nov 2019 Posts: 3
|
Posted: Fri Nov 22, 2019 2:21 pm Post subject: |
|
|
DanyDollaro wrote: | Seeing the code you can easily assume that the value you are looking for is found in the address pointed to by "rdx + rax * 4", you can easily create a script that saves the result of this expression in a registered area.
Here's a sketch:
Code: | [ENABLE]
aobscanmodule(INJECT, {Module Name} ,44 8B 04 82 66 90)
alloc(newmem,$1000,{Module Name + offset})
alloc(Address, 8)
registersymbol(Address)
label(code)
label(return)
newmem:
push eax
add eax, eax
add eax, eax
mov [Address], eax
push eax
add [Address], rdx
code:
mov r8d,[rdx+rax*4]
nop
jmp return
INJECT:
jmp newmem
nop
return:
registersymbol(INJECT)
[DISABLE]
INJECT:
db 44 8B 04 82 66 90
unregistersymbol(INJECT)
dealloc(newmem)
unregistersymbol(Address)
dealloc(Address) |
|
Thanks for this brother. I ran into another problem. Now this rts game has fog of war. I can't find this fog of war's value/address no matter what or how many times I do. I tried with a single person but it would give me that person's angle (direction he is facing). I tried with multiple people at a time and it would still give me a few values but all unrelated to fog of war.
|
|
Back to top |
|
 |
|
|
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
|
|