13 个版本 (破坏性更新)
使用旧的 Rust 2015
0.10.1 | 2024 年 5 月 10 日 |
---|---|
0.10.0 | 2024 年 2 月 7 日 |
0.9.0 | 2021 年 6 月 3 日 |
0.8.0 | 2019 年 8 月 12 日 |
0.6.0 | 2018 年 5 月 22 日 |
#85 in 开发工具
每月下载量 57,562
用于 18 个开源包(直接使用 8 个)
92KB
2K SLoC
msvc-demangler
msvc-demangler 是一个 Rust 的 crate,可以解混淆使用 MSVC 混淆方案的 C++ 符号。这些符号由 Microsoft C++ 编译器(Windows 版本)以及一些其他编译器生成。
示例
use msvc_demangler;
let flags = msvc_demangler::DemangleFlags::llvm();
let result = msvc_demangler::demangle("??_0klass@@QEAAHH@Z", flags).unwrap();
println!("{}", result);
行为
其功能类似于 Windows 上的 undname
和底层的 UnDecorateSymbolName
函数。由于 Microsoft 没有文档化混淆方案,因此这可能不是完全准确的。在不清楚的情况下,实现尝试遵循 LLVM 所做的。
许可
此 msvc-demangler 采用 MIT 和伊利诺伊大学开源许可双重许可。
许可: MIT/NCSA
lib.rs
:
msvc-demangler 是一个 Rust 的 crate,可以解混淆使用 MSVC 混淆方案的 C++ 符号。这些符号由 Microsoft C++ 编译器(Windows 版本)以及一些其他编译器生成。
示例
use msvc_demangler;
let flags = msvc_demangler::DemangleFlags::llvm();
let result = msvc_demangler::demangle("??_0klass@@QEAAHH@Z", flags).unwrap();
println!("{}", result);
行为
其功能类似于 Windows 上的 undname
和底层的 UnDecorateSymbolName
函数。由于 Microsoft 没有文档化混淆方案,因此这可能不是完全准确的。在不清楚的情况下,实现尝试遵循 LLVM 所做的。
许可
此 msvc-demangler 采用 MIT 和伊利诺伊大学开源许可双重许可。
依赖项
~110KB