能力值:
( LV2,RANK:10 )
|
-
-
2 楼
顶顶更健康~木有人有办法?按理下条件断点应该是可以的,就是不知道怎么构造这个语句呀。。高人指点下吧。
|
能力值:
( LV5,RANK:70 )
|
-
-
3 楼
bp ObReferenceObjectByHandle ".if(poi(esp) > base&& poi(esp) < end){.echo called from a.sys;} .else{gc;}"
base和end是什么,你懂得.
|
能力值:
( LV4,RANK:50 )
|
-
-
4 楼
强,条件断点,就是这么强大。
|
能力值:
( LV2,RANK:10 )
|
-
-
5 楼
学习了,我还想问一下,有没有办法通过条件断点判断此次调用是不是在我想要的模块里?
比如说像这样像你说的这种方法,确实能断,但是如果出现这样子,比如说 我断的是DISK驱动的IRP_MJ_CREATE,N条线程在调用,但是他的[esp]的地址又不是模块地址,中间还会经过一些其它的东西,像这样,有没有办法断在,我想要的a.sys里的线程,走到IRP_MJ_READ?
现在解决这个问题的办法比较蠢,就是断在IRP派遣上,然后每断一次,就!thread一下,看是不是我想要的a.sys里起的线程。
|
能力值:
( LV2,RANK:10 )
|
-
-
6 楼
顶顶更健康, 不知道现有Windbg 能不能把!thread结果的Image给提取出来,然后就可以用条件断点里的字符比较的命令了,是不是得写个插件才能实现这样子的功能,每次都去手工!thread好累人呀。。。
|
能力值:
( LV2,RANK:10 )
|
-
-
7 楼
木有人碰有好的解决办法吗?
|
能力值:
( LV2,RANK:10 )
|
-
-
8 楼
神啊,救救我吧~
|
能力值:
( LV4,RANK:50 )
|
-
-
9 楼
[QUOTE=djxh;999925]学习了,我还想问一下,有没有办法通过条件断点判断此次调用是不是在我想要的模块里?
比如说像这样像你说的这种方法,确实能断,但是如果出现这样子,比如说 我断的是DISK驱动的IRP_MJ_CREATE,N条线程在调用,但是他的[esp]的地址又不是模块地址,中间还会经过一些其它的东西,像这样,有...[/QUOTE]
你使用!thread主要是想看什么?是call stack嘛?
|
能力值:
( LV2,RANK:10 )
|
-
-
10 楼
主要是想看IMAGE 是不是我想要的A.sys。
|
能力值:
( LV9,RANK:200 )
|
-
-
11 楼
使用@$thread 或 @$proc
判断@$thread->StartAddress的区间,应该可以断下来
|
能力值:
( LV5,RANK:70 )
|
-
-
12 楼
bp /t @$thread nt!ntcreatefile
可以先断到需要的那个线程,用上面的命令;
也可以把@$thread直接替换成对应EThread的地址.
|
能力值:
( LV2,RANK:10 )
|
-
-
13 楼
感谢楼上各位高手,感谢看雪,感谢CCTV。
|
|
|