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