1.angr是新一代二进制文件分析框架,旨在解决下列问题:
1.载入二进制文件到分析程序中;
2.将二进制文件翻译成中间表示;
3.执行真正的分析,可能是:
一部分或全程序的静态分析;
一种程序状态空间的符号搜索;
以上方法的部分结合使用。
2.二进制的载入:CLE
3.中间表示:VEX(使angr实现跨底层结构分析二进制文件)
4.求解程序引擎:约束求解和其它计算需求由angr子模块Claripy提供
5.程序状态集:angr提供仿真机器状态的接口。理解这是成功使用angr的必要。
6.程序路径:程序可以由执行过程可能经过的路径进行分析。angr显示了路径执行过程中的信息。
7.语义表示:angr一个强大的特性展示基本块及其在程序状态中的影响。angr可以说明基本块的作用,该功能由
SimuVEX子模块实现。
8.符号执行:angr提供符号执行引擎。及该引擎的接口,以及如何使用。
9.全程序分析:以上所有组件结合起来进行复杂的,全程序的分析。