如何查看GDTR的值?
在《Rootkit Arsenal》一书中第 84 页(第 3 章)提到:
...,我们可以查看到的内容 目标机器的描述符寄存器 使用带有 0x100 掩码的命令: kd> RM 0x100
和下面的一段:
请注意,相同的任务可以 通过指定 GDTR 来完成 组件明确:kd> r gdtr ....
我在我的Win XP(VMWare内)上运行Windbg并选择Kernel Debug ->当地的。 我的问题是在第一个命令的情况下,windbg 错误如下:
lkd> rm 0x100 ^ 当前调试会话“rM 0x100”不支持该操作
和第二个命令不支持该操作:
lkd> rgdtr ^“r gdtr”中的错误注册错误
有人可以指导我吗?
In the book "Rootkit Arsenal" page 84 (Chapter 3) mentions:
..., we can view the contents of the
target machine's descriptor registers
using the command with the 0x100 mask:
kd> rM 0x100
and a paragraph below:
Note that the same task can be
accomplished by specifying the GDTR
components explicitly: kd> r gdtr ....
I run Windbg on my Win XP (inside VMWare) and choose the Kernel Debug -> Local.
My problem is in case of first command, windbg errors with:
lkd> rM 0x100
^ Operation not supported in current debug session 'rM 0x100'
and in the second command:
lkd> r gdtr
^ Bad register error in 'r gdtr'
Can anyone guide me ?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
是的,您无法在本地内核调试会话中查看寄存器。 LiveKD 可以工作,您还可以通过 PCR (!pcr) 间接获取地址。
-斯科特
Right, you can't look at registers in a local kernel debug session. LiveKD works and you can also get the address indirectly through the PCR (!pcr).
-scott
我想我已经找到了解决方案:
使用两台计算机进行内核调试,而不是本地内核调试。
(我使用VMWare并通过COM端口/命名管道进行调试)
我在想为什么这个设施/功能(本地内核调试)不完整?
I think I've found the solution:
Use two computers for kernel debugging instead of Local Kernel Debug.
(I used VMWare and am debugging through the COM port/named pipe)
I am thinking why this facility/feature (Local Kernel Debugging) is there if it's not complete ?