阅读:1695回复:6
如何手动根据线形地址得到物理地址?
我想手动的根据线形地址得到物理地址,然后去看那块物理内存的属性。但我不知道页目录的地址,我看到有硬编码的,有什么通用的方法获得吗?
|
|
沙发#
发布于:2008-01-20 22:58
在同一个帖子里问两个问题不好
|
|
板凳#
发布于:2008-01-20 13:28
有没有人给我解答啊?
|
|
地板#
发布于:2008-01-19 17:12
typedef struct _GDTR
{ USHORT limit; ULONG base; }GDTR,*PGDTR; 不知道对不对,然后我把得到的base传入MmGetPhysicalAddress中,得到的物理地址是0。不关是用户态还是内核态得到的base转化出的物理地址都是0。设置用户态得到地址在windbg上都看不到内容。 这简直让人不敢相信啊。 |
|
地下室#
发布于:2008-01-19 16:55
MmGetPhysicalAddress在不用操作系统版本下就很不相同啊。2000好象是一个直接的映射,而XP SP2好象就不是。
我想把GDT的地址转化为物理地址,在内核下使用sgdt gdtr得到的地址在f********,但在用户态下获得是c**********,我就觉得郁闷了,不一样。我定义的gdtr是 typedef struct _GDTR { } |
|
5楼#
发布于:2008-01-15 19:40
抄MmGetPhysicalAddress 的实现。
|
|
|
6楼#
发布于:2008-01-15 17:09
图片:1.GIF 图片:2.GIF |
|