Giter Club home page Giter Club logo

jd-core-java's Introduction

JD-Core-java

JD-Core-java is a thin-wrapper for the Java Decompiler.

This is hack around the IntelliJ IDE plugin. It fakes the interfaces of the IDE, and provides access to JD-Core.

Since the Author of JD-Core is not willing to provide a library, and we all want to batch decompilation, this is pretty much our only option.

I hope this will motivate the author to release a proper library.

Supported Platforms

JD supports:

  • Linux 32/64-bit
  • Windows 32/64-bit
  • Mac OSX 32/64-bit on x86 hardware

Build

Clone the repository and run ./gradlew assemble. This will download the necessary native libraries from the JD Intellij repository on Bitbucket, compile the wrapper code, and generate a jar file containing both in the build/libs directory.

This is a self-contained jar that you may include in your own Java project, or alternatively you may run it from the command line.

Usage

Programmatically:

/* Returns the source of SomeClass from compiled.jar as a String */
new jd.core.Decompiler().decompileClass("compiled.jar", "com/namespace/SomeClass.class");

/*
 * Returns the sources of all the classes in compiled.jar as a Map<String, String>
 * where the key is the class name (full path) and the value is the source
 */
new jd.core.Decompiler().decompile("compiled.jar");

/*
 * Returns the number of classes decompiled and saved into out_dir
 */
new jd.core.Decompiler().decompileToDir("compiled.jar", "out_dir");

From the command line:

# Outputs all the sources of compiled.jar into out_dir
java -jar jd-core-java-1.2.jar [options] <compiled.jar> [<destination>]
Options:
    -z - save sources into a zip file
    -n - add line numbers into sources; (false by default)
    -r - not realign line numbers (true by default)

Contributors

Leslie Hoare wrote the cross platform and self contrained jar code.

License

JD-Core-java is released under the GPLv3 License.

JD-Core, JD-GUI & JD-Eclipse are open source projects released under the GPLv3 License.

jd-core-java's People

Contributors

nviennot avatar lesleh avatar artemk avatar daboross avatar jakubd avatar thorikawa avatar teesquared avatar gulitch avatar kolipass avatar oleg-malakhov avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.