enoloo
驱动牛犊
驱动牛犊
  • 注册日期2007-07-22
  • 最后登录2007-07-26
  • 粉丝0
  • 关注0
  • 积分20分
  • 威望3点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
阅读:1784回复:2

请问x64下用硬编码如何呼叫64位地址空间的函数

楼主#
更多 发布于:2007-07-24 11:16
在32位下,jmp,call可以完成跳转和呼叫。请问在x64下对应的指令是什么?

我试了下用 0xff15 00000000+64位地址(ff 15 00 00 00 00 5e 11 f0 37 00 00 00 00),能跳转到目标地址。但是结果在执行的二进制代码中,编译器开始从5e解析指令;导致执行完目标地址的函数后,程序崩溃。

请问如何解决?
Kalee
驱动牛犊
驱动牛犊
  • 注册日期2002-10-26
  • 最后登录2012-02-21
  • 粉丝0
  • 关注0
  • 积分358分
  • 威望47点
  • 贡献值0点
  • 好评度35点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2007-07-25 15:54
你是编译成64位版本吗?
enoloo
驱动牛犊
驱动牛犊
  • 注册日期2007-07-22
  • 最后登录2007-07-26
  • 粉丝0
  • 关注0
  • 积分20分
  • 威望3点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2007-07-25 16:51
是的。 是 x64 选项。 而且FF1500000000能跳转到目标地址。

我现在怀疑 x64 是否能正确的进行 64 位绝对地址的呼叫并RET。 CPU是AMD的,是AMD64架构。
游客

返回顶部