Contents

angr文档翻译(一)README

Contents

README

angr是一个多架构二进制分析工具包,能够实现对二进制程序的动态符号执行(像Mayhem, KLEE, 等等)和各种静态分析。如果你想要学习如何使用angr, 那么你就来对地方了。

我们努力使您更加轻松地使用angr——我们的目标是创造一个对使用者友好的二进制分析套件,让用户简单地使用ipython运行一些指令,就能分析密密麻麻的二进制程序。话虽如此,但二进制分析是十分复杂的,angr也不得不显得复杂。本文档将努力帮你走出困境,为你提供一些angr设计原则的解释和可能的探索

要进行二进制分析,我们必须解决以下问题:

  • 将二进制程序转换为中间语言(intermediate representation)

  • 执行确切的分析,可能的步骤有:

    • 部分或完整程序的静态分析(如依赖分析、程序切片分析等)

    • 对程序执行状态的符号化探索(如“我们可以执行程序直到找到溢出点吗?”)

    • 上面两者的结合(如“让我们只执行程序写入内存的片段,去找到一个溢出点”)

angr的组件可以应对以上所有的问题。这本手册将会解释每一个组件是如何工作的,以及如何使用他们来达成你的目标