Debugging

  • Автор темы Dico
  • Дата начала
Статус
Закрыто для дальнейших ответов.
D

Dico

#1
Как определить в программе на С/С++,запущена она в среде отладчика или работает в обычном режиме, и если обнаружен отладчик, программа выводедит сообщение и завершить свое выполнение.


Дайте хотябы части :
1) Алгоритм:
2) Отслеживания отладчика
3) Закрытия!
 
Z

zubr

#2
Вот код на паскале, в C сами переведете.
Код:
function DebugTest: 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;
Если программа в отладке функция выдает True. Работает в Win98, 2000, XP
 
D

Dico

#3
При подключении к нашей программе отладчика С++(Attach to process) чтобы программа это могла определить(Незнаю можно ли так). Среда VC++ и отладчик самой VC++!!!
 
Статус
Закрыто для дальнейших ответов.