我正在寻找可用于对闭源 iPhone 应用程序进行静态分析的工具或工具组合。我对构建这些应用程序的控制流图很感兴趣。所以我正在考虑做以下事情:
- 如果需要,解密应用程序
- 反编译/反汇编应用程序(例如,Android 中的等效工具将是:反编译 Android 应用程序)
- 从反汇编的源代码构建控制流图(同样,对于 Android,我可以使用SOOT之类的工具,它适用于反汇编 Android 应用程序后获得的 Java 文件)
我遇到了以下工具,但我不确定其中哪一个是合适的。
拆卸:
- Interactive Disassembler - 一些研究项目报告使用它,但现在它是商业化的。
- Hopper - 不确定这是否可以以汇编语言以外的格式产生输出
对于静态分析:
我的问题是:上述两组工具的正确组合应该是什么,以便反汇编程序的输出可以用作静态分析器的输入?
注意:与此类似的一个问题是Objective-C 静态分析工具——Xcode 的插件?. 但重点是可以与 Xcode 一起使用的工具,因此对编写 iPhone 应用程序的开发人员很有用。但是,我对可用于分析源代码可能不可用的 iPhone 应用程序的工具很感兴趣。