angr/angr 是一个基于 Python 3 的框架,用于分析二进制文件,也就是已编译的可执行文件。它通过静态分析、动态分析和符号执行来考察程序的内部行为。
README 将 angr 描述为一个不受平台限制的二进制分析框架,同时也是一个 Python 3 库集合。它加载二进制文件并反汇编,再转换为中间表示(IR)来处理,同时支持程序插桩和符号执行。IR 用中间层指令的形式表达程序所执行的操作,而符号执行则是一种把输入值保留为符号而非具体值、并沿多条执行路径推进的分析方法。此外还提供控制流分析、数据依赖分析和值集合分析(VSA),以及反编译功能,并给出解决 CTF(安全竞赛)题目的示例。语言为 Python,许可证为 BSD-2-Clause,创建于 2015 年 8 月 6 日。
可验证的范围很窄。记录中只有 0~10 标准下的动量分 2.9,未给出新颖性、技术和质量分数,也没有最新的发布信息。由于资料中没有性能基准、实际采用案例和近期变更记录,因此无法得知它能分析哪些二进制文件、速度有多快。功能列表很宽泛,但依据也仅止于这份列表。验证不足,不宜直接当作精密分析工具使用,更适合作为参考资料。