用于检查iOS编译的ARM反汇编程序/交叉编译器

Nei*_*fey 5 iphone arm cross-compiling disassembly ios

任何人都可以推荐:

  • 一个ARM反汇编程序,可以在Windows或MacOS中运行,理想情况下可以理解iOS使用的可执行格式
  • 在MacOS中,一种直接从命令行调用XCode安装的交叉编译GCC的方法(这样我就可以在一个小的测试文件上运行它并要求汇编输出).

基本上,我很想知道XCode/gcc如何为ARM/iOS编译某些东西以帮助我进行优化.正如你所看到的,虽然我同时拥有Windows和Linux的背景下,我没有从根本的是Mac专家,所以我不是太熟悉,例如其中的XCode intsalls所有gubbinry或任何二进制格式的iOS使用的来龙去脉.

我并不特别在意我是否必须做在Mac OS或Windows的"拆卸",但我试图避免被安装GCC配置为一个全新的副本,交叉编译到ARM,因为XCode的大概有一个完美的好的安装已经坐在那里...任何帮助赞赏.

Igo*_*sky 5

你总是可以使用otool反汇编程序.这是相当基本的,但做的工作.

IDA Pro可以反汇编iOS中使用的ARM Mach-O文件.使用它是(在我的偏见中)更好的体验,看着死亡列表.您可以查看它如何与演示版本一起使用.

免责声明:我为Hex-Rays工作.

IDA Pro反汇编ARM Mach-O文件

  • 演示版可以处理x86和ARM的EXE,ELF和Mach-O格式. (2认同)

osg*_*sgx 4

一个在 Windows 或 MacOS 中运行的 ARM 反汇编程序,可以很好地理解 iOS 使用的可执行格式

我可以向您推荐 LLVM。如果使用默认选项构建,llvm-objdump将反汇编 ARM。

另外,看起来http://developer.apple.com/technologies/tools/whats-new.html Apple 正在 iOS SDK 中使用 LLVM 工具链。