Skip to content

100apps/pdg_decoder

Repository files navigation

PDG Decoder

Single-file pure Python PDG decoder/copier CLI.

Background

PDG decoding can be achieved through two approaches: a DLL-based implementation and a pure Python implementation. The DLL approach is limited to Windows environments, which motivated the development of a cross-platform pure Python version.

Previously, reverse-engineering the DLL using IDA Pro and manually porting it to Python was prohibitively time-consuming, causing the project to stall. With recent advances in AI-assisted reverse engineering, we leveraged ida-pro-mcp to automatically disassemble and translate the DLL logic into pure Python.

The current pure Python implementation is functional but not yet feature-complete. Some PDG files that decode successfully with the DLL may not fully decode with the Python version. Further optimization and refinement are ongoing.

Installation

This project uses uv for dependency management.

Setup

# Install dependencies and create virtual environment
uv sync

# Or install in development mode
uv pip install -e .

Usage

# Using uv run
uv run pdg_decoder.py <input_path> [-o OUTPUT_DIR] [-r] [-j JOBS] [--overwrite] [--fail-fast]

# Or activate the virtual environment
source .venv/bin/activate  # On Windows: .venv\Scripts\activate
python pdg_decoder.py <input_path> [options]

Development

# Sync dependencies
uv sync

# Run the script
uv run python pdg_decoder.py <input_path>

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages