看雪论坛

[调试逆向] 【原创】基础反调试技术总结

chenwupedi 2016-8-24 6066
早就决定把反调试这个小技术方向拿来扒一扒,但是技术点实在太多,并且相互交叉,实在又不太好明确分类,想想应该画一张整体概览图,这样不但便于大家迅速浏览总体框架,也便于随时查找,花了两天时间把之前的知识又浏览了一下,做到尽可能不出错但可能还是在所难免,请各位见谅,若有不正确或者不完善的地方请读者帮忙指出,大家共同进步!
在画完整个思维导图发现图太大,无法在网页清楚显示,于是再花点时间把它分开截图说明,并在结尾处给出附件,和原版可编辑的X-mind图,方便大家自行编辑补充!
1 总体技术点概览:
Being Debuged、CheckRemoteDebuggerPresent()、NTQuerySystem Information()、NTQueryObject()、ZwSetInformationThread()、检测调试器、父进程检测、时间差、陷阱标志 TrapFlag、INT2d、0xCC检测、比较校验和、垃圾代码、扰乱代码对齐、双进程保护、代码重组、Stolen Bytes、API重定向、SEH与TLS、加密、其他环境检测
2 分类介绍
先对图表说明一下,此图内容也就是我总结的全部内容,在此说明,内容只要来源于《加密与解密》第三版和《逆向工程核心原理》和部分论坛知识,我只是梳理整理,并无班门弄斧之意。
图中上面的黄色部分为注释部分“0 - - 1”表示调试前后的值对比,“2- -50000062h?”中的问号表示50000062这个值是个不确定值,有可能随环境变化,具体见下图:


















终于写完,第一次发帖,写的不好,请大家见谅,我在最后已经贴好原版X-mind可编辑图形,如果读者有不太清楚之处请查看书中具体内容,也可以与我联系,欢迎大家对图表补充、完善并与论坛的朋友分享,也可以联系我更新,最后谢谢大家能看完,希望能和大家共同进步!

PNG图片在线链接:http://bbs.pediy.com/attachment.php?attachmentid=106276&stc=1&d=1472003613
x-mind图片在线链接:http://bbs.pediy.com/attachment.php?attachmentid=106275&stc=1&d=1472003613
网盘链接:https://yunpan.cn/cM3LSvWN5QPYG  访问密码 349d
最新回复 (33)
雪衫 2016-8-24
2
Thank you for sharing.
空空飞飞 2016-8-24
3
总结的很全面
lhb天羽 2016-8-24
4
现在都流行作图啦?
chenwupedi 2016-8-24
5
作图 是为了大家看的清楚,脱离文字苦海 ,第一次用这个软件,可费了不少时间哈:(:
OnlyForU 2016-8-24
6
总结得很好,我所知道的还有一种就是利用SEH来实现反调试。
黑犬黑犬 2016-8-24
7
楼主好用心的总结,真心很赞,感谢分享~~
trkzrq 2016-8-24
8
Mark,thx…
chenwupedi 2016-8-24
9
你说的没错,不过经我查询资料,一些资料说它并非严格的反调试,需要与其他检测技术合作使用才能达到反调试效果,所以我在上面途中只是简单介绍了,并把它与TLS技术放在了一起,还是多谢你的提醒
chenwupedi 2016-8-24
10
多谢点赞哈,第一次发帖,格式好乱的说,后面还会总结常见加密技术和加壳技术等哈
yangaijia 2016-8-24
11
楼主辛苦了,谢谢分享;
8
kanxue 2016-8-25
12
辛苦了,帖图的格式不对,参考这帖:
http://bbs.pediy.com/showpost.php?postid=292659

最后,文章中图片或附件以如下形式存在
[ ATTACH ] xxxx [ /ATTACH ]
phenixfly 2016-8-25
13
谢谢分享!我等小白有福啦!
龙飞雪 2016-8-25
14
不错,顶一个
sqiwg 2016-8-25
15
很好,感谢楼主分享
开非机 2016-8-25
16
想问下楼主,你的图用什么软件编辑画出来的
andying 2016-8-28
17
看了文章写得挺好的,不过好像有好几个点写漏掉了,如"暗桩""蓝屏""死机""重启""格盘"
vitaminz 2016-8-28
18
MARK,思维导图做得不错
ciiiiing 2016-8-28
19
感谢楼主分享
蚯蚓降龙 2016-8-28
20
EnableWindow BlockInput有些壳会用到 ,当OD中断到刚调用过这个API的时候就会 "卡死了".大部分的反调试都有方法解决了 , 硬件断点的检测 CloseHandle OutputDebugString NtSetInformationProcess 等还有很多...
ntDownload 2016-8-29
21
把花哨的背景图去掉,png就很小了。那个背景图没啥用,纯累赘~,改成淡灰色即可~
haovcf 2016-8-30
22
非常感谢,收藏了,有空慢慢看
kejigbsh 2016-8-30
23
收藏了,感谢楼主
chenwupedi 2016-9-2
24
[QUOTE=kanxue;1442465]辛苦了,帖图的格式不对,参考这帖:
http://bbs.pediy.com/showpost.php?postid=292659

最后,文章中图片或附件以如下形式存在
[ ATTACH ] xxxx [ /ATTACH ]...[/QUOTE]
多谢看雪大大提醒,第一次发帖没经验,下次会注意
chenwupedi 2016-9-2
25
多谢提醒,下次注意
chenwupedi 2016-9-2
26
思维导图软件,XMind
chenwupedi 2016-9-2
27
多谢指教,上述技术点是否是指在检测到调试环境后利用原生API,中断调试环境,希望你能帮忙稍微详细指出利用了哪些API,如何解决,谢谢!(小白请教)
chenwupedi 2016-9-2
28
多谢蚯蚓降龙大哥提醒,攻击调试器反调部分确实写漏了,而硬件断点的检测我之前是不了解的,后查看相关帖子才了解相关技术,嗯 还得表示表示我对龙哥的敬仰之情哈:p:
lixuezhi 2016-9-6
29
很好 感谢楼主分享
xiewukai 2016-9-9
30
楼主代码混淆的od好调试吗
bllk 2016-9-10
32
顶顶顶,感谢分享.楼主我爱你
2
hewittlee 5天前
33
mark
holing 5天前
34
Mark
方振箱包 2天前
35
路过
返回



©2000-2017 看雪学院 | Based on Xiuno BBS | 知道创宇带宽支持 | 微信公众号:ikanxue
Time: 0.012, SQL: 7 / 京ICP备10040895号-17