混合执行
angr
angr使用了混合符号执行;
安装:pip install angr
导入库并加载:
import angr
p = angr.Project(“./test”)
获取程序入口点的基本块的代码:
# block,angr执行的unit
block = p.factory.block(p.entry)
print(block.pp())
约束求解:
# simulation managers
simgr = p.factory.simulation_manager(p.factory.full_init_state())
simgr.explore(find=0x401208, avoid=0x401219)
print(simgr)
print(simgr.found[0].posix.dumps(0).strip(b‘\0\n’))
虚拟机安装angr
pip3 install angr |
在python中import得到如下报错:
ModuleNotFoundError: No module named ‘pycparser.ply’
pip3 install pycparser |
成功!