Ad

pdbex: PDB to C Header Converter

pdbex reconstructs structures and unions from PDB files into compilable C headers. It enables reverse engineering of Windows internals by extracting structure and union definitions from PDB files.
Screenshot of wbenny/pdbex homepage

pdbex is a command-line utility that extracts structure and union definitions from PDB files and generates corresponding C header files. It addresses the limitation of PDB files, which typically only provide symbol names, member names, types, and offsets. pdbex parses PDB files to infer nested structures and unions, creating a compilable representation suitable for reverse engineering and analysis of Windows binaries. This tool provides a way to create headers for symbols that are not readily available through standard headers.

pdbex offers flexibility in handling nested structures and unions with the -e flag, allowing for control over inlining behavior. It supports dumping all symbols or specific symbols, including references. The tool includes a test suite to verify the accuracy of the generated offsets. It's designed for C-only projects, simplifying the integration into existing C codebases. The tool is actively maintained and is designed for use with Visual Studio 2017.

  • Symbol Extraction: Extracts structures, unions, and their members from PDB files.
  • Inlining Control: Provides options to control the inlining of structures and unions (-e flag).
  • Test Suite: Includes a testing script to validate offset accuracy.
  • Command-line Interface: Offers various command-line options for customization and control.
  • Unnamed Data Types: Handles unnamed structures and unions, allowing control over their representation.
  • Produces C Headers: Outputs compilable C header files representing the PDB data.
  • Microsoft Visual Studio 2017: Designed to work with Visual Studio 2017.

pdbex is a relatively mature project with a history of updates and bug fixes. The project includes a testing suite to verify the generated header files accurately reflect the PDB data. Documentation is available for command-line options and usage. While not actively developed recently, the core functionality appears stable and reliable.

pdbex is beneficial for developers and reverse engineers needing to understand the structure of Windows binaries. It facilitates reverse engineering by automatically generating C header files from PDB files, making it easier to work with Windows internals and create tools for analyzing and interacting with Windows system components. It provides a valuable alternative to manually extracting structure definitions.

Summarize:
Share:
Stars
905
Forks
169
Issues
11
Created
10 years ago
Commit
1 year ago
License
MIT
Archived
No
Updated 16 days ago

Similar Repositories