将java.class 打包成xxxx.dex文件
d8在/android/sdk/build-tools/xx.x.x/目录下
命令: d8 ./java.class
Z3Prover
Z3Prover github
函数求解工具
什么是Z3
一、简介
Z3是由Microsoft Research开发的高性能定理证明器。(可以理解为自动解方程组的感觉)。Z3 在工业应用中实际上常见于软件验证、程序分析等。
由于Z3功能实在强大,也被用于很多其他领域:软件/硬件验证和测试,约束解决,混合系统分析,安全性,生物学(计算机模拟分析)和几何问题。
CTF 领域来说,能够用约束求解器搞定的问题常见于密码题、二进制逆向、符号执行、Fuzzing 模糊测试等。此外,著名的二进制分析框架 angr 也内置了一个修改版的 Z3。
API
API文档:http://z3prover.github.io/api/html/index.html
中文:https://arabelatso.github.io/2018/06/14/Z3%20API%20in%20Python/
基本原理
SMT求解器z3通过检查一组数据样本上给定约束的可满足性来计算系数。
SMT算法的基础知识:https://xbuba.com/questions/55082485
安装
pip install z3-solver