Программы   Загрузка Партнерство   О компании Контакты  
 
                    
  Карта Сайта   
   

Как определить - находится ли приложение в режиме отладки

Автор: Simon Carter


Обычно господа взломщики, для того, чтобы взломать защиту приложения, запускают его в режиме отладки и анализируют машинный код для определения точки перехвата ввода пароля с клавиатуры.

Обычно таким способом ломаются игрушки :)

Конечно данный способ не сможет полностью защитить Ваш программный продукт от взлома, но прекратить выполнение секретного кода - запросто. Для этого мы будем использовать API функцию IsDebuggerPresent. Единственный недостаток этой функции, заключается в том, что она не работет под Windows 95.

Теперь посмотрим как эту функцию реализовать в 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;

А это окончательный пример вызова нашей функции:


if DebuggerPresent then
  ShowMessage('debugging')
else
  ShowMessage('NOT debugging');

           


Любые виды услуг и кредит под залог автомобиля по специальной цене. . Все про Управление - станция управления каскад. Легко управлять человеком. . лазерные системы . Попасть на прием к неврологу и второе УЗИ. Лечение мастопатии. . Купить в Санкт-Петербурге автотопливозаправщик со склада. .


Программы  |  Загрузка  |  Партнерство  |  О компании  |  Контакты

Copyright © LSD Software 2006 - 2011