re-whitebox
Installation
SKILL.md
白盒加密分析
何时使用 / 何时不用
- 用:加密实现"看不到密钥"——无标准库 API、密钥不在文件/内存/资源里显式存在(密钥被藏进实现本身)
- 用:反编译看到大段只读查找表(几百 KB 起)+ 函数体几乎全是查表逻辑,没有标准算法结构(无 Crypt* 调用、无标准 S-box 常量、无 OpenSSL 符号)
- 用:DRM/许可证/App 内加密、固件授权校验里怀疑白盒实现(Chow 类白盒 AES、白盒 SM4 等)
- 不用:普通加密实现(走 [[re-crypto-id]] → [[re-crypto-keys]] → [[re-crypto-decrypt]] 常规链路)
- 不用:算法与密钥都已知(直接解密)
- 前置检查:加壳/混淆样本先脱壳去混淆([[re-anti-analysis]]),白盒表与代码被壳层污染时无法分析
工具准备
静态为主(免沙箱);涉及"表加密运行时解密"时需动态取表(默认沙箱,[[re-analyze/platform-tips]] 最高原则)。所有工具先验证再使用。
python3 —— 表提取与密钥推导脚本
- 安装与验证见 [[re-proto-rev]] 工具准备(python3);大表处理建议 numpy(
pip install numpy)