Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Por Roberto Alexis Farah
Alguns anos atrás precisei depurar uma aplicação sem símbolos ou código fonte. Para piorar a situação, descobri que o executável tinha algum tipo de proteção anti-depurador.
Depois de analisar a listagem disassemblada usando DumpBin, descobri o truque. A aplicação usava IsDebuggerPresent() e, além disso, chamadas assembly adicionais para checar a existência do depurador.
Nesse caso, fiz o depurador trabalhar mudando a aplicação na memória depois de conectar o depurador a ela.
Então, algum tempo mais tarde decidi criar esse simples script “só por diversão” que desabilita IsDebuggerPresent().
Basta conectar o depurador na aplicação usando IsDebuggerPresent() e rodar o script usando “g” para continuar a execução.
Eis imagens e código fonte: