Alguem saberia algum comando para fazer um anti debug em Delphi, por favor?
Usando criptys acaba deixando indect
Agradeço
(Piada de nerd) - Você comprou o cu dele?
- Sim, comprei, era super duro e bem feito! Esse metalúrgico é de confiança! (Piada by Kaao; inventei ela do nada '-')
NÃO RESPONDO PERGUNTAS POR PM! Se quiser uma ajuda minha, me indique o tópico com a sua duvida.
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 }
(Piada de nerd) - Você comprou o cu dele?
- Sim, comprei, era super duro e bem feito! Esse metalúrgico é de confiança! (Piada by Kaao; inventei ela do nada '-')
NÃO RESPONDO PERGUNTAS POR PM! Se quiser uma ajuda minha, me indique o tópico com a sua duvida.
A proteção anti-debug usando o IsDebuggerPresent é a mais utilizada por pequenas aplicações, mas também é bem fácil de burlar (um dos jeitos eh aplicando patch na DLL que exporta essa função).
Os anti-debuggers mais avançados geralmente usam o GetTickCount, NtGlobalFlags, HeapFlags....alguns detectam janelas e processos e os mais poderosos mesclam várias técnicas juntas...
Acho que vou fazer um post de anti-debugging em Delphi depois(se ainda não tiver um) ... sua pergunta me fez lembrar de algumas técnicas que já usei =)
Tudo bem, usei outro método bem melhor que é coomprimindo o exe, pelo menos nós (poucos) testes que fiz resolveu.
Vlw pela atenção
(Piada de nerd) - Você comprou o cu dele?
- Sim, comprei, era super duro e bem feito! Esse metalúrgico é de confiança! (Piada by Kaao; inventei ela do nada '-')
NÃO RESPONDO PERGUNTAS POR PM! Se quiser uma ajuda minha, me indique o tópico com a sua duvida.
Comment