原理:查询进程环境块(PEB)中的IsDebugged标志。
如果进程没有运行在调试器环境中,函数返回0;如果调试附加了进程,函数返回一个非零值。
它不仅可以探测系统其他进程是否被调试,通过传递自身进程句柄还可以探测自身是否被调试。
检测函数样例:
BOOL CheckDebug()
{
BOOL ret;
CheckRemoteDebuggerPresent(GetCurrentProcess(), &ret);
return ret;
}欢迎关注我的微博:大雄_RE。专注软件逆向,分享最新的好文章、好工具,追踪行业大佬的研究成果。
版权声明:本文为shadow20080578原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。