# gdretools/gdsdecomp

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/gdretools-gdsdecomp).**

2,942 stars · 238 forks · C++ · mit

## Links

- GitHub: https://github.com/GDRETools/gdsdecomp
- awesome-repositories: https://awesome-repositories.com/repository/gdretools-gdsdecomp.md

## Description

gdsdecomp is a project recovery suite and game engine reverse engineering toolset. It functions as a bytecode decompiler, binary resource converter, and asset extraction tool designed to reconstruct original directory hierarchies and scripts from compiled binary game assets.

The toolset specializes in GDScript bytecode decompilation and compilation, translating compiled bytecode back into human-readable source code or converting source code into executable bytecode for specific engine versions and commit hashes. It includes a game archive patcher to modify project archives by replacing internal files and re-embedding them into executables.

Broad capabilities cover project archive management, including the extraction of encrypted containers using symmetric key decryption and the conversion of proprietary binary assets into editable text formats. The suite also provides automated batch decompilation and static plugin caching to accelerate the recovery of source code from binary files.

## Tags

### Game Development

- [Reverse Engineering Tools](https://awesome-repositories.com/f/game-development/game-engine-utilities/reverse-engineering-tools.md) — Provides a comprehensive suite for reverse engineering game engines by recovering source code and project structures from binaries.
- [Game Asset Extraction](https://awesome-repositories.com/f/game-development/game-asset-extraction.md) — Extracts and decomposes assets and encrypted containers from compiled game data files and binary bundles.
- [Archive Patching Tools](https://awesome-repositories.com/f/game-development/game-engines-frameworks/game-engines/modding-toolkits/archive-patching-tools.md) — Implements a game archive patcher to modify project bundles by replacing internal files and re-embedding them into executables.
- [Game Script Recovery](https://awesome-repositories.com/f/game-development/game-script-recovery.md) — Extracts and reconstructs original source code from compiled binaries located within project files. ([source](https://github.com/GDRETools/gdsdecomp/blob/master/register_types.cpp))
- [Project Archive Managers](https://awesome-repositories.com/f/game-development/project-archive-managers.md) — Manages project archives through extraction of encrypted containers and modification of bundled project files.

### Programming Languages & Runtimes

- [Decompilers](https://awesome-repositories.com/f/programming-languages-runtimes/compiler-interpreter-internals/compiler-infrastructure/intermediate-representations/bytecode/decompilers.md) — Translates compiled game engine bytecode back into human-readable source code using version-specific rules.
- [Asset Format Converters](https://awesome-repositories.com/f/programming-languages-runtimes/binary-to-text-encodings/asset-format-converters.md) — Transforms proprietary binary asset formats into editable text for manual modification and reconstruction.
- [Bytecode Compilation](https://awesome-repositories.com/f/programming-languages-runtimes/bytecode-compilation.md) — Transforms source code into engine-specific executable bytecode targeting particular versions or commit hashes.
- [Source-to-Bytecode Compilers](https://awesome-repositories.com/f/programming-languages-runtimes/bytecode-compiled-languages/source-to-bytecode-compilers.md) — Translates high-level source code into executable bytecode for specific engine versions. ([source](https://github.com/GDRETools/gdsdecomp/blob/master/README.md))

### Part of an Awesome List

- [Bytecode Decompilers](https://awesome-repositories.com/f/awesome-lists/devtools/bytecode-analysis-tools/bytecode-decompilers.md) — Converts compiled bytecode files back into human-readable source code for various engine versions. ([source](https://github.com/GDRETools/gdsdecomp/blob/master/README.md))

### Data & Databases

- [Format Converters](https://awesome-repositories.com/f/data-databases/data-serialization-formats/data-formats/json/format-converters.md) — Translates binary resources into editable text formats and back to facilitate manual editing of assets. ([source](https://github.com/GDRETools/gdsdecomp#readme))
- [Archive Patchers](https://awesome-repositories.com/f/data-databases/file-asset-management/game-archive-browsers/archive-browsers/archive-patchers.md) — Modifies project archives by replacing internal files and re-embedding the modified archive back into the executable.
- [Project Structure Recoverers](https://awesome-repositories.com/f/data-databases/file-asset-management/visual-asset-extractors/game-resource-recoverers/project-structure-recoverers.md) — Reconstructs original directory hierarchies and scripts from compiled binary game assets to recover the full project.
- [Metadata-Driven Directory Mapping](https://awesome-repositories.com/f/data-databases/metadata-driven-directory-mapping.md) — Restores original directory hierarchies by correlating decompiled scripts with extracted binary resource metadata.

### Software Engineering & Architecture

- [Decompiled Project Reconstructions](https://awesome-repositories.com/f/software-engineering-architecture/source-file-organization/source-export-utilities/decompiled-project-reconstructions.md) — Reconstructs structured project formats from decompiled binary data to restore original development environments.

### Content Management & Publishing

- [Archive Extraction](https://awesome-repositories.com/f/content-management-publishing/content-archiving/web-content-archivers/session-data-archivers/remote-archive-extraction/archive-extraction.md) — Reads and writes project archive files to access or bundle individual game assets. ([source](https://github.com/GDRETools/gdsdecomp#readme))

### Operating Systems & Systems Programming

- [File Archiving](https://awesome-repositories.com/f/operating-systems-systems-programming/file-archiving.md) — Bundles project directories into single archive files using specific version targets and encryption. ([source](https://github.com/GDRETools/gdsdecomp/blob/master/README.md))
- [Archive File Insertion](https://awesome-repositories.com/f/operating-systems-systems-programming/file-archiving/archive-file-insertion.md) — Modifies existing game archives by replacing internal files and re-embedding them into executables.

### Security & Cryptography

- [Archive Encryption](https://awesome-repositories.com/f/security-cryptography/credential-encryption/decryption-utilities/archive-encryption.md) — Extracts files from encrypted archive or executable containers using symmetric decryption keys. ([source](https://github.com/GDRETools/gdsdecomp/blob/master/README.md))
- [Binary Resource Extractors](https://awesome-repositories.com/f/security-cryptography/local-data-storage/binary-blob-storage/binary-blob-extraction/binary-resource-extractors.md) — Transforms proprietary binary asset formats into editable text representations and back again for manual modification.
- [Symmetric Encryption](https://awesome-repositories.com/f/security-cryptography/symmetric-encryption.md) — Uses shared secret keys to unpack and decrypt encrypted binary project containers.
