一、安装
python2 或 python3:
pip install angr
目前官方不再维护python2版本,所以python2装的版本偏低,且很可能没有后续更新。
如果你选择python2版本,还需要把capstone升级一下,不然无法分析mips程序,还会报错:
Your version of capstone does not support MIPS instruction groups
所以必须升级到V4以上版本:
pip install -U capstone
二.使用
目前我只会一种通用的方法,就是指定目标和错误终点来暴力遍历路径。应该还有许多更高级的约束方法,等以后学了再更新。
import angr p= angr.Project('./filename',auto_load_libs=False) state=p.factory.entry_state() simgr=p.factory.simgr(state) simgr.explore(find=0x40202c,avoid=0x402048) print(simgr.found[0].posix.dumps(0))
其中find=填需要达到的目标地址,avoid填错误的地点,如果有多个错误地址的话可以用list填写多个。