首页
社区
课程
招聘
[求助]如何对抗驱动反调试?
2008-9-3 16:26 6683

[求助]如何对抗驱动反调试?

2008-9-3 16:26
6683
我这两天在看一个国外的小软件,跟了一下,有一关过不去,它是通过在驱动里面检测断点,单步调试,但是没有针对哪一种调试器的反调试方式,因为我试过好几种调试器,只要是放开让它运行就可以过去的。
具体地,它是通过驱动的客户程序调用DeviceIoControl时爆出错误的,请问这种反调试办法怎么解决。换句话说就是如何剃除驱动里面的反调试?

[培训]《安卓高级研修班(网课)》月薪三万计划,掌 握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法

收藏
点赞0
打赏
分享
最新回复 (5)
雪    币: 8863
活跃值: (2374)
能力值: ( LV12,RANK:760 )
在线值:
发帖
回帖
粉丝
cvcvxk 10 2008-9-3 17:11
2
0
自己写个调试器~~
雪    币: 431
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
kcynic 2008-9-3 17:14
3
0
有那本事的,都不在这儿说话了
雪    币: 209
活跃值: (19)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
Jeller 2008-9-4 18:42
4
0
双机调,或者把驱动先改掉
雪    币: 442
活跃值: (43)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
ucantseeme 2008-9-5 11:25
5
0
我也遇见了个DLL反调试
雪    币: 431
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
kcynic 2008-9-27 14:29
6
0
Dll反调试?那跟EXE反调试应该没有区别的吧,Dll中的代码被执行也是加载到EXE地址空间运行的嘛.

不过,我看的这个小东西的反调试其实很简单,它只不过反把我们一般常用的反调试伎俩放到驱动里面来了.是这样的,它利用同步IO,同步IO在驱动里面调用ZwGetCurrentProcess将得到的调用者的进程,从而它可以得到调用者的进进程地址空间,然后,调用程序走一段,调用一下DeviceIoControl.

另外,这个程序还利用驱动做断点检测,沿袭了前面说的,利用不同的阶段向驱动发送不同的IO控制字(调用DeviceIoControl),对不同范围内的代码进行解密,这样的话,如果需要保护的关键部分被插入断点的话,解密就会失败,程序就会越走越离谱.这个办法对搞不了硬件断点.

这是我这几天看这个东西的一点收获,我是新手,多谢论坛里一些热心人帮忙
游客
登录 | 注册 方可回帖
返回