从Application bundle(.app)获取尽可能多的内容

时间:2012-10-20 15:30:43

标签: ios macos reverse-engineering disassembly .app

我想尽可能多地了解有关给定Application bundle .app的技术信息,例如:

  • 使用的编译器
  • 使用的框架
  • 实施细节

QuickLook插件显示有关.app的广泛信息是理想的,但我不知道。

1 个答案:

答案 0 :(得分:2)

GUI

  • MacDependency显示了Mac OS X上给定可执行文件,动态库或框架的所有依赖库和框架。它是otool命令的GUI替代,并提供与Windows上的Dependency Walker

命令行

  • nm显示参数列表中每个目标文件的名称列表(符号表)。
  • otool显示目标文件或库的指定部分。
  • class-dump检查存储在Mach-O文件中的Objective-C运行时信息。它为类,类别和协议生成声明。
  • class_dump_z

列出所有链接的符号

nm -u /Applications/.app/Contents/MacOS/executable | sort | less

显示全局(外部)符号名称(无值或类型)。

nm -g -j executable | sort | uniq | less

列出应用已链接到的所有库。

otool -L executable

显示Objective-C运行时系统使用的__OBJC段的内容。

otool -ov executable | less

拆卸

otool -tvV executable | less

显示实施地址

class-dump -A executable | less