代码之家  ›  专栏  ›  技术社区  ›  Isaac

分解为osx10.6上的x86_64(但使用_intel_u语法)

  •  7
  • Isaac  · 技术社区  · 17 年前

    我知道的 otool -tv 但是我更愿意用 英特尔 语法而不是at&ts,主要是为了在一本书中易于理解,而不必查看成千上万的 % S和 $ s。

    我也很感激你给我一些建议 gdb 的配置文件。

    编辑:我忘了:我正在运行一个64位处理器,但想知道是否也可以分解成32位程序集?不仅如此,OSX也是 全球存托凭证 的 list 命令工作与标准不同 GNU 版本?

    非常感谢!

    (另外,如果你知道我在哪里可以找到一个C->MIPS的反汇编程序,那就非常有趣了。但没有必要!)

    4 回复  |  直到 15 年前
        1
  •  8
  •   Stephen Canon    17 年前

    要回答第二个问题,如果代码已编译成64位和32位的胖二进制,则可以使用 otool -arch i386 -tv 分解二进制文件的32位片; otool -arch x86_64 -tv 将为您提供64位部分(在雪豹上,如果没有,这也是默认行为 -arch 标志被传递)。

    还要注意,虽然otool不支持Intel语法,但是gdb( set disassembly-flavor intel )Xcode(首选项->调试->反汇编样式)可以。

        2
  •  1
  •   Bastien Léonard    17 年前

    用 Objdump 你可以用 -d -M intel 显然, -m 可用于指定体系结构。

        3
  •  0
  •   Victor Hurdugaci    17 年前

    您可以使用A2I将AT&T转换为Intel语法: http://membres.lycos.fr/placr/a2i.html

        4
  •  0
  •   user379217    15 年前

    对于gdb,在.gdbinit文件中,添加:

    设置反汇编风格Intel

    然后它将是gdb的默认语法。