claripy
类似于z3用于创建变量求解(可用于argv传参或者 寄存器传参)
变量
BVS -用于创建位向量符号
BVS('变量名',长度)
BVV -用于创建位向量值(主要用于添加条件)
BVV(bytes数据)
设置变量
stdin 标准输入现在似乎不支持添加条件 或者只对应架构下系统添加条件 比如pe文件则需要在windows环境下添加
寄存器
example:
1
2
3 flag=BVS('flag',8*(flag_length))#BVS长度单位是bit,创建变量对象
state=p.factory.entry_state()#创建状态对象
state.regs.eax=flag#不会超过eax大小内存
example:
1
2
3 flag=BVS('flag',8*(flag_length))#BVS长度单位是bit,创建变量对象
state=p.factory.entry_state()#创建状态对象
state.memory.store(addr,flag)#在指定地址addr写入flag(长度为8字节)也可以自定义长度
添加条件
1 | state.solver.add(条件语句) |
解决问题
1 | state.solver.eval(变量对象) |
00_angr_find
1 | #第一种 直接explore |
- 标题: claripy
- 作者: runwu2204
- 创建于 : 2024-01-18 20:00:27
- 更新于 : 2024-01-19 21:01:36
- 链接: https://runwu2204.github.io/2024/01/18/Re/分析工具/angr分析框架/claripy/
- 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。
评论