🔬 angr 符号执行
📘 破解·保护·授权
✨ 30章 完整版
🧩 实战进阶
⚡ 从零到一
🎯 点击目录跳转对应章节
01
angr初探:符号执行是什么?angr能做什么?安装angr与第一个angr脚本。
🚀 入门 · 环境 · 首脚本
02
angr核心概念:Project、State、SolverEngine、SimulationManager。
🧠 四大核心 · 架构基础
03
符号化输入:符号位向量、符号化寄存器与内存、符号化文件。
📥 符号化 · 位向量 · 文件
04
约束求解:添加约束、求解符号值、获取可行解与不可行解。
⚖️ 约束 · 求解 · 可满足
05
路径探索:SimulationManager基础用法、explore方法、find与avoid。
🧭 路径探索 · 符号执行
06
钩子与替换:SimProcedure、hook_symbol、替换库函数行为。
🪝 钩子 · 符号替换
07
破解简单序列号验证:分析cmp指令、符号化输入、约束求解出正确序列号。
🔓 序列号 · cmp破解
08
破解复杂序列号验证:处理循环、多分支、算术运算。
🌀 复杂序列号 · 循环
09
破解基于时间的验证:绕过sleep、time()检查。
⏳ 时间绕过 · sleep
10
破解基于机器码的验证:读取硬件信息、绑定机器码。
💻 机器码 · 硬件绑定
11
破解基于RSA/ECC的验证:符号化大数运算、约束求解私钥。
🔐 RSA/ECC · 私钥求解
12
破解基于哈希的验证:符号化MD5/SHA1、约束求解碰撞。
🔑 哈希碰撞 · MD5/SHA1
13
破解基于反调试的验证:检测ptrace、IsDebuggerPresent。
🐞 反调试 · ptrace
14
破解基于混淆的验证:处理控制流平坦化、虚假控制流。
🌪️ 混淆 · 控制流平坦化
15
破解基于虚拟机的验证:符号化VM字节码、模拟VM执行。
🖥️ VM · 字节码模拟
16
angr与IDA Pro联动:从IDA导出CFG、导入angr分析。
🔌 IDA Pro · CFG联动
17
angr与Ghidra联动:利用Ghidra脚本生成angr入口点。
🐉 Ghidra · 入口脚本
18
angr与Unicorn引擎结合:混合符号执行与具体执行。
🦄 Unicorn · 混合执行
19
angr与Frida结合:动态插桩辅助符号执行。
📡 Frida · 动态插桩
20
angr在CTF中的实战:从简单逆向到复杂密码学题目。
🏁 CTF · 逆向密码学
21
angr在恶意软件分析中的应用:脱壳、解密、提取配置。
🦠 恶意软件 · 脱壳配置
22
angr在固件安全中的应用:分析IoT设备固件、提取密钥。
📟 IoT固件 · 密钥提取
23
angr在区块链安全中的应用:分析智能合约、破解授权。
⛓️ 区块链 · 智能合约
24
angr性能优化:路径剪枝、状态合并、符号化粒度控制。
⚡ 性能 · 剪枝合并
25
angr常见错误与调试:状态爆炸、求解超时、路径丢失。
🐛 调试 · 状态爆炸
26
angr扩展开发:自定义State插件、自定义SolverEngine。
🧩 扩展 · 自定义插件
27
angr与机器学习结合:用ML预测路径、加速符号执行。
🤖 机器学习 · 路径预测
28
angr与SMT求解器深度调优:Z3策略、位向量优化。
🔧 SMT · Z3调优
29
angr在真实世界软件中的挑战:大型二进制、多线程、异常处理。
🌍 真实软件 · 多线程
30
课程总结与未来展望:符号执行的局限性与前沿方向。
🔭 总结 · 前沿方向