【发布时间】:2016-04-22 08:25:16
【问题描述】:
在解决一个错误时,我发现两个 Win64 DLL 的导入跳转表之间存在差异。 kernel32.dll 的 64 位版本在其导入跳转表中使用普通的 FF25 jmp 指令。另一方面,advapi32.dll 的 64 位版本使用 48FF25,它表示 jmp 操作码之前的 REX.w=1 前缀。但是,两者似乎都有 32 位操作数指定 RIP+偏移地址。
这个特定操作码上的 REX.w 前缀有什么意义吗?
我不经常使用机器代码,所以请原谅任何事实错误。
【问题讨论】:
-
我想你会发现它记录在英特尔文档中。
-
intel手册中没有列出,我手上的反汇编器也看不懂。我认为
rex.w只是被忽略了。