首页
社区
课程
招聘
[求助]windbg调试时64位windows程序时段寄存器偏移表示的问题
2012-4-4 21:49 7535

[求助]windbg调试时64位windows程序时段寄存器偏移表示的问题

2012-4-4 21:49
7535
在32位环境中,dd fs:[0]得到SEH,但是在64位环境下,dd fs:[0]显示“Bad segment error at ']'”;说SEH改到gs了,dd gs:[0]出现的情况类似。请问这是什么原因?怎么解决?r $teb的确可以得到,但是不想用这种方法。

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

收藏
点赞0
打赏
分享
最新回复 (4)
雪    币: 30
活跃值: (25)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
birdEEI 2012-4-5 12:25
2
0
没有人回答……是我表达的不准确还是大家都在放假?
雪    币: 585
活跃值: (568)
能力值: ( LV13,RANK:290 )
在线值:
发帖
回帖
粉丝
guxinyi 5 2012-4-5 12:39
3
0
我的哥,什么叫64位的系统,

要用dq,而不是dd  

上传的附件:
雪    币: 30
活跃值: (25)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
birdEEI 2012-4-5 17:10
4
0
[QUOTE=guxinyi;1060734]我的哥,什么叫64位的系统,

要用dq,而不是dd  

[/QUOTE]
问题当然不在dq、dd,二者只是显示数据大小的问题。

我跟你的差别在于我不是内核调试,我是用户态调试。WIN7下用户态调试需要特殊的设置吗?
上传的附件:
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
bluelight 2013-2-8 11:20
5
0
兄弟,你这个问题解决了吗?解决了麻烦给我个Email:bluelightcsy@163.com,我最近也在弄一个类似的问题,不过我在写代码得段寄存器的值,发现64位上面的GetThreadSelectorEntry根本不Work,比较了一下86下的代码,86会调用ZwQueryThreadInformation,而64位上已经被Patch成直接返回错了。如果你知道这个问题答案,如何在用户态情况下得到段寄存器的值,麻烦告知,谢谢!
游客
登录 | 注册 方可回帖
返回