Analyses

原文

angr的目标是使对二进制程序进行有用的分析变得容易。为此,angr允许你将分析代码打包成一种通用的格式,这种格式可以很容易地应用于任何项目。稍后我们将讨论编写您自己的分析,但其思想是,所有的分析都出现在项目中。分析(例如,project. analysis. cfgfast()),可以作为函数调用,返回分析结果实例。

Built-in Analyses

Name Description
CFGFast Constructs a fast Control Flow Graph of the program
CFGEmulated Constructs an accurate Control Flow Graph of the program
VFG Performs VSA on every function of the program, creating a Value Flow Graph and detecting stack variables
DDG Calculates a Data Dependency Graph, allowing one to determine what statements a given value depends on
BackwardSlice Computes a Backward Slice of a program with respect to a certain target
Identifier Identifies common library functions in CGC binaries
More! angr has quite a few analyses, most of which work! If you'd like to know how to use one, please submit an issue requesting documentation.

弹性

可以编写具有弹性的分析,捕捉并记录几乎所有的错误。这些错误(取决于它们被捕获的方式)被记录到分析的errors或named_errors属性中。但是,您可能希望以“快速失败”模式运行分析,这样错误就不会得到处理。为此,参数fail_fast=True可以传递到分析构造函数中。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容