-
使用易语言,通过置入汇编代码来实现检测程序是否处于调试状态
资源介绍
IsDebuggerPresent ()一般用来检测程序是否出于调试状态,返回值逻辑型
纯汇编调用此API,好处是程序导入表中查看不到此API
不过终究还是调用了API,bp 断点可以正常断下,
而且一般OD 反调试插件已经和谐此函数,所以:
此源码仅用于学习研究,请勿用于发布版程序!
此源码仅用于学习研究,请勿用于发布版程序!
不要被一些网络验证的宣传欺骗了,"买了送你纯汇编的XX之盾!"
一看全是汇编代码,"WOC,牛逼!",以为真的就是纯汇编不调用任何api函数
其实有的置入代码也同样调用了API函数,
bp可以正常断下,反调试插件同样可以和谐掉
程序最终的发布版肯定要加VMP,既然最后要加VMP,
个人感觉置入代码对防破的意义不大
防破还是主要靠代码混淆 暗桩和通信加密
回归正题,此代码执行过程
==========
1 遍历PEB表,获取IsDebuggerPresent函数地址
2 调用IsDebuggerPresent
2 判断返回值是否为真,如果是真,程序自动崩溃
如果是假,继续向下执行