-
-
[求助]关于64位下的gs、fs、GDT的相关问题
-
发表于:
2018-8-21 09:08
5180
-
[求助]关于64位下的gs、fs、GDT的相关问题
关于64位下的gs、fs、GDT的相关问题
写了以下一段代码,查看ring3下gs与fs的基地址
在windows server 2012 r2环境下运行程序,windbg调试查看结果如下:
我想问的问题是
1.为什么查看GDT表中的gs基地址为0,但用程序 _readgsbase_u64()查看为0x35fce000,到底哪个是gs的基地址
2.为什么_writefsbase_u64改变了程序输出的fs的基地址0x35fd0000变为0x1111,但实际上GDT表fs的基地址却从0x35fd0000变为0x35fce000
3._readgsbase_u64()对应的汇编指令是rdgsbase edx,查相关资料是“在任何特权等级下读取GS的基址”这个基址不是GDT表中的gs段选择子对应的表项的基址么?
希望有朋友能不吝赐教
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!