 |
Cheat Engine The Official Site of Cheat Engine
|
View previous topic :: View next topic |
Author |
Message |
herzenstube Newbie cheater
Reputation: 0
Joined: 24 Nov 2024 Posts: 10
|
Posted: Sat Dec 28, 2024 8:08 pm Post subject: Game freezes after attaching debugger |
|
|
I want to find an offset for one value in the game.
I found a section of code that writes a value to a register, and I want to track where it comes from.
When I perform actions in the game that change the value, the window "Find what writes to this address" finds instructions
And this instructions are exactly the function that changes the values I need.
When I'm trying to attach the debugger, the breakpoint is triggered very often,it seems like the function is used literally all the time in many cycles.
I set a filter for the desired value of my register, to track register that I need.
For example ESI==32822E74
But with the filter, the game almost completely freezes with 0.001 FPS, and I can't interact with the game in any way, because of the lags.
I understand that probably this is due to the high load from the debugger.
But even when I managed to take actions in the game to change the value. The breakpoint did not intercept the action.
Although when the breakpoint is not setted up, the window "Find what writes to this address" points exactly to this instruction, it is 100%.
Could you please tell me how I can act in such conditions. Maybe there is some other way to debug such functions, with a register filter.
Unraveling the chain without a debugger seems like an impossible task to me.
Thanks.
|
|
Back to top |
|
 |
ParkourPenguin I post too much
Reputation: 152
Joined: 06 Jul 2014 Posts: 4695
|
Posted: Sun Dec 29, 2024 1:48 am Post subject: |
|
|
Conditional breakpoints get triggered regardless of whether the condition is true or false. If it's false, then CE automatically resumes. This whole process of stopping the thread, executing the interrupt and exception handlers, context switching to CE's process, executing the Lua condition, and context switching back to the game takes time.
Try a code injection to check the condition. Example section of an AA script:
Code: | ...
label(do_break)
registersymbol(do_break)
newmem:
push rcx
mov rcx,D858C9128
cmp rsi,rcx
pop rcx
je do_break
mov eax,[rsi+1234]
jmp return
do_break:
mov eax,[rsi+1234]
jmp return
... | Enable the script, go to "do_break" in the disassembler, and set a breakpoint at that instruction.
_________________
I don't know where I'm going, but I'll figure it out when I get there. |
|
Back to top |
|
 |
herzenstube Newbie cheater
Reputation: 0
Joined: 24 Nov 2024 Posts: 10
|
Posted: Sun Jan 05, 2025 12:22 pm Post subject: |
|
|
ParkourPenguin wrote: | Conditional breakpoints get triggered regardless of whether the condition is true or false. If it's false, then CE automatically resumes. This whole process of stopping the thread, executing the interrupt and exception handlers, context switching to CE's process, executing the Lua condition, and context switching back to the game takes time.
Try a code injection to check the condition. Example section of an AA script:
Code: | ...
label(do_break)
registersymbol(do_break)
newmem:
push rcx
mov rcx,D858C9128
cmp rsi,rcx
pop rcx
je do_break
mov eax,[rsi+1234]
jmp return
do_break:
mov eax,[rsi+1234]
jmp return
... | Enable the script, go to "do_break" in the disassembler, and set a breakpoint at that instruction. |
Amazing method
I've tried it and it works.
The disadvantage is that it takes time making an injection for every register check an the code becomes a little clogged, but I think I’ll get used to it.
At least now I have an option.
Thanks a lot for your help
|
|
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
|
|