python z3库学习
介绍
Z3 在工业应用中实际上常见于软件验证、程序分析等。然而由于功能实在强大,也被用于很多其他领域。CTF 领域来说,能够用约束求解器搞定的问题常见于密码题、二进制逆向、符号执行、Fuzzing 模糊测试等。此外,著名的二进制分析框架 angr 也内置了一个修改版的 Z3。
安装
pip uninstall z3_solver
注意不要安装z3,这是另外一个模块了。
整型(Int)方程求解
from z3 import *a, s, d = Ints('a s d')
x = Solver()
x.add(a-d == 18)
x.add(a+s == 12)
x.add(s-d == 20)
check = x.check()
print(check)
model = x.model()
print(model)
# sat
# [a = 5, d = -13, s = 7]
有理数(Real)型解方程求解
from z3 import *x = Real('x')
y = Real('y')
s = Solver()
s.add(x**2 + y**2 == 3)
s.add(x**3 == 2)
check = s.check()
print(check)
model = s.model()
print(model)
# sat
# [y = -1.1885280594?, x = 1.2599210498?]
位向量(BitVec)型解方程
from z3 import *x, y, z = BitVecs('x y z', 8)
s = Solver()
s.add(x ^ y & z == 12)
s.add(y & z >> 3 == 3)
s.add(z ^ y == 4)
check = s.check()
print(check)
model = s.model()
print(model)
# sat
# [z = 27, y = 31, x = 23]
python z3库学习相关推荐
- python整数逆位运算_[python/工具] python z3库学习 减乘除位与运算 ctf一把梭
今天在vidar的分享会上 s神跟我们讲了一个python的库叫做z3 可以在python中用这个库解决任何方程(只要有解) 网上找不到任何中文资料=.=看来我只能自己写了 z3库的介绍 Z3 在工业 ...
- python标准库学习笔记
原创:python标准库学习笔记 数据结构 bisect 模块里实现了一个向列表插入元素时也会顺便排序的算法. struct - 二进制数据结构:用途:在 Python 基本数据类型和二进制数据之间进 ...
- Python pillow库学习笔记
Python pillow库学习笔记 PIL( Python Imaging Library)是 Python 的第三方图像处理库,由于其功能丰富,API 简洁易用,因此深受好评. 自 2011 年以 ...
- python z3库的安装
好离谱啊电脑重组我又忘了z3库怎么安装了www浅记一下吧 目录 下载安装包 添加环境变量 检验 下载安装包 下载网址Releases · Z3Prover/z3 (github.com) 下载这个就行 ...
- Python标准库学习——sys模块
sys模块可以控制Python Shell窗口信息. 1.version 和 version_info 属性,可以列出目前所使用Python的版本信息. 列出目前所使用Python的版本信息. imp ...
- 【Python 标准库学习】安全哈希与摘要算法库 — hashlib
欢迎加入 Python 官方文档翻译团队:https://www.transifex.com/python-doc/ hashlib 模块针对不同的安全哈希和消息摘要算法实现了一个通用的接口.提供了常 ...
- 【Python 标准库学习】时间相关的函数库 — time
欢迎加入 Python 官方文档翻译团队:https://www.transifex.com/python-doc/ time 模块提供了各种时间相关的函数,该模块中的大多数函数是调用了所在平台 C ...
- python Fabric库学习
fabric官网 http://www.fabfile.org/ wrapper封装 v1.12 fabric是一个python库,同时也是一个命令行工具,其利用ssh进行应用开发或是系统管理任务. ...
- python必备库 学习笔记 matplotlib
文章目录 Matplotlib Matplotlib介绍 为什么要学习Matplotlib Matplotlib简单实例 Matplotlib图像结构 Matplotlib三层结构 容器层 辅助显示层 ...
最新文章
- [转]slf4j + log4j原理实现及源码分析
- python三个点画正弦线_python3绘图示例5(基于matplotlib:正弦图等)
- Ethercat解析(十三)之fsm_master状态机
- Android -- 屏幕适配
- WEB前端使用SheetJS读写excel文件
- ELF格式文件符号表全解析及readelf命令使用方法
- net idautomationhc39m条形码字体生成条形码
- 融云观察:壳壳语音新玩法,深挖语音社交市场
- 服务器开发是做什么的和必备技术汇总
- 【云原生之Docker实战】使用Docker部署ShowDoc文档工具
- 欧几里得扩展欧几里得
- Mac解决JAVA_HOME问题
- ABR CQP CRF码率控制总结
- 关于android 在黑屏情况下wifi下载速度慢的问题的解决。
- 一篇文章理解外汇知识
- TIA protal v17安装非C盘找不到step7 basic
- 前端学习——这十本书一定要看
- php querylist 404,Querylist批量采集碰到404咋办
- 安装程序找不到office.zh-cn/msvcr80.dll
- E40-80安装10.14.5 Mojave方式