A tool to decrypt .rpyc files
Project description
rpycdec
A tool for decompiling Ren'py compiled script files (.rpyc and .rpymc).
Features
- Decompile .rpyc and .rpymc files to readable Python code
- Extract RPA archives
- Extract Ren'Py games from Android APK files
- Parse translations from .rpyc and .rpymc files to
tl/{language}/directories - Support for multiple Ren'py versions (7.x, 8.x)
Installation
Install with pip:
pip install rpycdec
Or install from source:
git clone https://github.com/cnfatal/rpycdec.git
cd rpycdec
pip install .
Usage
Command Line Interface
Decompile a single file:
rpycdec decompile script.rpyc
Decompile all files in a directory:
rpycdec decompile /path/to/game/
Extract RPA archive:
rpycdec unrpa archive.rpa
Extract Ren'Py game from Android APK:
rpycdec extract-game game.apk
Extract translations:
rpycdec extract-translate /path/to/game/ -l Chinese
Library Usage
from rpycdec import decompile, extract_rpa
# decompile a file
with open('script.rpyc', 'rb') as input_file, open('script.rpy', 'wb') as output_file:
decompile(input_file, output_file)
# Extract RPA archive
with open('archive.rpa', 'rb') as f:
extract_rpa(f, './extracted/')
Troubleshooting
-
Q: It always raise pickle
import ** \nModuleNotFoundError: No module named '**\*'error.A: It's because the our fake packages("renpy","store") is not contains the object you want to decompile. Please open an issue and tell us the renpy version and the rpyc file you want to decompile. Join our telegram group to get help also be better.
Contributing
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.
Community & Support
- GitHub Issues - Bug reports and feature requests
- Telegram Group - Community discussion and help
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file rpycdec-0.1.11.tar.gz.
File metadata
- Download URL: rpycdec-0.1.11.tar.gz
- Upload date:
- Size: 33.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
848d2e389e12f2a368b65247acc0c1db1ddd96272f92ef6351fe754d2a8d0349
|
|
| MD5 |
17188c46090cb9c7659d8b1bf8774a81
|
|
| BLAKE2b-256 |
63b34ad9ad1fc22adb6420183b33510a9a9a255fdb8b219135d311c650cdd8da
|
Provenance
The following attestation bundles were made for rpycdec-0.1.11.tar.gz:
Publisher:
python-publish.yml on cnfatal/rpycdec
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
rpycdec-0.1.11.tar.gz -
Subject digest:
848d2e389e12f2a368b65247acc0c1db1ddd96272f92ef6351fe754d2a8d0349 - Sigstore transparency entry: 926693815
- Sigstore integration time:
-
Permalink:
cnfatal/rpycdec@f7a8d19335a7ea9f03122726c3c6da971d25a979 -
Branch / Tag:
refs/tags/v0.1.11 - Owner: https://github.com/cnfatal
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@f7a8d19335a7ea9f03122726c3c6da971d25a979 -
Trigger Event:
push
-
Statement type:
File details
Details for the file rpycdec-0.1.11-py3-none-any.whl.
File metadata
- Download URL: rpycdec-0.1.11-py3-none-any.whl
- Upload date:
- Size: 44.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5b635812e9c2f8f2eb81bb3c3aebbc2b598b7b20145329c8515e33401b547bab
|
|
| MD5 |
b4da803b2fe2bbf8b412d4353ea1a15d
|
|
| BLAKE2b-256 |
4cd5cd2186039ae03fb33db4a1055217e19372f2fee497647cf72ac87960e4a8
|
Provenance
The following attestation bundles were made for rpycdec-0.1.11-py3-none-any.whl:
Publisher:
python-publish.yml on cnfatal/rpycdec
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
rpycdec-0.1.11-py3-none-any.whl -
Subject digest:
5b635812e9c2f8f2eb81bb3c3aebbc2b598b7b20145329c8515e33401b547bab - Sigstore transparency entry: 926693844
- Sigstore integration time:
-
Permalink:
cnfatal/rpycdec@f7a8d19335a7ea9f03122726c3c6da971d25a979 -
Branch / Tag:
refs/tags/v0.1.11 - Owner: https://github.com/cnfatal
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@f7a8d19335a7ea9f03122726c3c6da971d25a979 -
Trigger Event:
push
-
Statement type: