Re: Module level breakpoint filtering
- From: "anton bassov" <soviet_bloke@xxxxxxxxxxx>
- Date: 15 Jul 2006 13:43:53 -0700
Hi Slava
Hooking IsDebuggerPresent() is not the best idea either, for the simple
reason that the target DLL does not necessarily have to call this routine
in order to realize that the process is being debugged - after all, it can
just check PEB, i.e. just re-implement it.
True, but highly unlikely.
Don't forget that we are speaking about the protection scheme, so that
there is a good chance that its designers took some steps to make this
scheme not-so-easy to neuralize. If they just call IsDebuggerPresent(),
the task of neutralizing the whole scheme is just trivial, especially
if they do it via IAT. However, if they provide their own
implementation of IsDebuggerPresent(), the task becomes much more
complex. If you take into consideration the fact that custom
implementation of IsDebuggerPresent() requires just 4(!!!) assembly
instructions (including RET), I hope you will agree that the above
mentioned scenario is much more likely than you originally thought
Your idea about __try/__except block is already better, although it
requires modifying the client code
I had no such ideas.
If you had no such ideas, could you please explain the statement below
- you are the one who made it:
///////
Another way how this DLL can work fine without a debugger is by
wrapping the
breakpoints in a __try/__except block, whose __except handler will
simply
dismiss the exception.
///////
Anton Bassov
Slava M. Usov wrote:
"anton bassov" <soviet_bloke@xxxxxxxxxxx> wrote in message
news:1152990472.898720.105870@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
[...]
Hooking IsDebuggerPresent() is not the best idea either, for the simple
reason that the target DLL does not necessarily have to call this routine
in order to realize that the process is being debugged - after all, it can
just check PEB, i.e. just re-implement it.
True, but highly unlikely.
Your idea about __try/__except block is already better, although it
requires modifying the client code
I had no such ideas.
S
.
- Follow-Ups:
- Re: Module level breakpoint filtering
- From: Slava M. Usov
- Re: Module level breakpoint filtering
- References:
- Module level breakpoint filtering
- From: Mark Randall
- Re: Module level breakpoint filtering
- From: Slava M. Usov
- Re: Module level breakpoint filtering
- From: anton bassov
- Re: Module level breakpoint filtering
- From: Slava M. Usov
- Module level breakpoint filtering
- Prev by Date: Re: Module level breakpoint filtering
- Next by Date: Re: Module level breakpoint filtering
- Previous by thread: Re: Module level breakpoint filtering
- Next by thread: Re: Module level breakpoint filtering
- Index(es):
Relevant Pages
|