首页
社区
课程
招聘
[旧帖] [求助]关于查看GDT的问题 0.00雪花
发表于: 2010-6-7 21:29 1633

[旧帖] [求助]关于查看GDT的问题 0.00雪花

2010-6-7 21:29
1633
是这样的.学习了下那几个16位寄存器的用处.知道了涉及保护模式的意思.所以能想做下验证.过程如下:

1.首先 windbg中用VM调试虚拟机(虚拟机是2003) r gdtr得到结果是gdtr=8003f000.FS=0030那么按照计算应该是:0030的二进制的表示是ring 0级.GDT中.索引是6.那么8003f000+6*8.可是DD的结果确实如下:
kd> r
eax=00000001 ebx=00000806 ecx=80896d4c edx=000003f8 esi=00000000 edi=13238076
eip=8086cf18 esp=80894580 ebp=80894590 iopl=0         nv up ei pl nz na po nc
cs=0008  ss=0010  ds=0023  es=0023  fs=0030  gs=0000             efl=00000202
nt!RtlpBreakWithStatusInstruction:
8086cf18 cc              int     3
kd> r gdtr
gdtr=8003f000
kd> dd 8003f000+8*6
8003f030  f0000001 ffc092df 00000fff 0040f300
8003f040  0400ffff 0000f200 00000000 00000000
8003f050  48b00068 80008989 49180068 80008989
8003f060  30c0ffff 00009202 80003fff 0000920b
8003f070  700003ff ff0092ff 0000ffff 80009a40
8003f080  0000ffff 80009240 00000000 00009200
8003f090  00000000 00000000 00000000 00000000
8003f0a0  00000000 00000000 00000000 00000000

这ffdff000这不是PCR的地址么?为什么会这样呢?

2.因为我是新手.心想可能是因为现在调试的是系统.而网上说的情况.是ring 3的情况.所以OD用启动新进程的方式调试DEPENDS.EXE.断下来的地方 正好是个FS的指令 mov eax,fs:[0] 看下面写的是:fs:[00000000]=[7ffdf000]=0012ffe0.但是右键转到表达式输入8003f038(现在FS是003B).不让查看.显示指定地址无内存.可是.为什么0D就能知道FS:[0]是[7ffdf000]呢?这个换算过程中也是需要查看8003F038才能知道的啊.他为什么就能读这个地址呢?而且换用WINDGB调试本地进程的方式.打开新进程和attach的方式也都是R命令显示错误.dd 8003F038也显示一串问号.那到底怎么读呢?
http://bbs.pediy.com/showthread.php?t=86249  看10楼中。他为什么可以直接dd 8003f000+8*6呢?

[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 0
支持
分享
最新回复 (3)
雪    币: 77
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
为什么没高手帮忙回答下啊..我知道我说话的语气可能不好..但是我也只好这么说了啊...大家帮忙看看啊
2010-6-18 23:11
0
雪    币: 95
活跃值: (419)
能力值: ( LV9,RANK:310 )
在线值:
发帖
回帖
粉丝
3
1.  参看http://bbs.pediy.com/showthread.php?threadid=21959
fs段在用户模式(Ring3)和系统模式(Ring0)分别指向两个最重要的系统结构:
Ring3:
fs --> TEB (Thread Environment Block)结构表 --> 7FFDF000
即“线程环境块”。

Ring0:
fs --> KPCR (Kernel Processor Control Region)结构表 --> FFFDF000
即“内核处理器控制域”。

2.8003f000地址是系统区域,只有ring0下可以访问,在虚拟机里打开windbg---文件--内核调试--本地调试
就可以用dd 8003f000+8*6
2010-6-19 12:17
0
雪    币: 77
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
感谢楼上..呵呵 解决实际问题.
2010-6-27 05:39
0
游客
登录 | 注册 方可回帖
返回
//