背景
由于标题不言自明,我想将任何架构(例如 x86、ARM、ARM Thumb)的二进制文件转换为中间语言,以便应用与架构无关的静态分析。
确切地说,我的工作仅限于 Android 平台 APK 文件中提供的共享对象。我希望 IL 满足的基本要求如下(实际上我的目标是从.so
APK 文件中提供的给定文件中提取信息流)。
- 二进制切片
- PDG (CFG/DFG)
- 得到其维护者或其社区的大力支持
为此,我研究了下面列出的一些现有工具,但不幸的是,我不确定是否可以使用它们来揭示信息流。
- OpenREIL:该项目的目的是将依赖于 arch 的二进制文件提升到 REIL 中。
- Barf 项目:一个多平台开源二进制分析和逆向工程框架
- Capstone:一个反汇编框架。
- Epic:此工具将 any-arch 的二进制文件转换为与 arch 无关的 LLVM 位码。(这个项目不是公开的,所以我不能使用它。)
问题
是否有任何 IL 可用于静态分析依赖.so
于架构的文件(在 APK 存档中)以提取信息流?基本上我希望它提供基本要求,例如切片和 PDG。