re-rust
Installation
SKILL.md
Rust 二进制逆向(符号解译 / monomorphization / 所有权)
何时使用 / 何时不用
- 用:确认是 Rust 编译的二进制(符号带
_ZN/_RNv前缀)后,demangle 还原符号;识别泛型实例化(monomorphization)产生的重复代码;通过所有权/析构(drop)模式理解对象生命周期;分析 async/await 状态机与 tokio/serde 等库模式 - 用:恶意 Rust 样本([[re-malware]] 静态还原——Rust 重写的木马/勒索增多)
- 不用:非 Rust 原生程序(C/C++/Go 直接 [[re-binary-core]];Go 走 [[re-go]])
- 不用:确认带壳先走 [[re-anti-analysis]](Rust 二进制普遍无壳,但体积大)
- 注意:动态步骤默认沙箱([[re-analyze/platform-tips]] 最高原则);静态优先(大型样本原则)
工具准备
参考 [[re-analyze/platform-tips]]——反编译/符号为静态步骤,免沙箱;Rust 二进制通常 1-10MB+,静态定位先行。