首页
社区
课程
招聘
[求助]Windbg如何断指定驱动内调用的函数?
发表于: 2011-9-13 09:13 7679

[求助]Windbg如何断指定驱动内调用的函数?

2011-9-13 09:13
7679
比如说断ObReferenceObjectByHandle,但是我只想断在A.sys对于这个函数的调用,除了用IDA去看查A.sys在哪些地址调用了这个函数以外,有木有其它的办法。~

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

收藏
免费 1
支持
分享
最新回复 (12)
雪    币: 1685
活跃值: (699)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
顶顶更健康~木有人有办法?按理下条件断点应该是可以的,就是不知道怎么构造这个语句呀。。高人指点下吧。
2011-9-13 13:39
0
雪    币: 412
活跃值: (30)
能力值: ( LV5,RANK:70 )
在线值:
发帖
回帖
粉丝
3
bp ObReferenceObjectByHandle ".if(poi(esp) > base&& poi(esp) < end){.echo called from a.sys;} .else{gc;}"

base和end是什么,你懂得.
2011-9-13 15:59
0
雪    币: 113
活跃值: (100)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
4
强,条件断点,就是这么强大。
2011-9-13 16:31
0
雪    币: 1685
活跃值: (699)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
学习了,我还想问一下,有没有办法通过条件断点判断此次调用是不是在我想要的模块里?

比如说像这样像你说的这种方法,确实能断,但是如果出现这样子,比如说 我断的是DISK驱动的IRP_MJ_CREATE,N条线程在调用,但是他的[esp]的地址又不是模块地址,中间还会经过一些其它的东西,像这样,有没有办法断在,我想要的a.sys里的线程,走到IRP_MJ_READ?

现在解决这个问题的办法比较蠢,就是断在IRP派遣上,然后每断一次,就!thread一下,看是不是我想要的a.sys里起的线程。
2011-9-13 21:50
0
雪    币: 1685
活跃值: (699)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
顶顶更健康, 不知道现有Windbg 能不能把!thread结果的Image给提取出来,然后就可以用条件断点里的字符比较的命令了,是不是得写个插件才能实现这样子的功能,每次都去手工!thread好累人呀。。。
2011-9-14 05:40
0
雪    币: 1685
活跃值: (699)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
木有人碰有好的解决办法吗?
2011-9-14 13:29
0
雪    币: 1685
活跃值: (699)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
神啊,救救我吧~
2011-9-15 01:42
0
雪    币: 113
活跃值: (100)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
9
[QUOTE=djxh;999925]学习了,我还想问一下,有没有办法通过条件断点判断此次调用是不是在我想要的模块里?

比如说像这样像你说的这种方法,确实能断,但是如果出现这样子,比如说 我断的是DISK驱动的IRP_MJ_CREATE,N条线程在调用,但是他的[esp]的地址又不是模块地址,中间还会经过一些其它的东西,像这样,有...[/QUOTE]

你使用!thread主要是想看什么?是call stack嘛?
2011-9-15 09:49
0
雪    币: 1685
活跃值: (699)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
主要是想看IMAGE 是不是我想要的A.sys。
2011-9-15 11:44
0
雪    币: 2242
活跃值: (488)
能力值: ( LV9,RANK:200 )
在线值:
发帖
回帖
粉丝
11
使用@$thread 或 @$proc
判断@$thread->StartAddress的区间,应该可以断下来
2011-9-15 12:02
0
雪    币: 412
活跃值: (30)
能力值: ( LV5,RANK:70 )
在线值:
发帖
回帖
粉丝
12
bp /t @$thread nt!ntcreatefile
可以先断到需要的那个线程,用上面的命令;
也可以把@$thread直接替换成对应EThread的地址.
2011-9-15 14:53
0
雪    币: 1685
活跃值: (699)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
感谢楼上各位高手,感谢看雪,感谢CCTV。
2011-9-15 17:13
0
游客
登录 | 注册 方可回帖
返回
//