1、angr环境

yum install -y python-dev libffi-dev build-essential virtualenvwrapper
mkvirtualenv angr

问题:mkvirtualenv command not found

解决:

sudo pip install virtualenv
sudo pip install virtualenvwrapper

问题:You are using pip version 8.1.2, however version 10.0.1 is available.You should consider upgrading via the 'pip install --upgrade pip' command.

解决:

pip install --upgrade pip

再重新上面两步操作,然后

vi ~/.bashrc

在最后面加下面两句话

export WORKON_HOME=~/.environments
source /usr/local/bin/virtualenvwrapper.sh

报错:-bash: /usr/local/bin/virtualenvwrapper.sh: 没有那个文件或目录

通过:

find / -name virtualenvwrapper.sh

找到后,修改~/.bashrc为找到的那个路径

重新加载.bashrc文件:

source ~/.bashrc

以上完成后即可再次:mkvirtualenv angr进入angr环境

2、cfg需要的包

以下就安装angr和输出cfg需要的包(用plot_cfg需要from angrutils import *,这个会出现很多依赖包没安装问题)

首先用workon angr命令进入angr环境,进入angr环境然后进入Python环境,然后输入import angr会出现问题:ImportError: No module named angr

输入from angrutils import *会依次出现以下4个问题:

1、ImportError: No module named angrutils 

2、ImportError: No module named bingraphvis

3、ImportError: No module named pydot

4、ImportError: No module named simuvex

退出python环境(还在angr环境),运行以下依次解决上述5个问题:

git clone https://github.com/angr/angr-dev
cd angr-dev
#mkvirtualenv angr
./setup.sh
git clone https://github.com/axt/angr-utils
cd angr-utils
python setup.py build
python setup.py install
git clone https://github.com/axt/bingraphvis
cd bingraphvis
python setup.py build
python setup.py install
pip install graphviz
pip install pydot
git clone https://github.com/angr/simuvex
cd simuvex
python setup.sh build
python setup.sh install

然后进入python环境,可以成功运行下面:

Python 2.7.12 (default, Dec  4 2017, 14:50:18)
[GCC 5.4.0 20160609] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import angr
>>> from angrutils import *
>>>

但是在运行plot_cfg(cfg,"pid_cfg",asminst=True,remove_imports=True,remove_path_terminator=True)会出现以下问题:

OSError: [Errno 2] "dot" not found in path.

因为:后安装graphviz会出现类似:"dot" not found in path的问题。安装graphviz不要用pip install安装,否则还是会找不到可执行程序

所以先graphviz然后pydot:

yum  insall graphviz
pip install pydot

3、angr容器

angr有一个docker容器可以使用:

# install docker
curl -sSL https://get.docker.com/ | sudo sh # pull the docker image
sudo docker pull angr/angr # run it
sudo docker run -it angr

但是在里面运行from angrutils import *还是会出现上述问题,就按照上述解决即可

感觉描述有点不严谨呀....但是以上运行下来,我的机器上是可以正确使用angr和plot_cfg等

centos安装angr的更多相关文章

  1. CentOS安装gitlab,gerrit,jenkins并配置ci流程

    CentOS安装gitlab,gerrit,jenkins并配置ci流程 By Wenbin juandx@163.com 2016/4/9 这是我参考了网上很多的文档,配置了这三个软件在一个机器上, ...

  2. 【推荐】CentOS安装Subversion-1.8.11+HTTP协议支持配置

    注:以下所有操作均在CentOS 6.5 x86_64位系统下完成. 我们需要搭建一个自己的SVN服务器. 此外,搭建好的SVN服务器除了需要支持svn协议外,最好还需要支持HTTP协议和HTTPS协 ...

  3. 【推荐】CentOS安装PHP-5.6.4+扩展安装+安全配置+性能配置

    注:以下所有操作均在CentOS 6.5 x86_64位系统下完成. #准备工作# 前段时间PHP官方发布了一个重要的安全升级公告,修复了两个unserialize函数的严重漏洞,目前受影响的版本有: ...

  4. CentOS安装Apache-2.4.10+安全配置

    注:以下所有操作均在CentOS 6.5 x86_64位系统下完成. #准备工作# 在安装Nginx之前,请确保已经使用yum安装了各基础组件,并且配置了www用户和用户组,具体见<CentOS ...

  5. CentOS安装Nginx-1.6.2+安全配置

    注:以下所有操作均在CentOS 6.5 x86_64位系统下完成. #准备工作# 在安装Nginx之前,请确保已经使用yum安装了pcre等基础组件,具体见<CentOS安装LNMP环境的基础 ...

  6. CentOS安装MySQL-5.6.10+安全配置

    注:以下所有操作均在CentOS 6.5 x86_64位系统下完成. #准备工作# 在安装MySQL之前,请确保已经使用yum安装了各类基础组件,具体见<CentOS安装LNMP环境的基础组件& ...

  7. 转: CentOS 安装 SVN1.8 客户端

     from: http://blog.csdn.net/clementad/article/details/46898091 CentOS 安装SVN客户端 标签: subversionrpmcent ...

  8. CentOS安装gitLab服务器

    首先利用gitlab-install-el6.sh安装,比较简单: (出处:http://www.linuxidc.com/Linux/2013-06/85754.htm) 1:如果有条件,提供一台全 ...

  9. 【推荐】CentOS安装Tomcat-7.0.57+启动配置+安全配置+性能配置

    注:以下所有操作均在CentOS 6.5 x86_64位系统下完成. #准备工作# 在安装Tomcat之前,请确保已经安装了JDK-1.7环境,具体见<CentOS安装JDK-1.7>. ...

随机推荐

  1. 设计模式之装饰模式(Decorator)摘录

    版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/fengbingchun/article/details/29237955 23种GOF设计模式一般分 ...

  2. 表单中的input框点击enter到下一个input框

    $(function() { $("#form1").on("keydown", "tr input", function() { //响应 ...

  3. OpenCV矩形检测

    OpenCV矩形检测 需求:提取图像中的矩形,图像存在污染现象,即矩形区域不是完全规则的矩形. 思路一:轮廓法 OpenCV里提取目标轮廓的函数是findContours,它的输入图像是一幅二值图像, ...

  4. Jmeter各参数含义

    1.聚合报告分析 Label:每个JMeter的element(例如HTTP Request)都有一个Name属性,这里显示的就是Name属性的值 #Sample:表示你这次测试中一共发出了多少请求, ...

  5. Hyperledger Fabric CA的命令行用法

    介绍Hyperledger Fabric CA的命令行方式简单用法 Hyperledger Fabric CA由server和client两部分组成. 设置两个环境变量 export FABRIC_C ...

  6. 利用Tensorflow实现卷积神经网络模型

    首先看一下卷积神经网络模型,如下图: 卷积神经网络(CNN)由输入层.卷积层.激活函数.池化层.全连接层组成,即INPUT-CONV-RELU-POOL-FC池化层:为了减少运算量和数据维度而设置的一 ...

  7. cocos2d-x JS 字符串

    1.charCodeAt方法返回一个整数,代表指定位置字符的Unicode编码. strObj.charCodeAt(index) 说明: index将被处理字符的从零开始计数的编号.有效值为0到字符 ...

  8. cocos2d-x JS 计算赋值时出现 NaN

    NaN “Not a Number”.出现这个数值比较少见,以至于我们可以不理它.当运算无法返回正确的数值时,就会返回“NaN”值.NaN 值非常特殊,因为它“不是数字”,所以任何数跟它都不相等,甚至 ...

  9. opencv之模糊处理

    初学OpenCV的开发者很容易被OpenCV中各种滤波方法所困扰,不知道到底该用哪里一个来做滤波.表面原因看起来是因为OpenCV中各种滤波方式实在是太多太杂, 其背后原因是对各种滤波方法的应用场景认 ...

  10. Hibernate.编写xml文件无自动提示信息

    Hibernate.编写xml文件无自动提示信息 注意: 配置 xxxx.hbm.xml 文件的自动提示.和配置 hibernate.cfg.xml 文件的提示,操作步骤是一样的.只是复制的文件内容. ...