如何绕过反调试技术——学习总结(4)

在之前的三篇文章,进行了绕过反调试技术的相关实验,先对其进行总结。
如何绕过反调试技术——学习回顾(1)
如何绕过反调试技术——学习回顾(2)
如何绕过反调试技术——学习回顾(3)

一、绕过数据结构的反调试(实际上那些反调试API也是通过这些成员识别反调试)

例如BeingDubgged和NtGlobalFalg以及ProcessHeap的反调试技术。
1.使用插件phantOM
插件功能强大,可以绕过大多数此类的反调试技术
如何绕过反调试技术——学习总结(4)
二、手动修改
在Common行中,dump到数据成员的位置,进行修改。
例如BeingDubgged=01的时候,被判定为正在被调试,那么我们可以将其修改为00,绕开反调试。
NtGlobalFalg=0x70时,被认定为反调试,那么修改为00,则可以绕过反调试。

二、绕过痕迹检测

例如当前窗口信息等。
使用phantOM插件(牛逼)
如何绕过反调试技术——学习总结(4)

三、绕过时钟检测

对于始终检测,我们首先在IDA中找到时钟检测的位置,然后在OD中对跳转的地方实现nop**,使之无论测试通过与否,都跳转到正确的地方。

四、绕过TLS回调函数

TLS回调函数实际上也是通过以上的手段来进行反调试的,所以一般也是使用phantOM插件来绕过反调试。

还有一些情况留待总结