angr文档翻译(一)README
Contents
README
angr是一个多架构二进制分析工具包,能够实现对二进制程序的动态符号执行(像Mayhem, KLEE, 等等)和各种静态分析。如果你想要学习如何使用angr, 那么你就来对地方了。
我们努力使您更加轻松地使用angr——我们的目标是创造一个对使用者友好的二进制分析套件,让用户简单地使用ipython运行一些指令,就能分析密密麻麻的二进制程序。话虽如此,但二进制分析是十分复杂的,angr也不得不显得复杂。本文档将努力帮你走出困境,为你提供一些angr设计原则的解释和可能的探索
要进行二进制分析,我们必须解决以下问题:
-
将二进制程序转换为中间语言(intermediate representation)
-
执行确切的分析,可能的步骤有:
-
部分或完整程序的静态分析(如依赖分析、程序切片分析等)
-
对程序执行状态的符号化探索(如“我们可以执行程序直到找到溢出点吗?”)
-
上面两者的结合(如“让我们只执行程序写入内存的片段,去找到一个溢出点”)
-
angr的组件可以应对以上所有的问题。这本手册将会解释每一个组件是如何工作的,以及如何使用他们来达成你的目标