首页
社区
课程
招聘
[求助]
发表于: 2017-6-26 14:56 2792

[求助]

2017-6-26 14:56
2792
请问大佬一下,驱动无源码调试,windbg怎么断在DriverEntry这里,网上说IopLoadDriver+0x663这个地方下断点,但是那个0x663是什么偏移,有什么好办法断在驱动入口呢?



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

收藏
免费 0
支持
分享
最新回复 (9)
雪    币: 12848
活跃值: (9108)
能力值: ( LV9,RANK:280 )
在线值:
发帖
回帖
粉丝
2
请不要在问题中夹带系统版本强相关的私货
(看描述似乎是call  DriverEntry的位置,然而这个0x663每个系统都不一样)
2017-6-26 15:43
0
雪    币: 925
活跃值: (913)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
IopLoadDriver    两Push  +  1  Call
2017-6-26 16:09
0
雪    币: 51
活跃值: (11)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
4
xssysing IopLoadDriver 两Push + 1 Call
这个具体要怎么下断点?
2017-6-26 16:47
0
雪    币: 51
活跃值: (11)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
5
hzqst 请不要在问题中夹带系统版本强相关的私货 (看描述似乎是call DriverEntry的位置,然而这个0x663每个系统都不一样)
我知道不一样,那具体应该怎么下断?
2017-6-26 16:47
0
雪    币: 925
活跃值: (913)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
ONDragon 这个具体要怎么下断点?
  自己windbg调试着跟几下就到了,然后下断点呀。
2017-6-27 10:00
0
雪    币: 468
活跃值: (52)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
用ida看看驱动程序的DriverEntry入口偏移量,然后用devicetree看看驱动程序的基址,然后对绝对地址下断点就可以了。不过DriverEntry在被系统调用以后,你再下断电,那么就不会再执行到DriverEntry这个断点了,因为只在初始化的时候执行一次DriverEntry。那么你可以用devicetree看看基址,关机以后重启,一般情况基址不变的,在这种情况下对绝对地址下断点。
如果关机以后,基址变动了,那么可以用另一个方法。可以把驱动程序的启动顺序在注册表里面改为start=0,那么windbg在系统刚开始还没启动的时候就断下来了,这时可以在windbg里面看看module,看看载入了你要调试的驱动程序,也显示了基址,你对该处基址+偏移量下断点就可以了。
2017-6-27 19:40
0
雪    币: 51
活跃值: (11)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
8
aait 用ida看看驱动程序的DriverEntry入口偏移量,然后用devicetree看看驱动程序的基址,然后对绝对地址下断点就可以了。不过DriverEntry在被系统调用以后,你再下断电,那么就不会再 ...
老哥,那个devicetree没找到,能方便发一份吗?
2017-6-29 10:16
0
雪    币: 468
活跃值: (52)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
devicetree v2.3

上传的附件:
2017-7-1 11:14
0
雪    币: 51
活跃值: (11)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
10
aait devicetree v2.3
多谢大哥啦!!!
2017-7-4 16:10
0
游客
登录 | 注册 方可回帖
返回
//