我正在做一个研究项目,我想查看创建或扩展某些类的应用程序。对于 Android,我正在使用 Androguard 项目,该项目提供了大量用于检查 APK 文件的出色工具,还附带了一个 API,我可以使用它来扩展我自己的代码。
我想知道是否有类似的东西可用于 iOS 应用程序?
我正在做一个研究项目,我想查看创建或扩展某些类的应用程序。对于 Android,我正在使用 Androguard 项目,该项目提供了大量用于检查 APK 文件的出色工具,还附带了一个 API,我可以使用它来扩展我自己的代码。
我想知道是否有类似的东西可用于 iOS 应用程序?
据我所知,没有像 Androguard for .APK 文件那样用于探索和与 .IPA 文件交互的工具,但由于 .IPA 本质上是一个 zip,您可以单独解压缩和分析关键组件。
该文件和相关工具的关键组件包括:
马赫-O
Mach-O 文件包含可执行代码。此可执行文件在 .ipa 文件中加密,除非它已从有根设备转储和重建。转储和重建后,可以使用 IDA Pro 查看函数、字符串等。目标 C 可能很难遵循,因此像https://github.com/zynamics/objc-helper-plugin-ida这样的插件可能会有所帮助。另外,请查看 otool 和 class-dump http://www.codethecode.com/projects/class-dump/。
列表
为了收集有趣的信息,我找到了 plists(尤其是 iTunesMetadata.plist 和 Info.plist)。在 .ipa 中找到的 Plist 要么是可读的 XML 格式,要么是二进制格式。要将二进制转换为可读的 XML,请使用 Apple 的 plutil(1) 或 plutil.pl。