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 


Can Cheat engine do "reverse debugging" ?

 
Post new topic   Reply to topic    Cheat Engine Forum Index -> Cheat Engine
View previous topic :: View next topic  
Author Message
peddroelm
Advanced Cheater
Reputation: 0

Joined: 03 Oct 2014
Posts: 84

PostPosted: Sat Apr 22, 2017 4:12 am    Post subject: Can Cheat engine do "reverse debugging" ? Reply with quote

http://stackoverflow.com/questions/1470434/how-does-reverse-debugging-work ..


"..Anyone who has used a debugger has probably had the experience of suddenly realizing that you have accidentally gone too far -- the event you were looking for has passed, and you missed seeing it. With reverse debugging, instead of starting the program over from the beginning and repeating your entire (possibly lengthy) debugging session, you can simply set a breakpoint at an earlier point in the program, and "reverse-continue", causing the program to back up and "undo itself" to that earlier point, from which you can proceed forward again. Or, you can "reverse-step" and "reverse-next" to back up one program statement at a time (just like normal "step" and "next" take you forward by one program statement)..."

I would imagine such a feature would be great for figuring out various mechanics in games .

Find hitpoint/whatever variable address. Set a breakpoint on write and execute step by step BACKWARDS to see how ..say the damage amount was calculated for example, further back .. chance to hit calculations .. etc ..


https://msdn.microsoft.com/en-us/library/dd264915.aspx


Last edited by peddroelm on Sat Apr 22, 2017 4:45 am; edited 1 time in total
Back to top
View user's profile Send private message
Dark Byte
Site Admin
Reputation: 457

Joined: 09 May 2003
Posts: 25262
Location: The netherlands

PostPosted: Sat Apr 22, 2017 4:23 am    Post subject: Reply with quote

Code:

mov eax,ecx
mov ecx[eax+48]
mov eax,[ecx+10c]
mov ebx,[eax+28] <bp here


how would you reverse debug this without slowing down the game by collecting too much data. (sure you csn singlestep all instructions and store the state, but it's slow. imagine the tracer in ce running non stop)


but you can use ultimap2 to build a sequential path showing how it got there. (make it output to a file, find the spot, and then from the closest sync point trace till that spot, it will give you the exact path)

_________________
Do not ask me about online cheats. I don't know any and wont help finding them.

Like my help? Join me on Patreon so i can keep helping


Last edited by Dark Byte on Sat Apr 22, 2017 4:29 am; edited 1 time in total
Back to top
View user's profile Send private message MSN Messenger
peddroelm
Advanced Cheater
Reputation: 0

Joined: 03 Oct 2014
Posts: 84

PostPosted: Sat Apr 22, 2017 4:27 am    Post subject: Reply with quote

Just because I (peddroelm) have no clue how something could be done, doesn't mean it is impossible Smile .

here is a quote from google that might be relevant (it was linked in the OP)

"..I'm a gdb maintainer and one of the authors of the new reverse debugging. I'd be happy to talk about how it works. As several people have speculated, you need to save enough machine state that you can restore later. There are a number of schemes, one of which is to simply save the registers or memory locations that are modified by each machine instruction. Then, to "undo" that instruction, you just revert the data in those registers or memory locations.

Yes, it is expensive, but modern cpus are so fast that when you are interactive anyway (doing stepping or breakpoints), you don't really notice it that much.."
Back to top
View user's profile Send private message
Dark Byte
Site Admin
Reputation: 457

Joined: 09 May 2003
Posts: 25262
Location: The netherlands

PostPosted: Sat Apr 22, 2017 4:33 am    Post subject: Reply with quote

yes, stepping on breakpoints it's possible, but break on access is meant to be fast.

try running ce's break and trace for 999999999999999 instructions from the game entrypoint.

_________________
Do not ask me about online cheats. I don't know any and wont help finding them.

Like my help? Join me on Patreon so i can keep helping
Back to top
View user's profile Send private message MSN Messenger
Display posts from previous:   
Post new topic   Reply to topic    Cheat Engine Forum Index -> Cheat Engine 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