No description
Find a file
2026-02-10 21:43:57 +01:00
src/elgato_decrypter Commit project 2026-02-10 21:43:57 +01:00
LICENSE Commit project 2026-02-10 21:43:57 +01:00
pyproject.toml Commit project 2026-02-10 21:43:57 +01:00
README.md Commit project 2026-02-10 21:43:57 +01:00

Elgato Stream Deck Manifest Decrypter

A command-line tool to decrypt encrypted manifest files (manifest.json) used by the Elgato Stream Deck application. It supports decrypting standalone manifest files as well as in-place decryption of .streamDeckPlugin packages.

Note: This tool requires the StreamDeck.exe binary to be installed on your system, as it dynamically extracts the necessary decryption keys from the application binary at runtime. It does not contain any embedded secrets or proprietary keys.

Features

  • Manifest Decryption: Decrypts individual encrypted manifest.json files.
  • Plugin Decryption: Handles .streamDeckPlugin (ZIP) files, decrypting the internal manifest in-place.
  • Dynamic Key Extraction: Parses the installed StreamDeck.exe to retrieve cryptographic constants, ensuring compatibility across versions.
  • Safe: No hardcoded keys or secrets are distributed with this tool.

Installation

pip install elgato-decrypter

Usage

Decrypt a single manifest file

elgato-decrypter path/to/encrypted/manifest.json [output_file.json]

Decrypt a plugin package (in-place)

elgato-decrypter path/to/plugin.streamDeckPlugin

Specify custom Stream Deck binary path

By default, the tool looks for StreamDeck.exe in C:\Program Files\Elgato\StreamDeck\StreamDeck.exe. If you have it installed elsewhere:

elgato-decrypter path/to/manifest.json --binary "D:\Games\Elgato\StreamDeck.exe"

Technical Details

The encryption scheme uses a combination of:

  • Custom PCG-based XOR stream cipher
  • X25519 Elliptic Curve Diffie-Hellman (ECDH) key exchange
  • HKDF-SHA256 key derivation
  • AES-256-GCM authenticated encryption

For full technical details, see the project documentation.

License

MIT License