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

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

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

[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

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

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

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

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