

resym PDB 파일에서 유형을 탐색하고 추출 할 수있는 유틸리티입니다.
웹 버전을 실행하려면 클릭 하시겠습니까?
PDBRIPPER 및 PDBEX에서 영감을 얻었습니다.

Rust를 설치 한 경우 cargo 로 Resym을 쉽게 설치할 수 있습니다.
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 버전은 큰 출력 (> 20MB)을 표시하는 데 어려움을 겪을 수 있습니다. 구문 강조 표시 (및/또는 종속성 재구성)를 비활성화하면 도움이되지만 일반적으로 CLI 버전은 많은 양의 종속성을 가진 유형을 덤프 할 때 더 적합합니다.
C ++ 네임 스페이스 및 템플릿 유형은 현재 재구성되지 않으므로 C ++ 유형에 대한 재구성 된 출력을 반드시 컴파일 할 수는 없습니다.
웹 버전은 파일에 액세스하는 방법과 wasm32 대상의 32 비트 제한으로 인해 ~ 2.1GB보다 큰 PDB 파일을 처리 할 수 없습니다. 이것은 wasm64 / memory64 지원으로 향후 변화 될 수 있습니다.
나는 종종 대화식 방식으로 1GB+ PDB 파일에서 편안하게 1GB+ PDB 파일에서 C ++ 유형을 추출하고 분석해야하지만, 지금까지 모든 상자를 선택하는 도구를 찾을 수 없었기 때문에이 도구를 만드는 데 촬영했습니다.
따라서 같은 보트에 있다면이 도구는 어느 정도 사용될 수 있습니다.