 |
Cheat Engine The Official Site of Cheat Engine
|
| View previous topic :: View next topic |
| Author |
Message |
Stally How do I cheat?
Reputation: 0
Joined: 27 Nov 2025 Posts: 2
|
Posted: Thu Nov 27, 2025 6:20 am Post subject: Problem with finding pointers |
|
|
Probably everyone's first topic on this forum xp
Hello! Been using CE for about 2 years already for writing simple ASL scripts for LiveSplit. I usually dig fairly old (2000-2005) x86 games, and usually looking for String values, not numeric. Also used to write simple stuff on Assembly.
Most of the times i have no problem finding my way, but some games I encounter same single problem.
I find one or multiple dynamic adresses that store the string i need. I change it in game, see changes reflected in CE, all fine
I see what writes to these addresses, find one 'mov [xxx], yyy' instruction, all fine here
then i look up the value of xxx register, try to look for that address in hex 4byte mode...
and find nothing at all. And im completely stuck in this case.
I've also tried pointermaps. Generate a few, then look up using it - and also get 0 results
My only assumption is that string values are trickier than numeric ones.
Yeah, strings might start somewhere before than the exact substring im using to search, but usually it doesnt change the pointer search process or i just find the first byte of the string and use it for search.
Or those games' engines have some weird memory allocation algorithm.
Example is on the first pic. I look up mission name (SXL1) to see whats the current mission. There's two instances in the game memory of the mission name, cause it accesses two scripts related to mission. They're always in the same place, just varies by base address. (ending is always 254/360)
I look up what writes to 02F16350 (or 360, result is the same), see a mov [edi], edx instruction, copy 02F16350 stored in EDI, do a 4byte HEX search and find a single dynamic address that has this value stored - 0109F838. Then i do 'what accesses', load to another mission... and nothing accessed this address. I fail to understand how this can be for now.
Oh, and on the pic you can see that that single address value changed to having its own address 6_9. Maybe its related to the debugger? But there's no other results found
Pointer maps just show 0 results, pic2
| Description: |
|
| Filesize: |
274.39 KB |
| Viewed: |
1002 Time(s) |

|
| Description: |
|
| Filesize: |
13.4 KB |
| Viewed: |
1002 Time(s) |

|
|
|
| Back to top |
|
 |
sergey979 How do I cheat?
Reputation: 0
Joined: 07 Oct 2023 Posts: 2 Location: Belarus
|
Posted: Wed Dec 03, 2025 1:23 am Post subject: Problem with finding pointers |
|
|
much more simple and fast method are using instruction as a pointer, need create aob script, for example
| Code: | [ENABLE]
aobscanmodule(day_time,enshrouded.exe,48 89 47 48 49 3B 07) // should be unique
alloc(newmem,$1000,day_time)
alloc(_day_time,4)
label(code)
label(return)
newmem:
mov [_day_time],rdi
code:
mov [rdi+48],rax
cmp rax,[r15]
jmp return
day_time:
jmp newmem
nop 2
return:
registersymbol(day_time)
registersymbol(_day_time)
[DISABLE]
day_time:
db 48 89 47 48 49 3B 07
unregistersymbol(day_time)
unregistersymbol(_day_time)
dealloc(newmem) |
if instruction are common or write on several addresses then use comparing
| Code: | [ENABLE]
aobscanmodule(fall_damage_height,enshrouded.exe,F3 0F 10 01 0F 2F 41 04) // should be unique
alloc(newmem,$1000,fall_damage_height)
alloc(_fall_damage_height,4)
label(code)
label(hero_code)
label(return)
newmem:
cmp [rcx-0000007c],3f3504f3
je hero_code
code:
movss xmm0,[rcx]
comiss xmm0,[rcx+04]
jmp return
hero_code:
movss xmm0,[rcx]
mov [_fall_damage_height],rcx
comiss xmm0,[rcx+04]
jmp return
fall_damage_height:
jmp newmem
nop 3
return:
registersymbol(fall_damage_height)
registersymbol(_fall_damage_height)
[DISABLE]
fall_damage_height:
db F3 0F 10 01 0F 2F 41 04
unregistersymbol(fall_damage_height)
unregistersymbol(_fall_damage_height)
dealloc(newmem) |
after this just add pointers, where addresses is _day_time and _fall_damage_height with offsets +48 and +0
|
|
| Back to top |
|
 |
Stally How do I cheat?
Reputation: 0
Joined: 27 Nov 2025 Posts: 2
|
Posted: Thu Dec 04, 2025 9:09 am Post subject: |
|
|
| Unfortunately for my purpose code injection isnt possible, ASL scripts should not be interferring with game logic/code in any way, only reading is allowed
|
|
| 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
|
|