⚡ 符号执行·逆向实战 30章 · 从入门到精通

🎯 友好色系
01
什么是符号执行?对比动态分析 · 核心思想:符号化输入、路径约束求解 · 解决混淆、算法还原难题
02
Angr / Triton / S2E / KLEE 对比 · Angr架构:Project、State、SimEngine · 场景选型
03
Python虚拟环境 · 安装验证 · z3依赖/版本兼容 · 第一个脚本:加载二进制
04
Project详解(加载器/架构) · State(寄存器/内存/符号变量) · SimEngine执行模式
05
Path & PathGroup · claripy.BVS/BVV · 约束求解器solver基本使用
06
从main开始执行 · 探索到指定地址 · 获取目标路径输入 · 破解简单密码验证
07
成因(循环/分支) · 缓解策略:剪枝、符号化合并、状态合并 · 实战控制路径数量
08
Z3原理 · add约束 · satisfiable · eval/eval_upto · 求解复杂数学约束
09
符号化内存访问 · 地址符号化 · 符号指针 · 分析指针混淆代码
10
系统调用符号化 · SimProcedures · 自定义SimProcedure · 模拟文件系统
11
静态/动态链接处理 · LibcSim · 外部函数调用 · 分析依赖标准库的程序
12
ptrace/时间/断点检测 · 符号执行绕过 · Angr反调试策略 · 分析带反调试样本
13
控制流平坦化(OLLVM) · 恢复原始控制流 · 数据混淆还原 · 还原OLLVM算法
14
生成高覆盖率用例 · 探索策略DFS/BFS/覆盖导向 · 自动触发隐藏分支
15
检测缓冲区溢出 · Use-After-Free · 整数溢出 · 发现CrackMe漏洞
16
自动生成ROP链 · ROPgadget集成 · 约束与gadget匹配 · 简单ROP链
17
绕过ASLR · 符号化栈地址 · 计算偏移与基址 · 编写exploit框架
18
固件加载特殊性 · SVD文件支持 · 外设寄存器符号化 · IoT加密算法分析
19
加壳/反分析 · 符号执行脱壳原理 · 分析加壳恶意行为 · 简单加壳样本
20
覆盖率概念 · Angr统计 · 覆盖率指导探索 · 最大化目标函数覆盖率
21
污点分析基础 · 符号执行+污点传播 · Angr污点追踪 · 追踪用户输入到system
22
Concolic原理 · Angr Concolic模式 · 具体/符号切换 · 分析大型程序
23
同时探索多路径 · 路径合并 · 符号化合并Veritesting · 加速分析
24
循环符号化挑战 · 展开与归纳 · Angr循环策略 · 分析复杂循环算法
25
浮点符号化表示 · 约束求解挑战 · Angr浮点支持 · 分析浮点加密算法
26
多线程路径爆炸 · 线程交错符号化 · SimOS支持 · 分析竞态条件
27
并行执行 · 状态合并优化 · Hook减少路径 · 优化慢速脚本
28
自动化分析流水线 · IDA Pro/Ghidra集成 · 自动提取函数参数
29
Google CTF / DefCon Quals · 题目分析→脚本编写 · 获取Flag完整流程
30
勒索软件核心算法还原 · 提取解密密钥 · 真实世界样本分析