【问题标题】:Getting the hexdump of a given function获取给定函数的 hexdump
【发布时间】:2015-12-04 17:14:06
【问题描述】:

我想获取给定函数的 hexdump。到目前为止objdump -d a.out --start-address=0x400630 and --stop-address=0x400679 是我找到的最佳解决方案,但是我不知道如何从输出中仅提取操作码。 例如来自这个:

  4003f0:   48 83 ec 08             sub    $0x8,%rsp
  4003f4:   e8 73 00 00 00          callq  40046c
  ...

我只需要这个:

  48 83 ec 08 
  e8 73 00 00 00 

【问题讨论】:

    标签: linux hexdump


    【解决方案1】:

    您可以在您的程序中使用 gdb,x/i 将打印出一系列机器指令。

    【讨论】:

    • 是否可以从 shell 脚本自动执行此操作,而无需在 gdb 中手动编写命令?
    • 是的。使用您的 gdb 命令创建一个文件并运行 gdb -x file
    【解决方案2】:

    也可以尝试插管:

    objdump -d a.out --start-address=0x400630 and --stop-address=0x400679 | cut -b 14-30 
    

    您可能需要根据输出调整剪切范围。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-11-08
      • 2014-10-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-02-10
      相关资源
      最近更新 更多