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可以传递到分析构造函数中。

你可能感兴趣的:(Analyses)