Определение отладки Вашего приложения
Чтобы воспользоваться этой функцией, просто вызовите 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 }
Комментарии