首页
社区
课程
招聘
简单解释Windows如何使用FS段寄存器
发表于: 2012-12-17 13:32 46582

简单解释Windows如何使用FS段寄存器

2012-12-17 13:32
46582

昨天有人问我,为什么进程,线程的很多关键信息可以简单的通过FS寄存器来取到。是啊,为什么呢?于是便有了这篇文章。
  
   确实通过读取FS寄存器指定的内存可以获得很多系统关键信息, 主要是和进线程相关的很多信息,例如

lkd> u PsGetCurrentProcess
nt!IoGetCurrentProcess:
804f0700 64a124010000    mov     eax,dword ptr fs:[00000124h]
804f0706 8b4044          mov     eax,dword ptr [eax+44h]
lkd> u PsGetCurrentThread
nt!PsGetCurrentThread:
8052c42a 64a124010000    mov     eax,dword ptr fs:[00000124h]
kd> r gdtr
gdtr=8003f000
kd> dq 8003f000
8003f000  00000000`00000000 00cf9a00`0000ffff
8003f010  00cf9200`0000ffff 00cffa00`0000ffff
8003f020  00cff200`0000ffff 80008b04`200020ab
8003f030  ffc092df`f0000001 0040f300`00000fff
8003f040  0000f200`0400ffff 00000000`00000000
8003f050  80008954`a3000068 80008954`a3680068
8003f060  00009202`2f30ffff 0000920b`80003fff
8003f070  ff0092ff`700003ff 80009a40`0000ffff

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

上传的附件:
收藏
免费 10
支持
分享
最新回复 (36)
雪    币: 199
活跃值: (65)
能力值: ( LV5,RANK:70 )
在线值:
发帖
回帖
粉丝
2
支持楼主发出好文,广告位出租中!
2012-12-17 14:48
0
雪    币: 107
活跃值: (404)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
有点意思...............
2012-12-17 15:12
0
雪    币: 179
活跃值: (12)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
顶啊! 不错不错!
2012-12-18 04:13
0
雪    币: 8201
活跃值: (2701)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
弱弱的问收学生吗
2012-12-18 07:20
0
雪    币: 47147
活跃值: (20450)
能力值: (RANK:350 )
在线值:
发帖
回帖
粉丝
6
编辑了一下帖子,改进了一下帖图的方式。正确的图片格式是:
[ATTACH ]74471[/ATTACH ]

具体参考此帖教学:http://bbs.pediy.com/showpost.php?postid=292659
2012-12-18 21:57
0
雪    币: 1015
活跃值: (235)
能力值: ( LV12,RANK:440 )
在线值:
发帖
回帖
粉丝
7
前排站位,谢谢楼主分享!
2012-12-18 22:07
0
雪    币: 433
活跃值: (1870)
能力值: ( LV17,RANK:1820 )
在线值:
发帖
回帖
粉丝
8
膜拜潜水多年的老人……
2012-12-18 23:32
0
雪    币: 31
能力值: (RANK:10 )
在线值:
发帖
回帖
粉丝
9
为数不多我能看懂的文章,  感谢楼主发贴.
2012-12-18 23:52
0
雪    币: 36
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
楼上说的对,为数不多能看懂的文章。谢谢
2012-12-19 00:03
0
雪    币: 350
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
真是为数不多能看懂的文章
2012-12-19 05:06
0
雪    币: 119
活跃值: (14)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
MARK。FS 寄存器机理。
2012-12-19 10:08
0
雪    币: 575
活跃值: (38)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
老人讲的很详细
2012-12-19 10:51
0
雪    币: 316
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
通俗易懂.
tag FS段寄存器
2012-12-20 11:14
0
雪    币: 208
活跃值: (40)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
15
好文。
建议楼主再出一篇“以FS为例分析段选择子"。
2012-12-20 11:15
0
雪    币: 119
活跃值: (14)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16
老大神,您好,能帮我解答一个问题么?
INTEL手册那个图应该对应的是_KIDTENTRY这个结构吧。我看代码里定义为
typedef struct _KIDTENTRY
{
     WORD Offset;
     WORD Selector;
     WORD Access;
     WORD ExtendedOffset;
} KIDTENTRY, *PKIDTENTRY;
感觉和图不对应呀,能讲解一下是为什么么?
2012-12-20 15:43
0
雪    币: 119
活跃值: (14)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
17
在情景分析里为什么图是这样的呢?情景分析错了?
[ ATTACH ]74531 [ /ATTACH ]
上传的附件:
2012-12-20 15:47
0
雪    币: 738
活跃值: (3818)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
18
感谢lz,学习了
2012-12-20 22:35
0
雪    币: 79
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
19
Mark下,我还是先研究Windows内核把
2012-12-21 09:19
0
雪    币: 564
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
20
分析透彻呀,大开眼界、
2012-12-23 13:08
0
雪    币: 130
活跃值: (71)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
21
标记一下,FS 寄存器。
2013-1-16 09:08
0
雪    币: 184
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
22
留名后慢慢看
2013-3-21 17:29
0
雪    币: 24
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
23
不错,貌似很高深。自己基础不够,看得艰难了点
收藏一下,以后再看
2013-7-8 12:20
0
雪    币: 37
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
24
好文, 标记,FS段寄存器
2013-8-9 20:49
0
雪    币: 77
活跃值: (48)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
25
mark
2014-3-7 18:59
0
游客
登录 | 注册 方可回帖
返回
//