Kali下docker-angr的安装与简单使用方法
直接安装法折腾了半天,各种失败,无奈选择使用docker安装
安装步骤
docker pull angr/angr //获取docker镜像 docker run -itd -v /root/桌面/angr:/angr angr/angr //运行docker并把桌面的angr文件夹映射到docker的/angr文件夹下 docker exec -it ec7e bash //进入容器,ec7e是刚才创建的容器序号 root@ec7e53f87f3b:/angr# su angr //切换到容器的angr用户,在默认的root用户中无法使用angr
第一个题
程序要求用户输入flag,题目逻辑很复杂,反正作为小白看不太懂,一开始连入口也没找到,后来在start下断一步一步跟下来的,但是不妨碍爆破flag,动态调试中找到了校验flag的位置,两个箭头是校验成功和失败的地址
编写脚本
import angr proj=angr.Project('./a.out',auto_load_libs=False) state=proj.factory.entry_state() simgr = proj.factory.simgr(state) #simgr.explore(find=lambda s: b"Correct" in s.posix.dumps(1)) res=simgr.explore(find=0x400d8e,avoid=0x400d70) print(simgr.found[0].posix.dumps(0))
运行脚本拿到flag