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

int3 problems #1614

Open
PELock opened this issue Jun 8, 2017 · 7 comments
Open

int3 problems #1614

PELock opened this issue Jun 8, 2017 · 7 comments
Labels
enhancement The issue requests an enhancement to an existing feature. good first issue The issue has a limited scope and is good for new developers. gui The issue is about the GUI of x64dbg.

Comments

@PELock
Copy link

PELock commented Jun 8, 2017

  1. Put int3 (CC) in your code
  2. Load it into x64dbg
  3. F9
  4. Exception is catched at int3 (int3 stepping disabled in options)
  5. Move current EIP right after the int3 ("CTRL + * star" keyboard shortcut)
  6. Press F8 or F7 to run instruction right next to int3
  7. BUG -> x64dbg returns to the int3 instruction, EIP is restored back to int3 even if it was manually changed to the instruction next to it
@mrexodia
Copy link
Member

mrexodia commented Jun 8, 2017 via email

@PELock
Copy link
Author

PELock commented Jun 8, 2017

It's just annoying and looks like a bug, because I have manually changed the EIP to other, safe instruction, so why the hell would it come back at the exception EIP? Where's the logic in that? OllyDbg 1 & 2 respects that behaviour. x64dbg should follow my steps, not otherwise.

PS. I really miss "d" command to navigate into the dump window, it's the most common used command in my experience and writing "dump address" is just way slower than "d address" 👎

@mrexodia
Copy link
Member

mrexodia commented Jun 8, 2017 via email

@PELock
Copy link
Author

PELock commented Jun 8, 2017

In my eyes it's clearly a bug in x64dbg, because it ignores my actions and behaves unnatural like I don't have control over EIP. If it's not a bug, but a "feature" like you put it, than allowing to change EIP on int3 exception is a bug, isn't it?

@mrexodia
Copy link
Member

mrexodia commented Jun 9, 2017 via email

@Mattiwatti
Copy link
Member

It's easy to change the default behaviour for this if you want to. But if the default was to ignore exceptions after changing EIP, programs would behave differently when being debugged than when not being debugged. This would lead to other bug reports due to unexpected breakages (much more vague ones than this, because the different behaviour would likely only manifest in some other place). And second it would expose an easy anti-debug weakness as @mrexodia said.

@mrexodia
Copy link
Member

I think it would be possible to make a special case out of where you chance CIP on a first chance exception. It should be pretty easy to just pop up a message box that explains the situation and asks you if you wish to swallow the exception and change CIP.

@mrexodia mrexodia added good first issue The issue has a limited scope and is good for new developers. enhancement The issue requests an enhancement to an existing feature. gui The issue is about the GUI of x64dbg. labels Jun 15, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement The issue requests an enhancement to an existing feature. good first issue The issue has a limited scope and is good for new developers. gui The issue is about the GUI of x64dbg.
Projects
None yet
Development

No branches or pull requests

3 participants