exe2jar
Recover .jar files and launcher metadata from Java application .exe files.
exe2jar unpacks Jar2Exe and install4j/exe4j Windows launchers into usable
.jar files and restore metadata.
Features
.exe Type |
Restore | Rebuild |
|---|---|---|
| Jar2Exe | ✅ | ✅ |
| install4j/exe4j | ✅ | ❓ |
| launch4j | ❓ | ❓ |
- Restore: unpack the
.exeinto.jarfiles and launcher information. - Rebuild: create a new
.exefrom an existing.exeand a replacement.jar.
Usage
Install from PyPI:
pip install exe2jar
Inspect an .exe:
$ exe2jar inspect game.exe
path: game.exe
format: Jar2Exe
size: 7,896,046
config: offset=0x76ea00 size=117
tail_loader: offset=0x76ea89 size=102,757 digest=fc92cddf7ff10154eb3bf5f5aa8a538b
rc_data: offset=0x7d828 size=7,277,729 mode=l3
serial: 000102757t2845x
mainclass: com.riot.main.Main
jre_order: bcsie
jre: ./bin/
libs: bin/lib/libs
app_jar: size=3,412,924 entries=1,901
Restore .jar files:
$ exe2jar restore game.exe
[restore] mode=l3 entries=1901
[restore] L3 AES entry decrypt: 1900
[restore] classes: 1841
[restore] protected classes (J2EMAP): 57
[restore] resources: 2
[restore] restored jar: game_restored/app.jar
[restore] map: game_restored/restore-map.json
$ ls game_restored
app.jar
jar2exe-config.json
restore-map.json
Restore outputs:
app.jar: the recovered application jar.jar2exe-config.json: the parsed Jar2Exe launcher configuration.restore-map.json: class and resource name recovery metadata.
Rebuild a Jar2Exe .exe with a replacement .jar:
$ exe2jar rebuild game.exe game_restored/app.jar -o game_mod.exe
[build] repacked app.jar entries to Jar2Exe hash names: 1,901
[build] prepared app.jar: 3,411,574 bytes
[build] encrypted jar: 3,411,574 bytes (mode=l3)
[build] digest: 2cf193e28fc3f9dd70760d60d3ba941d
[build] output: game_mod.exe (4,029,934 bytes)
$ ls game_mod.exe
game_mod.exe
Development
uv sync --group dev
uv run python -m unittest discover -s tests
uv build --no-sources
Disclaimer
exe2jar is intended for research and authorized analysis only. Do not use it
to violate software licenses, bypass access controls, or redistribute
proprietary application files without permission. You are responsible for
complying with applicable laws and license terms.
License
MIT
Metadata
Release files for exe2jar 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| exe2jar-0.1.0.tar.gz | 25.8 kB | With provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| exe2jar-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 55.4 kB
Release files / exe2jar-0.1.0.tar.gz
| Download URL | exe2jar-0.1.0.tar.gz |
|---|---|
| Size | 25.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
8edab95db610f1b0ac61455f42c5a74b6d71f67a9b2d894c36c82a1ad7ad5997
|
|
BLAKE2b-256 checksum How to use checksums |
12629f0d6d2416e1ff916f9b8d51cefce236301462ef5e50a2fbde15cee50231
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 9, 2026.
Transparency logRelease files / exe2jar-0.1.0-py3-none-any.whl
| Download URL | exe2jar-0.1.0-py3-none-any.whl |
|---|---|
| Size | 29.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
3c2ad0a9594cbd00f5a0fd19505ac51fa0e72ced8930d8a283fe6a16755d2a40
|
|
BLAKE2b-256 checksum How to use checksums |
680303e54830d180e7eabaaa58ddeb46be69fd6ad9f18a100dc7a95ed4b813e8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 9, 2026.
Transparency logSecurity for exe2jar 0.1.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for exe2jar-0.1.0.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 9, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.