符号执行学习笔记


混合执行

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

成功!

参考

https://blog.csdn.net/qq_44370676/article/details/119714879


文章作者: q1ming
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 q1ming !
  目录