首页
社区
课程
招聘
[原创]发个用于监视目标程序的反调试的小工具
发表于: 2010-11-25 15:32 52231

[原创]发个用于监视目标程序的反调试的小工具

2010-11-25 15:32
52231
在软件调试或脱壳的时候经常遇到反调试,但是不知道目标程序用了哪种反调试技术,在什么地方做了反调试。使用这个辅助工具可以看到具体的反调试手段与信息。
注意:如果目标程序检测了peb的DebugFlag位或者NtGlobalFlag位,本工具不输出相关信息。

原理很简单,就是一个调试器
1.在驱动程序中,hook ZwQueryInformationProcess,检测ProcessDebugPort,hook ZwQueryObject, 检测DebugObject, hook SetInformationThread, 检测ThreadHideFromDebugger,hook GetContextThread,检测对调试器硬件断点的检测,hook SetContextThread, 检测清除调试器的硬件断点

2.去掉PEB中的DebugFlag位和NtGlobalFlag位,heap flag位 等。

3.对KiUserExceptionDispatcher和ZwContinue设置硬件断点,检测异常处理中的反调试

4.在发生CREATE_THREAD_DEBUG_EVENT事件时,对新建线程设置KiUserExceptionDispatcher和ZwContinue硬件断点,检测其他线程中的反调试

5.如果发生单步异常或调试异常之类的事件,也输出异常信息和地址

6.如果目标程序发生了异常(即拦截到了硬件断点KiUserExceptionDispatcher),那么清除context中的调试寄存器,并在执行下一个ZwContinue的时候还原。

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

上传的附件:
收藏
免费 7
支持
分享
最新回复 (97)
雪    币: 2105
活跃值: (424)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
2
沙个发~~~~~
2010-11-25 16:05
0
雪    币: 2134
活跃值: (14)
能力值: (RANK:170 )
在线值:
发帖
回帖
粉丝
3
强大,又见调试代码,能简单介绍一下原理就更完美了。
2010-11-25 17:31
0
雪    币: 8209
活跃值: (4458)
能力值: ( LV15,RANK:2459 )
在线值:
发帖
回帖
粉丝
4
SSDT不好玩
2010-11-25 17:40
0
雪    币: 370
活跃值: (15)
能力值: ( LV9,RANK:170 )
在线值:
发帖
回帖
粉丝
5
先下了,似乎采用了驱动?要管理员权限
2010-11-25 17:46
0
雪    币: 822
活跃值: (380)
能力值: ( LV12,RANK:310 )
在线值:
发帖
回帖
粉丝
6
下来学习一下, 多谢楼主分享
2010-11-25 17:49
0
雪    币: 215
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
占位学习
2010-11-25 18:08
0
雪    币: 10
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
研究的很透彻啊  学习一下
2010-11-25 18:16
0
雪    币: 656
活跃值: (448)
能力值: ( LV12,RANK:360 )
在线值:
发帖
回帖
粉丝
9
占位学习
2010-11-25 18:21
0
雪    币: 363
活跃值: (338)
能力值: ( LV15,RANK:310 )
在线值:
发帖
回帖
粉丝
10
真给力!顶一个!
2010-11-25 18:51
0
雪    币: 154
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
顶~~~
支个持
2010-11-25 19:08
0
雪    币: 678
活跃值: (101)
能力值: ( LV2,RANK:150 )
在线值:
发帖
回帖
粉丝
12
学习,向高手看齐。
2010-11-25 19:13
0
雪    币: 412
活跃值: (30)
能力值: ( LV5,RANK:70 )
在线值:
发帖
回帖
粉丝
13
走一个。。。
2010-11-25 21:30
0
雪    币: 6790
活跃值: (4436)
能力值: (RANK:600 )
在线值:
发帖
回帖
粉丝
14
不错的说, SSDT还是有点用的.
2010-11-25 22:04
0
雪    币: 55
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
东西不错的,真是好
2010-11-25 22:06
0
雪    币: 248
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16
学习一下,正好有个软件一直不知道怎么被检测到的...虽然直接将检测代码返回了...但也想知道下具体情况...
2010-11-25 23:36
0
雪    币: 33
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
17
太给力了000000000
2010-11-26 06:03
0
雪    币: 33
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
18
还带码啊,非常支持
2010-11-26 06:04
0
雪    币: 136
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
19
好东东留念..
2010-11-26 07:07
0
雪    币: 339
活跃值: (1510)
能力值: ( LV13,RANK:970 )
在线值:
发帖
回帖
粉丝
20
膜拜,不过没时间学习了
2010-11-26 12:10
0
雪    币: 238
活跃值: (196)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
21
非常有用的东西,真的感谢楼主的分享。
2010-11-26 12:35
0
雪    币: 38
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
22
不错的好东西
2010-11-26 12:39
0
雪    币: 103
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
23
路过看看了!!
2010-11-26 15:36
0
雪    币: 116
活跃值: (301)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
24
学习了很强大,看了下原理了解了,谢谢
2010-11-26 16:52
0
雪    币: 2015
活跃值: (902)
能力值: ( LV12,RANK:1000 )
在线值:
发帖
回帖
粉丝
25
反调试逆向的基本功,碰到驱动反调试就是硬碰硬了!好东西拿出来才能有人格魅力,别人顶我都是因为我头像好看。
2010-11-26 17:16
0
游客
登录 | 注册 方可回帖
返回
//