能力值:
( LV12,RANK:420 )
|
-
-
2 楼
sxe ld [module name]
|
能力值:
( LV2,RANK:10 )
|
-
-
3 楼
这个好像不是断在DriverEntry啊
|
能力值:
( LV2,RANK:10 )
|
-
-
4 楼
0: kd> bp nt!IopLoadDriver+0x65a
我下这个断点提示
Couldn't resolve error at 'nt!IopLoadDriver+0x65a'
是为什么
|
能力值:
( LV12,RANK:420 )
|
-
-
5 楼
bpload也不是断在DriverEntry
|
能力值:
( LV2,RANK:10 )
|
-
-
6 楼
哦,那sxe ld [module name]断下来后还是需要自己填写DriverEntry的地址来下断吧
|
能力值:
( LV2,RANK:10 )
|
-
-
7 楼
wo cuo le
|
能力值:
( LV2,RANK:10 )
|
-
-
8 楼
.... !
|
能力值:
( LV2,RANK:10 )
|
-
-
9 楼
|
能力值:
( LV2,RANK:10 )
|
-
-
10 楼
bp <模块名>!driverentry
例如 bp sysenter!DriverEntry
用虚拟机,内核模式
|
能力值:
( LV12,RANK:300 )
|
-
-
11 楼
用bp <模块名>!DriverEntry的前提是相应驱动有符号文件,才能识别到DriverEntry在哪里。
而这一帖楼主已经明确说了“没有符号的情况下”。
|
能力值:
( LV2,RANK:10 )
|
-
-
12 楼
没注意,嘿嘿
|
能力值:
( LV2,RANK:10 )
|
-
-
13 楼
一个省事的方法,用IDA反汇编,很容易找到DRIVERENTRY的,如果是启动加载的驱动,用WINDBG在启动时断住,系统会预先把驱动加载到内存,在对应DRIVERENTRY的地址上下断点就行了。
|
能力值:
( LV5,RANK:70 )
|
-
-
14 楼
在DriverEntry中加入DbgBreakPoint就行了吧
|
能力值:
( LV3,RANK:20 )
|
-
-
15 楼
好象是bdu就可以了吧
|
能力值:
( LV11,RANK:180 )
|
-
-
16 楼
用 syserdebugger 调试, 直接使用 bpload xxxxx.sys 就可以了。 当加载的时候就断在 DriverEntry 了简单的很
|
能力值:
( LV2,RANK:10 )
|
-
-
17 楼
恩,今天在用syserdebugger 了,不过怎么进行源码调试啊?
|
能力值:
( LV2,RANK:10 )
|
-
-
18 楼
俺一般就这么干
驱动加载的时候模块地址一般不变
|
能力值:
( LV2,RANK:10 )
|
-
-
19 楼
好贴啊 不错啊 谢谢楼主分享 拉 (*^__^*) 嘻嘻……
------------------------------------------------------------
张韶涵 湿巾机这种东西,存在于一切人的生活之中。假如一个人丧失了 丰胸仪可能无法生存在这个世界上。
|
能力值:
( LV2,RANK:10 )
|
-
-
20 楼
找到源码调试了,不过好像不能显示变量。就是说不能通过变量名来查看变量的值。这方面比WINDBG弱了点
|
能力值:
( LV2,RANK:10 )
|
-
-
21 楼
帮SyserDebug回了,add watch,并且符号里有结构的时候甚至能以结构方式查看
|
能力值:
( LV2,RANK:10 )
|
-
-
22 楼
如果有源码的话,可能在源码中添加_asm int 3设置断点
|
|
|