Debugowanie aplikacji

0

Czy orientuje sie moze ktos jak sprawdzic czy nasza aplikacja znajduje sie w trybie debugowania?

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

1 użytkowników online, w tym zalogowanych: 0, gości: 1