吉沃运营专员 发表于 2022-5-26 11:15:44

一款可查看和提取 C 和 C++ 声明的跨平台工具 —— resym

项目地址:https://github.com/ergrelet/resym
resym 是一个可从 PDB 文件中查看其中的 C 和 C++ 声明的实用程序。此项目的灵感来源于 PDBRipper 和 pdbex。

特性


[*]可跨平台;
[*]提供 GUI 和 CLI 两个版本;
[*]C 和 C++ 类型重构;
[*]C 和 C++ 类型差异生成 (两个 PDB 之间);
[*]较好性能,即使在体积较大的 PDB 文件上;

一些限制
GUI 版本可能难以显示大量的输出 (>20 MB),禁用语法高亮 (或完全依赖重建) 会有所帮助,但通常 CLI 版本更适合转储具有大量依赖项的类型。

为何不选择其他的 PDB Dumper
我经常需要以交互方式从 1GB 多的 PDB 文件中轻松提取和分析 C++ 类型,但到目前为止我还没有找到一个工具可以满足我的所有要求,所以我才制作此工具。如果你和我一样,这个工具可能对你有用。

如何构建
在 Ubuntu 上,需要安装这两个库:libxcb-shape0-dev 和 libxcb-xfixes0-dev

# Optional: install rust
$ curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

$ git clone https://github.com/ergrelet/resym.git
$ cd resym; cargo build --release
$ ./target/release/resym
如何使用
如果你想使用 GUI 版本,可简单运行 resym 可执行程序,CLI 版本 (resymc) 也是可用

resymc 0.2.0
resymc is a utility that allows browsing and extracting types from PDB files.

USAGE:
    resymc.exe <SUBCOMMAND>

FLAGS:
    -h, --help       Prints help information
    -V, --version    Prints version information

SUBCOMMANDS:
    diff    Compute diff for a type between two given PDB files
    dump    Dump type from a given PDB file
    help    Prints this message or the help of the given subcommand(s)
    list    List types from a given PDB file



页: [1]
查看完整版本: 一款可查看和提取 C 和 C++ 声明的跨平台工具 —— resym