Hello Arno,

This is interesting. If I see it clear you change the int 3 with a nop
instruction.

The only strange thing is, that I never had that problem (win xp sp3,
D7), but it could be by a recent upgrade service pack maibe...

---
Rgds, Wilfried [TeamICS]
http://www.overbyte.be/eng/overbyte/teamics.html
http://www.mestdagh.biz

Thursday, January 22, 2009, 13:13, Arno Garrels wrote:

> Hoby Smith wrote:

>> Anyway, if that is the case, there is nothing you can do but just
>> live with it or upgrade the OS.  :)

> Actually you can, see OverbyteIcsNtlmSsp.pas:

> { Get rid of some ntdll.DbgBreakPoints M$ forgot to remove from their DLLs  }
> { popping up the CPU window. Written by Francois Piette, published 2002 in  }
> { HowToDoThings website, based on code written by Pete Morris.     
> { Tiny change by myself - to be very correct ;-)                   
> procedure PatchINT3;
> var
>     NOP          : Byte;
>     NTDLL        : THandle;
>     BytesWritten : DWORD;
>     Address      : Pointer;
> begin
>     if Win32Platform <> VER_PLATFORM_WIN32_NT then Exit;
>     NTDLL := GetModuleHandle('NTDLL.DLL');
>     if NTDLL = 0 then Exit;
>     Address := GetProcAddress(NTDLL, 'DbgBreakPoint');
>     if Address = nil then Exit;
>     try
>         if Byte(Address^) <> $CC then Exit;
>         NOP := $90;
>         if WriteProcessMemory(GetCurrentProcess, Address, @NOP, 1, 
> BytesWritten) and
>           (BytesWritten = 1) then
>             FlushInstructionCache(GetCurrentProcess, Address, 1);
>     except
>         //Do not panic if you see an EAccessViolation here, it is perfectly 
> harmless!
>         on EAccessViolation do ;
>         else
>             raise;
>     end;
> end;

> initialization
>     if DebugHook <> 0 then
>         PatchINT3;

-- 
To unsubscribe or change your settings for TWSocket mailing list
please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket
Visit our website at http://www.overbyte.be

Reply via email to