下你所需,载你所想!
汇集开发技术源码资料

置入汇编代码实现检测是否调试

:1.481KB :1 :2020-07-09 00:08:11

部分简介

注意,此汇编代码包含其他子程序,且子程序内未包含VMP标记
如果使用VMP标识,编译后标记位置和预期的不一样,可自行测试

IsDebuggerPresent ()一般用来检测程序是否出于调试状态,返回值逻辑型
纯汇编调用此API,好处是程序导入表中查看不到此API
不过终究还是调用了API,bp 断点可以正常断下,
而且一般OD 反调试插件已经和谐此函数

一看全是汇编代码,以为真的就是纯汇编不调用任何api函数
其实有的置入代码也同样调用了API函数,
bp可以正常断下,反调试插件同样可以和谐掉
程序最终的发布版肯定要加VMP,既然最后要加VMP,
个人感觉置入代码对防破的意义不大
防破还是主要靠代码混淆 暗桩和通信加密

1 遍历PEB表,获取IsDebuggerPresent函数地址
2 调用IsDebuggerPresent
2 判断返回值是否为真,如果是真,程序自动崩溃
如果是假,继续向下执行。

置入汇编代码实现检测是否调试

热门推荐

相关文章