【问题标题】:diStorm library, disassemble CALL instructiondiStorm库,反汇编CALL指令
【发布时间】:2014-12-31 11:53:15
【问题描述】:

diStorm 库 (http://www.ragestorm.net/distorm/) 反汇编 0x86 指令

e813000000

作为

call 0x20

应该是的

call 0x13

是错误还是我理解错了?

其他信息

传输到diStorm的distorm_decode的二进制数据(操作码)是

const unsigned char bin[] = { 0x55, 0x8b, 0xec, 0xE8, 0x92, 0xF8, 0xFF, 0xFF, 0xE8, 0x13, 00,00,00 };

附上截图。

【问题讨论】:

标签: c x86 call disassembly opcode


【解决方案1】:

由于你提供了原始指令字节,这里是一个粗略的手工反汇编:

Offset  0:  55 8b ec // not interested in these 3 bytes
Offset  3:  E8 92 F8 FF FF // a relative call instruction
Offset  8:  E8 13 00 00 00 // another relative call instruction
Offset 13:  ...

00 00 00 13 添加到下一条指令的地址 (Offset 13) 会得到目标地址,即0x20

【讨论】:

    【解决方案2】:

    嗯,它与操作码的开头有关。

    【讨论】:

      猜你喜欢
      • 2011-09-21
      • 2011-12-29
      • 2011-08-06
      • 1970-01-01
      • 2019-01-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-09-24
      相关资源
      最近更新 更多