Czy orientuje sie moze ktos jak sprawdzic czy nasza aplikacja znajduje sie w trybie debugowania?
0
0
Wiem jak wykryc debuggera, moze na cos sie przydac
function SoftIce95Loaded: boolean;
var hFile: Thandle;
begin
result := false;
hFile := CreateFileA('.SICE', GENERIC_READ or GENERIC_WRITE,
FILE_SHARE_READ or FILE_SHARE_WRITE, nil, OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL, 0);
if( hFile <> INVALID_HANDLE_VALUE ) then
begin
CloseHandle(hFile);
result := TRUE;
end;
end;
function SoftIceNTLoaded: boolean;
var hFile: Thandle;
begin
result := false;
hFile := CreateFileA('.NTICE', GENERIC_READ or GENERIC_WRITE,
FILE_SHARE_READ or FILE_SHARE_WRITE, nil, OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL, 0);
if( hFile <> INVALID_HANDLE_VALUE ) then
begin
CloseHandle(hFile);
result := TRUE;
end;
end;
I tutaj uniwersalna (nie dziala pod Windows 95);
function DebuggerPresent: boolean;
type
TDebugProc = function: boolean; stdcall;
var
Kernel32: HMODULE;
DebugProc: TDebugProc;
begin
Result := False;
Kernel32 := GetModuleHandle('kernel32.dll');
if Kernel32 <> 0 then
begin
@DebugProc := GetProcAddress(Kernel32, 'IsDebuggerPresent');
if Assigned(DebugProc) then
Result := DebugProc;
end;
end;
0
Serdeczne dzieki