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