0%

二进制自动化测试

符号执行

通过程序分析确定哪些输入会导致程序产生特定执行结果的方法

符号执行技术分析所有能够跳转到指定函数的路径,并对如何进入这些路径进行计算,最终将计算结果展示出来

Angr

  • 简介:一种用来对程序进行静态和动态的符号分析的Python框架

    具有以下功能:

    • 控制流图分析
    • 符号执行
    • 自动ROP构造:劫持程序的控制流
    • 自动补丁:向程序中的某个函数或者某种指令前插入自己的代码
  • 安装

    1
    2
    3
    4
    git clone https://github.com/angr/angr-dev
    cd angr-dev
    mkvirtualenv angr
    ./setup.sh
  • 缺点:当路径很多时,则运行会非常缓慢甚至跑不出来,于是需要借助Z3

Z3(Angr的底层)

获取地址如下:这儿