Skip to main content

Java Archive Decompiler

Project description

JADecomp

JADecomp (Java Archive Decompiler) is a zero dependency Python tool for stripping apart .jar and .class files. It's built for speed and works entirely without a Java Runtime (JRE). If you need to peek inside a JAR without setting up a full Java environment, this is for you.

Why use this?

Most Java decompilers are written in Java, which means you need a JRE just to run the tool. JADecomp is pure Python. It parses the JVM binary format directly and reconstructs the class structure and method bytecode.

Installation

You can install JADecomp directly from PyPI:

pip install JADecomp

How to use it

The main command is jad. It handles single files or entire directories.

Decompile a single JAR

jad appserve.jar

This creates an appserve_decompiled folder with the source.

Bulk decompile a directory

If you have a folder full of Java libraries or legacy archives:

jad "C:\path\to\java\libs"

It will recursively find every .jar and .class file and decompile them into one output tree.

Custom output folder

jad appserve.jar -o ./out

How it works (The Tech)

JADecomp uses a custom native engine (engine.py) to map out the constant pool, fields, and methods of a class file.

Instead of just giving you empty method bodies, it disassembles the JVM bytecode into human readable opcodes (like invokevirtual, getstatic, ldc). This gives you a low level view of what the code is doing without needing the original source.

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

jadecomp-0.1.0.tar.gz (6.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

jadecomp-0.1.0-py3-none-any.whl (7.0 kB view details)

Uploaded Python 3

File details

Details for the file jadecomp-0.1.0.tar.gz.

File metadata

  • Download URL: jadecomp-0.1.0.tar.gz
  • Upload date:
  • Size: 6.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.10

File hashes

Hashes for jadecomp-0.1.0.tar.gz
Algorithm Hash digest
SHA256 8983667b90d531eb2d5ae526e58d33fa9eca56d3198c98d82f6032ed69613bd4
MD5 c44a0d2dbc03e24d84fb205a3313024f
BLAKE2b-256 b90167a0d4b9d3f0eac17627618603c118f3d2b0e3102692dc581c7afe8cd1a8

See more details on using hashes here.

File details

Details for the file jadecomp-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: jadecomp-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 7.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.10

File hashes

Hashes for jadecomp-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f3325b49d454cc50b057ff76205f914adeab6535123c65abd755c72186a08568
MD5 e35553972e285f2756bc5eab8b686599
BLAKE2b-256 0e3424d7dd402311703cbe3718eb321f1a8269ab01097ecf06bc691de9e89de1

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page