首页
社区
课程
招聘
[求助] windbg call stack如何手工分析
发表于: 2010-1-26 07:26 7134

[求助] windbg call stack如何手工分析

2010-1-26 07:26
7134
# ChildEBP RetAddr  
00 b2b8cd34 8053e638 nt!NtDeviceIoControlFile
01 b2b8cd34 7c92e4f4 nt!KiFastCallEntry+0xf8
02 0012f324 7c92d26c ntdll!KiFastSystemCallRet
03 0012f328 719c5900 ntdll!NtDeviceIoControlFile+0xc
WARNING: Frame IP not in any known module. Following frames may be wrong.
04 0012f3b4 71a24c95 0x719c5900
05 0012f3fc 100942f5 0x71a24c95
06 0012f400 00000000 0x100942f5

这个上面试我用windbg在nt!NtDeviceIoControlFile函数上下的断点,断下来之后的
call stack 中的内容
请问:
windbg是如何得到 RetAddr 8053e638 7c92e4f4 7c92d26c 这些内容的还有 ChildEBP又是怎么得到的
这里ring0  ring3的都有,特别是windbg如何去得到ring3下的这些东西的呢

假设我现在断在这里了,如果我不看call stack窗口中的这些内容,我手工的话,
我需要怎么才能得到ring0和ring3下的这些内容,我要怎么去分析这个栈帧?
哪位大侠能解释下吗,即使提供一点提示,或者告诉我去看什么书或资料也好,小弟都万分感谢。
我QQ:422736088(这里回帖或者发QQ信息都行,谢谢)。

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

收藏
免费 0
支持
分享
最新回复 (5)
雪    币: 131
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
推荐你看一下《软件调试》张银奎著,附件太大,我上传不了。你自己去网上下吧。
2010-1-26 09:06
0
雪    币: 462
活跃值: (53)
能力值: ( LV9,RANK:460 )
在线值:
发帖
回帖
粉丝
3
2010-1-26 09:21
0
雪    币: 124
活跃值: (205)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
谢谢,我买了这本书,我正在看
2010-1-26 19:02
0
雪    币: 124
活跃值: (205)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
[QUOTE=zhzhtst;751965]http://msdn.microsoft.com/en-us/library/cc267826.aspx
http://hexblog.com/2009/09/an_attempt_to_reconstruct_the.html[/QUOTE]

谢谢你推荐的网址,我看了

里面没看到哪里介绍,这个时候怎么去获得ring3下的堆栈,只是说了ring0下的,
那么如果要像windbg那样还知道那些ring3下的调用才进到ring0的
应该怎么去找到这个时候的 ring3下的栈的地址呢
2010-1-26 20:58
0
雪    币: 124
活跃值: (205)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
驱动中怎么获取 当前线程的ring3栈 的堆栈指针esp
或者 驱动中怎么调用GetThreadContext
2010-1-27 02:04
0
游客
登录 | 注册 方可回帖
返回
//