re-deobfuscate
Installation
SKILL.md
反混淆(花指令 / 控制流平坦化 / 字符串加密)
何时使用 / 何时不用
- 用:反编译产物出现花指令(反汇编碎片、恒等跳转)、控制流平坦化(if/while 全变 switch 分发)、字符串加密(静态只见密文数组);需要还原算法 / 授权逻辑
- 用:CTF 反混淆题目;脱壳后仍有代码混淆的样本([[re-anti-analysis]] 工作流第 5 步)
- 不用:干净代码(直接 [[re-binary-core]] 分析)
- 不用:只需绕过保护、不关心算法(动态 patch / hook 更省,见 [[re-gdb]] / [[re-frida]])
- 不用:壳层混淆(那是壳的解压逻辑——先脱壳 [[re-unpack-simple]] / [[re-unpack-advanced]])
- 注意:反混淆是迭代过程——还原一层验证一层,先备份原文件
工具准备
反编译产物(还原的工作台)
- [[re-ghidra]]:
apt install ghidra/brew install --cask ghidra(官方 release zip 也可),验证analyzeHeadless -help;或 [[re-ida]] / [[re-radare2]] 的反编译视图。先产出反编译代码,再针对混淆点处理