首页
社区
课程
招聘
[求助]请教大牛如何在没有符号表的情况下动态调试驱动
发表于: 2011-11-6 22:04 5583

[求助]请教大牛如何在没有符号表的情况下动态调试驱动

2011-11-6 22:04
5583
想分析个别人的驱动,没有符号表,用IDA看了一下,很多地方都不知道是值的具体含义,而后想用windbg+vmware调试下,在入口点断下来以后是这样的:
Swk0217+0x8de:
f8da28de 55              push    ebp
kd> u f8da28de
Swk0217+0x8de:
f8da28de 55              push    ebp
f8da28df 8bec            mov     ebp,esp
f8da28e1 83ec14          sub     esp,14h
f8da28e4 8365fc00        and     dword ptr [ebp-4],0
f8da28e8 56              push    esi
f8da28e9 57              push    edi
f8da28ea 8b3d242adaf8    mov     edi,dword ptr [Swk0217+0xa24 (f8da2a24)]
f8da28f0 689628daf8      push    offset Swk0217+0x896 (f8da2896)
单步调试的时候到这一句:
f8da28e4 8365fc00        and     dword ptr [ebp-4],0
发现IDA中对应的注释的是:
text:000108E4                 and     [ebp+DeviceObject], 0
我的问题是怎么得知ebp-4的位置处存得是DeviceObject?在网上查了很多逆向驱动的文章,大牛们貌似都是直接逆别人的驱动之后放一个idb上来,我狠菜菜,苦于无人指点,希望大牛们指点下,类似于这样的数据结构都是在双机调试的时候获取到的吗 是怎么做的呢。。。

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

收藏
免费
支持
分享
最新回复 (3)
雪    币: 40
活跃值: (14)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
吓我一跳 我以为是今天呢,还以为我穿越到未来了呢
2012-1-6 16:26
0
雪    币: 1040
活跃值: (1443)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
…………IDA之所以会这么标记那是因为传入创建设备的函数的参数是DeviceObject,要结合调用的API,查系统规定的参数类型,然后推那些变量和结构是什么意思,如果完全是内部使用的数据就靠各种关系推测是什么意思……逆向本来就是很辛苦很头痛的,IDA的重命名变量名功能是神器……
2012-1-7 00:42
0
雪    币: 485
活跃值: (108)
能力值: ( LV4,RANK:40 )
在线值:
发帖
回帖
粉丝
4
看名字是在弄shadow walk?
2012-1-7 12:41
0
游客
登录 | 注册 方可回帖
返回

账号登录
验证码登录

忘记密码?
没有账号?立即免费注册