Карта сайтаСсылкиКонтакты

Хостинг


Определение отладки Вашего приложения

PDF Печать
Статьи

Вам необходимо проверить, пытается ли пользователь приступить к отладке Вашего приложения? Например, взломать код, создать крэк или кейген? Все это можно проконтролировать в Вашем же приложении. Все, что Вам нужно предоставлено в Windows API. IsDebuggerPresent поддерживают все ОС Windows, начиная с Win98. Чтобы воспользоваться этой функцией, просто вызовите IsDebuggerPresent и используйте результат, чтобы изменить поведение Вашего приложения, если была предпринята отладка приложения. Также имейте ввиду, что имена процедур хранятся в исполняемых файлах, так что Вы можете изменить название функции IsDebuggerPresent на что-то менее очевидное, чтобы запутать юзера, пытающегося провести отладку Вашего приложения.


function DebuggerPresent : boolean;
type
  TDebugProc = function : boolean;
    stdcall;
var
  Kernel32: HMODULE;
  DebugProc: TDebugProc;
begin { DebuggerPresent }
  Result := False;
  Kernel32 := GetModuleHandle('kernel32');
  if Kernel32<>0 then
  begin
    @DebugProc := GetProcAddress(Kernel32, 'IsDebuggerPresent');
    if Assigned(DebugProc) then
      Result := DebugProc
  end; { Kernel32<>0 }
end; { DebuggerPresent }

 

Добавить комментарий


Защитный код
Обновить