1625-5 王子昂 总结《2018年3月16日》 【连续第531天总结】
A. 反调试技术(9)
B.
防止调试器附加
R3调试器的附加使用的是DebugActivePocess函数,在附加相关进程时,会首先执行到ntdll.dll下的ZwContinue函数,最后停留在ntdll.dll的DbgBreadkPoint处
可以通过Hook上述两个函数,如果执行了则说明有调试器附加
或者也可以在程序中检测这里是否有int 3,也可以达到同样的目的
父进程检测
理论上来说,当一个程序被正常启动时,它的父进程应该只有以下三种可能
- Explorer.exe(资源管理器启动)
- cmd.exe(命令行启动)
- Services.exe(系统服务)
检查父进程的方法有很多,在此就不赘述了