Статьи
|
Вам необходимо проверить, пытается ли пользователь приступить к отладке Вашего приложения? Например, взломать код, создать крэк или кейген? Все это можно проконтролировать в Вашем же приложении. Все, что Вам нужно предоставлено в 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 }
|