首页
社区
课程
招聘
[讨论]一个辅助程序的反调试,个人感觉很变态!
发表于: 2020-6-1 18:13 4263

[讨论]一个辅助程序的反调试,个人感觉很变态!

2020-6-1 18:13
4263

这个程序是其它论坛下载到的,想看看是怎么反调试的,这个程序感觉很变态。不能附加,不能用虚拟机,不能用沙盒,SOD插件对他也无效,任何调试器都能检测到。有兴趣的可以研究研究,看能不能分析出一点反调试的过程。


[培训]科锐逆向工程师培训第53期2025年7月8日开班!

上传的附件:
收藏
免费 0
支持
分享
最新回复 (3)
雪    币: 6926
活跃值: (4572)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
开源的。
2020-6-1 21:03
0
雪    币: 688
活跃值: (229)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
毕竟是RING3的反调试,能力有限.
经过简单检测,反调试方面的方式莫过于是VMP的那套基本操作,
外加自定义Trap,在Trap触发异常后进入异常处理函数,然后处理函数里修改EIP跳转.
使用ScyllaHide就可以轻松隐藏调试器的存在了,连驱动都不需要上.
直接在调试器里面启动这个程序,虽然不会被程序发现调试器的存在,但是会出现跑飞的情况,
具体原因也懒得去研究了,对易语言的东西没有好感,你根本无法确认是它有意跑飞还是无意跑飞的,
因为它根本就是不稳定的玩意儿对吧.
有兴趣的人可以去深入研究为什么它会跑飞,而我们的目标是调试它,以附加的方式调试就行了.
而在反附加方面的方式,就是修改DbgBreakPoint和DbgUiRemoteBreakin这2个API,在函数开头直接跳转到TerminateProcess,
所以一旦附加就会关闭程序.
附加前将其修复就行了,X64DBG的话可以使用这个插件:293K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6Y4K9i4c8Z5N6h3u0Q4x3X3g2U0L8$3#2Q4x3V1k6j5k6i4u0G2e0X3W2U0d9q4y4Q4x3V1k6^5y4U0c8V1j5X3N6Q4y4h3k6m8N6s2c8S2j5$3S2t1k6h3I4H3k6i4t1`.
或者自己写个程序执行一次修复,这个太常见了,具体怎么写不需要我说了.
调试它的方式,直接挂上ScyllaHide和AttachHelper,直接附加进去就行了.
2020-6-3 19:36
0
雪    币: 63
活跃值: (738)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
1
2020-7-1 12:35
0
游客
登录 | 注册 方可回帖
返回