用途:面向CTF逆向与二进制分析,提供符号执行与约束求解的实战流程,用于恢复密钥、绕过检查、自动化分析。
主要能力:angr核心流程(Project→entry_state/blank_state→SimulationManager→explore→solver.eval)、claripy符号变量与约束、符号stdin/argv/文件输入、函数hook与SimProcedure替换(scanf、printf、strcmp等);Z3约束求解及序列号、XOR、线性方程组、Optimize等模式;Unicorn模拟执行与内存/指令hook,用于脱壳、解密字符串、爆破短密钥;angr路径爆炸管理与Veritesting、DFS、UNICORN混合执行;Qiling用于内核/固件全系统模拟。
必要用法:安装命令保持原样——pip install angr;pip install z3-solver;pip install unicorn;pip install capstone;pip install keystone-engine。典型流程为静态定位成功/失败条件,选择Z3(纯数学)、angr(有控制流的二进制)、Unicorn(模拟特定代码区域),设置符号输入、hook问题函数、探索并求解。
适用场景:CTF逆向题、密钥恢复、校验绕过、脱壳与反混淆、自定义VM字节码分析。
限制:资料未提供具体版本兼容性以外的性能数据、收费信息或平台支持细节;angr易因状态初始化错误或缺少libc hook而失败,路径爆炸、非线性约束超时、Unicorn未处理系统调用等为常见问题,需按手册中的坑位与修复方法处理。