前言 angr不建议在实体机上安装,所以就安装到docker里面,官方容器里已经集成了angr,但安装的太慢。这里我选择了阿里云的容器镜像,本地环境为ubuntu16.04。
实体机安装参考链接https://docs.angr.io/introductory-errata/install,这里用docker安装。
配置镜像加速器 申请阿里云 ,修改daemon配置文件/etc/docker/daemon.json来使用加速器,把下方的registry-mirrors换成你的加速器地址。1 2 3 4 5 6 7 8 sudo mkdir -p /etc/docker sudo tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors" : ["https://culfukli.mirror.aliyuncs.com" ] } EOF sudo systemctl daemon-reload sudo systemctl restart docker
安装angr 1 docker pull registry.cn-hangzhou.aliyuncs.com/liujunjie/angr
安装完执行docker images 查看镜像,运行angr1 docker run -it registry.cn-hangzhou.aliyuncs.com/liujunjie/angr
上述命令可以执行angr,但不会保存你在其中做的修改,应该用下列命令1 2 3 4 5 6 $docker run -itd registry.cn-hangzhou.aliyuncs.com/liujunjie/angr1d443841326281a8c5aee9cfad74893a5eded421eadc3eac2222f91bf15e3eb9 $docker exec -it 1d44 bash root@1d4438413262:/ bin dev home lib64 mnt proc run srv tmp var boot etc lib media opt root sbin sys usr
这时可以输入命令了,与在linux中操作一样。 但在root用户下import angr会失败,用su angr命令切换到angr用户即可。
测试 进入到有例子的目录下,执行脚本,可以看到flag。1 2 3 4 5 6 7 $cd /home/angr/angr-dev/angr-doc/examples/ais3_crackme$ls ais3_crackme solve.py $python solve.py 'ais3{I_tak3_g00d_n0t3s}\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' ais3{I_tak3_g00d_n0t3s} 'ais3{I_tak3_g00d_n0t3s}'
拷贝文件 主机向docker中拷贝:1 docker cp (本地文件路径) (docker container id):(容器中路径)
docker向主机中拷贝:1 docker cp (docker container id):(容器中路径) (本地文件路径)
容器操作 查看容器进程
打开容器 1 docker start container_id
关闭容器
删除容器
导出容器 1 docker export container_id > 容器快照名
镜像操作 查看镜像
导入镜像
运行images 1 docker run -it 镜像名称 bash
删除images