分析样本时遇到了一个浮点指令 fxsave64 ,查阅资料发现是保存x87 fpu状态的指令。 如果单步F7执行到此处,这个指令保存的FPU状态里,其中FIP会缺少高32位。 但是如果不是单步执行,比如F4到这个指令的下一条指令,保存的FIP又不会缺失高32位 查了一下资料,只有REX.W=0,或CPU寻址模式非64位时才会发生FIP缺失高32位的情况。 这里的REX.W=1,是否代表调试器在单步执行时改变了CPU的寻址模式?ps:不止x64dbg,windbg下也有同样的问题。
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!
木志本柯 你看到的这些 只不过是 x64dbg 用自己的变量 自己的窗口 输出的 可能x64dbg自身问题