angr 自动化逆向 · 30章
📘
风格 · 从入门到独立分析
1
angr初探
符号执行 · 安装与环境配置
➔
2
核心概念
Project · State · SolverEngine · CFG
➔
3
第一个angr脚本
加载二进制 · 入口点 · 基本块
➔
4
符号化输入
BitVector · argc/argv/stdin
➔
5
约束求解入门
add · eval · eval_upto · 可行路径
➔
6
路径探索基础
SimulationManager · explore · find/avoid
➔
7
路径爆炸问题
剪枝 · 优化策略 · veritesting
➔
8
Angr CLI工具
angr-management · 示例 · 调试
➔
9
CFG恢复
CFGFast · CFGEmulated · 函数识别
➔
10
变量恢复与类型推断
重命名 · 类型推断 · 结构体恢复
➔
11
反编译引擎
反编译管线 · 伪代码 · 对比Ghidra/IDA
➔
12
Hook技术
SimProcedure · Hook点 · 自定义Hook
➔
13
系统调用模拟
SimOS · 系统调用模型 · 自定义
➔
14
内存管理
FlatMemory · AbstractMemory · 符号化内存
➔
15
寄存器与栈帧
寄存器符号化 · 栈帧 · 调用约定
➔
16
多路径分析
符号执行树 · 路径优先级 · BFS/DFS
➔
17
漏洞挖掘实战(一)
栈溢出 · 可控返回地址
➔
18
漏洞挖掘实战(二)
格式化字符串 · 符号化参数
➔
19
漏洞挖掘实战(三)
整数/堆溢出 · 约束触发崩溃
➔
20
CTF逆向实战(一)
简单验证 · 符号化求解正确序列
➔
21
CTF逆向实战(二)
控制流平坦化 · angr去混淆
➔
22
CTF逆向实战(三)
反调试/反虚拟机 · Hook反调试
➔
23
自动化补丁生成
符号执行补丁定位 · 补丁合成
➔
24
二进制差异分析
比较两个二进制 · 函数差异
➔
25
固件分析
裸机固件 · 架构基址 · 外设模拟
➔
26
Angr与Z3集成
Z3求解器 · 自定义约束 · 优化
➔
27
Angr与Unicorn集成
动态执行+符号执行 · 混合分析
➔
28
性能调优
并行 · 缓存 · 减少状态爆炸
➔
29
Angr API进阶
事件系统 · 插件 · 自定义Pass
➔
30
独立分析项目
真实世界二进制 · 完整逆向流程
➔