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 


Game freezes after attaching debugger

 
Post new topic   Reply to topic    Cheat Engine Forum Index -> General Gamehacking
View previous topic :: View next topic  
Author Message
herzenstube
Newbie cheater
Reputation: 0

Joined: 24 Nov 2024
Posts: 10

PostPosted: Sat Dec 28, 2024 8:08 pm    Post subject: Game freezes after attaching debugger Reply with quote

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
View user's profile Send private message
ParkourPenguin
I post too much
Reputation: 152

Joined: 06 Jul 2014
Posts: 4695

PostPosted: Sun Dec 29, 2024 1:48 am    Post subject: Reply with quote

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
View user's profile Send private message
herzenstube
Newbie cheater
Reputation: 0

Joined: 24 Nov 2024
Posts: 10

PostPosted: Sun Jan 05, 2025 12:22 pm    Post subject: Reply with quote

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
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