| name | binary-reverse |
| description | 通用二进制逆向工程技能。覆盖多架构反汇编模式(x86-64/ARM64)、密码学算法识别(AES/RC4/SHA/ChaCha20)、 反分析技术(反调试/反VM/混淆)识别与绕过、Go/Rust/C++/Swift 语言专项逆向、 angr/Qiling/Unicorn/BinDiff 高级工具使用。 当用户请求逆向分析、反编译、理解二进制逻辑、去混淆、分析恶意代码行为时触发。
|
| allowed-tools | Bash, Read, Write, Glob, Grep, WebFetch, WebSearch |
| trust-level | L1 |
Binary Reverse Engineering — 通用二进制逆向工程
跨架构、跨语言的二进制逆向工程专项技能。覆盖反汇编模式识别、密码学算法定位、反分析技术对抗和高级工具链。
Trigger Conditions
- 用户请求理解/分析某个二进制函数或代码片段
- 提供反汇编代码需要解读
- 密码学算法识别和逆向
- 反调试/反混淆需求
- Go/Rust/C++/Swift 等特定语言编译的二进制分析
- 需要使用 angr/Qiling/Unicorn 等高级工具
前置依赖
建议先使用 elf-analyzer 技能完成基础 triage(架构、stripped 状态等)。
Tool Discovery
command -v python3 objdump radare2 r2 gdb \
GoReSym rustfilt c++filt swift-demangle \
angr qiling unicorn 2>/dev/null | sort
python3 -c "import angr" 2>/dev/null && echo "angr: OK"
python3 -c "import qiling" 2>/dev/null && echo "qiling: OK"
Workflow
Step 1: 反汇编模式识别
加载 references/disasm-patterns.md。逐函数匹配:
- x86-64/ARM64 调用约定和函数序言/尾声
- 控制流、数据结构访问、类型恢复规则
- 危险模式检测(栈溢出/格式化字符串征兆)
Step 2: 密码学定位
加载 references/crypto-patterns.md。搜索:
- AES S-Box / SHA-256 常量 / CRC32 表 / Base64 字母表
- 高熵区域 → 可能加密/压缩 → 动态验证
Step 3: 反分析绕过
加载 references/anti-analysis.md。识别和绕过:
- 反调试 (ptrace/TracerPid/timing/INT3 scan)
- 反 VM (CPUID/MAC/filesystem)
- 反反汇编 (不透明谓词/控制流平坦化/垃圾字节)
Step 4: 语言专项分析
加载 references/language-specific-re.md。根据识别到的语言应用:
- Go → GoReSym + pclntab 分析
- Rust → Result/Option 类型重建 + unsafe 块定位
- C++ → vtable 重建 + RTTI 恢复
- Swift → name demangling + protocol witness table
Step 5: 高级工具
加载 references/advanced-tools.md。当常规工具不足时:
- angr: 符号执行自动探索
- Qiling: 跨平台模拟和内存 dump
- BinDiff/Diaphora: 补丁分析/变种比较
- rr: 可逆调试 (race condition/不确定 bug)
Reference Loading Guide
| 场景 | 加载的 Reference 文件 |
|---|
| 反汇编代码解读 | references/disasm-patterns.md |
| 密码学算法定位 | references/crypto-patterns.md |
| 反分析/反调试 | references/anti-analysis.md |
| Go/Rust/C++/Swift 逆向 | references/language-specific-re.md |
| angr/Qiling/Unicorn | references/advanced-tools.md |
Adjacent Skills
| 技能 | 何时使用 |
|---|
elf-analyzer | 需要先做 ELF triage,获取架构和安全特征 |
linux-pwn | 漏洞已识别,需要开发 exploit |
Token Budget
- 冗长反汇编输出写入文件,用 rg 检索
- 模式匹配结果只报告命中位置,不粘贴原始字节
- 两击失败即转向: 同一个反混淆路径两次失败后切换工具或方法