-
-
未解决
[求助]x64调用门如何调用
-
发表于:
2019-4-16 09:44
5597
-
最近在看x86_x64体系探索及编程这本书学习在x64下的保护模式(好像应该叫做长模式?),看到了调用门的时候想着做个实验看看,门描述符都构造好了,就是卡在怎么调用上了...
根据书上给的x64调用门结构和intel白皮书里面给出的结构知道,x64下面调用门没有太大改变,只是多了8个字节,多出来的八个字节的低4字节记录函数偏移,高4个字节全部写0。
这是我通过windbg构造的调用门描述符
这是根据调用门在gdt表中得出来的选择子:0x63
这是第一个问题,在windbg里面,用dg命令显示这个选择子,提示不识别
这是为啥??难道x64下面和x32下面算选择子index的方法不一样?
第二个问题就是我如何在代码里面调用这个调用门?书上给出的方式是 call qword ptr ds:[xxxxx],我寻思着这不和间接调用一样吗?这也不是call far呀。
抱着试试看的态度试了一下。。。果然和调用函数的效果是一样的。。。(这张图里面的选择子是我忘记改了,之前做过测试,0x63也是不行的)
在x64dbg里面也试了试,还是没有试出来。
期待大佬帮我解决一下这两个疑问。
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!
最后于 2019-4-16 09:49
被Quack编辑
,原因: