DecoyMini 技术交流社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3320|回复: 0

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

[复制链接]

172

主题

34

回帖

30

荣誉

Rank: 9Rank: 9Rank: 9

UID
2
积分
339
精华
1
沃币
2 枚
注册时间
2021-6-24

论坛管理

发表于 2022-5-26 11:15:44 | 显示全部楼层 |阅读模式

resym 是一个可从 PDB 文件中查看其中的 C 和 C++ 声明的实用程序。此项目的灵感来源于 PDBRipperpdbex

特性



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

一些限制


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

为何不选择其他的 PDB Dumper


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

如何构建


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

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

  3. $ git clone https://github.com/ergrelet/resym.git
  4. $ cd resym; cargo build --release
  5. $ ./target/release/resym
复制代码

如何使用


如果你想使用 GUI 版本,可简单运行 resym 可执行程序,CLI 版本 (resymc) 也是可用

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

  3. USAGE:
  4.     resymc.exe <SUBCOMMAND>

  5. FLAGS:
  6.     -h, --help       Prints help information
  7.     -V, --version    Prints version information

  8. SUBCOMMANDS:
  9.     diff    Compute diff for a type between two given PDB files
  10.     dump    Dump type from a given PDB file
  11.     help    Prints this message or the help of the given subcommand(s)
  12.     list    List types from a given PDB file
复制代码



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|小黑屋|DecoyMini 技术交流社区 ( 京ICP备2021005070号 )

GMT+8, 2024-4-29 17:01 , Processed in 0.059465 second(s), 26 queries .

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表