115 个稳定版本 (11 个主要版本)
12.10.0 | 2024年7月24日 |
---|---|
12.8.0 | 2023年12月1日 |
12.7.1 | 2023年11月29日 |
12.3.0 | 2023年7月19日 |
1.1.5 | 2017年12月2日 |
#30 在 调试 中
每月473,645次下载
在 209 个代码包 中使用(12个直接使用)
605KB
15K SLoC
symbolic-demangle
支持各种语言和编译器的解混淆。
目前支持的语言有
- C++(GCC样式编译器和MSVC)
- Rust(旧版和v0版本)
- Swift(至Swift 5.2)
- ObjC(仅符号检测)
由于不同语言的解混淆方案不同,支持的解混淆功能不一致。例如,在旧版Rust的混淆中,参数类型未被编码,因此在解混淆名称中不可用。
此模块是 symbolic
代码包的一部分,可以通过 demangle
功能启用。
示例
use symbolic::common::{Language, Name};
use symbolic::demangle::{Demangle, DemangleOptions};
let name = Name::new("__ZN3std2io4Read11read_to_end17hb85a0f6802e14499E");
assert_eq!(name.detect_language(), Language::Rust);
assert_eq!(name.try_demangle(DemangleOptions::default()), "std::io::Read::read_to_end");
许可证:MIT
依赖项
~360–600KB
~11K SLoC