все зависит от уровня взломщика
задача - обломать 99% кулхацкеров в попытке что то изменить в программе
остальные 1% реальные хакеры, способные это сделать не будут это делать, у них заботы поважнее
вот еще накопал:
данный способ не сможет полностью защитить Ваш программный продукт от взлома, но прекратить выполнение секретного кода - запросто. Для этого мы будем использовать API функцию IsDebuggerPresent.
Теперь посмотрим как эту функцию реализовать в Delphi:
Код:
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;
комментарии?