精易论坛

标题: 置入汇编实现检测是否调试 [打印本页]

作者: taizhong    时间: 2020-6-22 10:51
标题: 置入汇编实现检测是否调试
IsDebuggerPresent ()一般用来检测程序是否出于调试状态,返回值逻辑型
纯汇编调用此API,好处是程序导入表中查看不到此API
不过终究还是调用了API,bp 断点可以正常断下,
而且一般OD 反调试插件已经和谐此函数,所以:
此源码仅用于学习研究,请勿用于发布版程序!
此源码仅用于学习研究,请勿用于发布版程序!

不要被一些网络验证的宣传欺骗了,"买了送你纯汇编的XX之盾!"
一看全是汇编代码,"WOC,牛逼!",以为真的就是纯汇编不调用任何api函数
其实有的置入代码也同样调用了API函数,
bp可以正常断下,反调试插件同样可以和谐掉
程序最终的发布版肯定要加VMP,既然最后要加VMP,
个人感觉置入代码对防破的意义不大
防破还是主要靠代码混淆 暗桩和通信加密



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

源码内有使用说明和注意事项
附件免精币

汇编是否调试.e (4.21 KB, 下载次数: 95)





补充内容 (2020-6-23 16:05):
在一片"WOC,牛逼!"声中,
某人说"XX盾就是贵,贵就贵在X之盾上面,你看,是不是纯汇编?"
作者: 1369115527    时间: 2020-6-22 10:58
WOC,牛逼!WOC,牛逼!
作者: taizhong    时间: 2020-6-22 10:59
1369115527 发表于 2020-6-22 10:58
WOC,牛逼!WOC,牛逼!


作者: huzpsb    时间: 2020-6-22 11:08
WOC,牛逼!纯汇编不调用任何api函数!
作者: 我妻由良    时间: 2020-6-22 13:00
75EB2F00 KERNELBA.IsDebuggerPresent
mov eax,dword ptr fs:[0x30]
movzx eax,byte ptr ds:[eax+0x2]
retn

为什么要费劲调api
作者: wjswzj0    时间: 2020-6-22 14:20
感谢分享,很给力!~
作者: djmy2018    时间: 2020-6-22 16:34
每天上一当, 当当不一样
作者: vSpear    时间: 2020-6-22 19:08

WOC,牛逼!WOC,牛逼!



                                        藏起来的小尾巴,不让你看!  
作者: 毒毒毒毒    时间: 2020-6-23 00:41
感谢感谢,学习学习
作者: 冰棍好烫啊    时间: 2020-6-24 16:35
WOC,牛逼!         
作者: 天空c    时间: 2020-6-24 23:25
WOC,牛逼!
WOC,牛逼!
WOC,牛逼!
作者: 恶魔の佐翼    时间: 2020-7-3 06:56
咋遍历PEB表啊?求告知,我就想玩玩这个
作者: taizhong    时间: 2020-7-3 11:57
恶魔の佐翼 发表于 2020-7-3 06:56
咋遍历PEB表啊?求告知,我就想玩玩这个


网上查就行了
作者: 恶魔の佐翼    时间: 2020-7-3 19:15

哥,贴哥PEB结构表了,我找不到啊
作者: lvchalove    时间: 2021-6-27 04:59
谢谢 感谢分享
作者: gao110108    时间: 2025-4-22 22:20

WOC,牛逼!   




欢迎光临 精易论坛 (https://125.confly.eu.org/) Powered by Discuz! X3.4