指令计数反调试

逆向工程 调试器 反调试
2021-07-05 05:56:08

我最近遇到了这种被广泛使用的反调试技术。

终极反调试参考中,作者在“指令计数”部分写道

与不存在调试器时相比,调试器会干扰单步执行,导致指令数不同。

通过对这种技术进行一些试验,似乎当您在 x64dbg 中设置硬件断点时,所有线程的调试寄存器不仅被设置,而且还被冻结 - 例如 - 如果程序调用 SetThreadContext 来更改这些寄存器, x64dbg 似乎把它们改回来了。

鉴于 x64dbg 的工作原理,以及该技术依赖于这些调试寄存器,该技术是否仅限于检测硬件断点的存在或修改?

0个回答
没有发现任何回复~