Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

How to implement F5/F10/F11 #29

Open
PromiseNoDieForever opened this issue Nov 15, 2023 · 2 comments
Open

How to implement F5/F10/F11 #29

PromiseNoDieForever opened this issue Nov 15, 2023 · 2 comments
Labels
question Further information is requested

Comments

@PromiseNoDieForever
Copy link

Very disturbing. I want to implement the function of using F5/F10/F11. How should I implement it?
eg use code for g-/g+/t-/t+/p+/- in windbg

@commial commial added the question Further information is requested label Nov 20, 2023
@commial
Copy link
Owner

commial commented Nov 20, 2023

Hi,

Not sure to properly understand the question, but I'll give a try.

Commands in WinDBG are actually wrappers for more complex functionalities. Some of them are easier than other, for instance:

  • t+ and t- corresponds to ReplayForward(.., 1) and ReplayBackward(..., 1)
  • g+ and g-, same but with the maximum number of instruction
  • p+ and p- involves either detecting the call stack to find the callers ou disassembling until a ret is find. Then, a breakpoint is added, and the execution is continued. Another way to do it, maybe slower, would be to track the value of RSP or calls. There is actually a callback for that, look at example_calltree

Long story short, ttd-bindings wraps TTD, which provides "basic" functionalities. WinDBG builds its more advanced features by assembling them.

@PromiseNoDieForever
Copy link
Author

OK Thanks,I will try it
The main reason for asking this question is because I want to know whether you reverse engineered the code implemented on windbg.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
question Further information is requested
Projects
None yet
Development

No branches or pull requests

2 participants