我的objdump中的这一行是什么?

时间:2017-07-29 19:52:23

标签: winapi assembly disassembly

我在objdump中看到了一个奇怪的指示:

fs cs gs js 0x6a

当我尝试使用this手动反汇编操作码时,我得到:

{{1}}

这条指令是什么意思?它的意义是什么?

信息:使用win64格式的NASM在Windows 7 64位上编译程序集。

1 个答案:

答案 0 :(得分:5)

这是一个前面有一堆前缀的跳转指令。它解码如下:

  • 64fs段覆盖前缀。它没有任何作用。
  • 2ecs段覆盖前缀。在条件跳转指令前面,它暗示不进行跳转。
  • 65gs段覆盖前缀。它没有任何作用。
  • 78是指令js“如果符号标志设置为”
  • 则跳转
  • 65是此指令的操作数。

这条指令没有多大意义。由于编码对应于字符串d.exe,因此它实际上可能是数据而不是代码。它也可能是汇编程序生成无用的前缀来进行某种对齐,但是如果没有看到该指令所在的地址,则无法测试该假设。