resym
v0.4.0 - Recompilable C output, Web Application, Modules, Cross-References


resym是一個允許從PDB文件瀏覽和提取類型的實用程序。
單擊以運行網絡版本?
受PDBripper和PDBEX的啟發。

如果您安裝了生鏽,則可以輕鬆地安裝Resym與cargo :
cargo install --git https://github.com/ergrelet/resym --tag v0.4.0
之後,您可以通過命令行調用從任何地方調用resym和resymc 。
請記住,您需要安裝所需的依賴項才能使resym正確運行。查看用戶文檔以獲取更多詳細信息。
如果要使用GUI版本,只需運行resym可執行文件即可。
也可以使用CLI版本(名為resymc ):
resymc 0.4.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
diff-module Compute diff for a module between two given PDB files
dump Dump type from a given PDB file
dump-all Dump all types from a given PDB file
dump-module Dump module 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
list-modules List modules from a given PDB file
在Ubuntu上,您可能需要安裝: libxcb-shape0-dev , libxcb-xfixes0-dev和libglib2.0-dev 。
git clone https://github.com/ergrelet/resym.git && cd resym
cargo build --release
./target/release/resym
GUI版本可能難以顯示巨大的輸出(> 20 MB)。禁用語法突出顯示(和/或依賴性重建)將有所幫助,但是總體而言,CLI版本在傾倒大量依賴項時更適合。
C ++名稱空間和模板類型目前尚未重建,這意味著C ++類型的重建輸出不一定是可編譯的。
由於如何訪問文件以及wasm32目標的32位限制,Web版本無法處理大於〜2.1 GB的PDB文件。 wasm64 / memory64支持可能會在將來發生變化。
我經常需要以交互式的方式舒適地從1GB+ PDB文件中提取和分析C ++類型,但是我找不到到目前為止為我勾選所有盒子的工具,因此這是我製作該工具的照片。
因此,如果您在同一條船上,此工具可能對您有用。