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等