Giter Club home page Giter Club logo

jd-cli's Introduction

jd-cli - Command line Java Decompiler

The jd-cli is a simple command line wrapper around JD Core Java Decompiler project.

Download

Find latest bits in GitHub Releases.

Requirements

Java runtime is required in version 8 or newer (for version 1.0.0 and newer) and Java 6 for older versions.

Usage

Command line

You can use the jd-cli.bat (Windows) or jd-cli (Linux/Unix) scripts to run the the JAR file.

Usage: java -jar jd-cli.jar [options] [Files to decompile]
  Options:
    --displayLineNumbers, -n
       displays line numbers in decompiled classes
       Default: false
    --escapeUnicodeCharacters, -eu
       escape unicode characters in decompiled classes
       Default: false
    --help, -h
       shows this help
       Default: false
    --logLevel, -g
       takes [level] as parameter and sets it as the CLI log level. Possible
       values are: ALL, TRACE, DEBUG, INFO, WARN, ERROR, OFF
       Default: INFO
    --outputConsole, -oc
       enables output to system output stream
       Default: false
    --outputDir, -od
       takes a [directoryPath] as a parameter and configures a flat DIR output
       for this path
    --outputDirStructured, -ods
       takes a [directoryPath] as a parameter and configures a structured DIR
       output for this path
    --outputZipFile, -oz
       takes a [zipFilePath] as a parameter and configures ZIP output for this
       path
    --pattern, -p
       RegExp pattern which the to-be-decompiled file has to match. Not matching
       entries are skipped.
    --serialProcessing, -sp
       don't use parallel processing
       Default: false
    --skipResources, -sr
       skips processing resources
       Default: false
    --version, -v
       shows the version
       Default: false

Docker

You can use a Docker distribution to decompile your classes.

For instance, the following command decompiles the file-to-decompile.jar in the current directory and the decompiled files are stored in the decompiled-src directory.

docker run -it --rm -v `pwd`:/mnt --user $(id -u):$(id -g) \
  kwart/jd-cli /mnt/file-to-decompile.jar -od /mnt/deccompiled-src

Using as a Maven dependency

<dependency>
    <groupId>com.github.kwart.jd</groupId>
    <artifactId>jd-lib</artifactId>
    <version>${jd-cli.version}</version>
</dependency>
<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-simple</artifactId>
    <version>${slf4j.version}</version>
</dependency>
public static void main(String[] args) {
    JDInput input = new ZipFileInput("/opt/hazelcast/hazelcast.jar");
    JDOutput output = new DirOutput(new File("/tmp/hz-src"));
    JavaDecompiler decompiler = new JavaDecompiler(new DecompilerOptions() {

        @Override
        public boolean isSkipResources() {
            return true;
        }

        @Override
        public boolean isEscapeUnicodeCharacters() {
            return false;
        }

        @Override
        public boolean isDisplayLineNumbers() {
            return true;
        }

        @Override
        public boolean isParallelProcessingAllowed() {
            return true;
        }
    });
    input.decompile(decompiler, output);
}

Credits

This project was originally forked from JDCommandLine.

License

  • jd-cli is licensed under GPLv3 as the original JD-Core library.

jd-cli's People

Contributors

betterphp avatar dependabot[bot] avatar hotelbrigade avatar ildar-shaimordanov avatar kwart avatar nviennot avatar tabalt avatar tillerino avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

jd-cli's Issues

"Hang" problem not solved

The bug mentioned in this issue #17 is not completely solved yet.
jd-cli still hangs when analyzing the following jar file:

https://ufile.io/jqsf8ze9

The last outputs are:

16:41:06.622 WARN  com.github.kwart.jd.output.DirOutput - Class name or java source is null
16:41:06.809 ERROR com.github.kwart.jd.JavaDecompiler - Can't decompile com/ss/android/message/a/f.class
java.lang.NullPointerException: null
16:41:06.809 WARN  com.github.kwart.jd.output.DirOutput - Class name or java source is null
16:41:07.066 ERROR com.github.kwart.jd.JavaDecompiler - Can't decompile com/ss/android/socialbase/appdownloader/c.class
java.lang.NullPointerException: null
16:41:07.066 WARN  com.github.kwart.jd.output.DirOutput - Class name or java source is null
16:41:07.531 ERROR com.github.kwart.jd.JavaDecompiler - Can't decompile com/ss/android/videoshop/layer/gesture/a.class
java.lang.NullPointerException: null
16:41:07.532 WARN  com.github.kwart.jd.output.DirOutput - Class name or java source is null

Allow users to output specific files from jar

This is a feature request to add a command line option to allow users to output only certain decompiled files from a jar rather than the decompiled source of the whole jar. This would be helpful when users only want the contents of a specific file. Potentially, the command line argument could take a pattern so that the user does not need to specify the full path (perhaps this should be separated out into another argument though).

Example usage:

jd-cli --pattern RenderKitBridgeImpl.class ~/.m2/repository/com/liferay/faces/com.
liferay.faces.bridge.impl/4.0.0/com.liferay.faces.bridge.impl-4.0.0.jar -oc

Example output:

package com.liferay.faces.bridge.renderkit.html_basic.internal;

import com.liferay.faces.bridge.renderkit.bridge.internal.ResponseWriterBridgeImpl;
import com.liferay.faces.bridge.renderkit.icefaces.internal.HeadRendererICEfacesImpl;
import com.liferay.faces.bridge.renderkit.primefaces.internal.FileUploadRendererPrimeFacesImpl;
import com.liferay.faces.bridge.renderkit.primefaces.internal.FormRendererPrimeFacesImpl;
import com.liferay.faces.bridge.renderkit.primefaces.internal.HeadRendererPrimeFacesImpl;
import com.liferay.faces.bridge.renderkit.richfaces.internal.FileUploadRendererRichFacesImpl;
import com.liferay.faces.util.product.Product;
import com.liferay.faces.util.product.Product.Name;
import com.liferay.faces.util.product.ProductFactory;
import java.io.Writer;
import javax.faces.context.ResponseWriter;
import javax.faces.render.RenderKit;
import javax.faces.render.RenderKitWrapper;
import javax.faces.render.Renderer;

public class RenderKitBridgeImpl
  extends RenderKitWrapper
{

Snipped for brevity.

Missing inner classes

I have written a little demo class:

  package pkg;

  public class MyClass {

    public static void main(String[] args) {
      new InnerClass().hello();
    }

    private static class InnerClass {

      public void hello() {
        System.out.println("Hello");
      }
    }
  }

The resulting jar contains the following content:

  # unzip -l jd-test-0.0.1-SNAPSHOT.jar
  Archive:  jd-test-0.0.1-SNAPSHOT.jar
    Length      Date    Time    Name
  ---------  ---------- -----   ----
         0  2019-11-21 17:01   META-INF/
       133  2019-11-21 17:01   META-INF/MANIFEST.MF
          0  2019-11-21 17:01   pkg/
        177  2019-11-21 17:01   pkg/MyClass$1.class
       703  2019-11-21 17:01   pkg/MyClass$InnerClass.class
       535  2019-11-21 17:01   pkg/MyClass.class
          0  2019-11-21 17:01   META-INF/maven/
          0  2019-11-21 17:01   META-INF/maven/jd-test/
         0  2019-11-21 17:01   META-INF/maven/jd-test/jd-test/
        381  2019-11-21 16:58   META-INF/maven/jd-test/jd-test/pom.xml
        113  2019-11-21 17:01   META-INF/maven/jd-test/jd-test/pom.properties
  ---------                     -------
       2042                     11 files

The decompilation is done with the following command:

  # java -jar jd-cli.jar --skipResources -n jd-test-0.0.1-SNAPSHOT.jar
  17:05:18.417 INFO  com.github.kwart.jd.cli.Main - Decompiling jd-test-0.0.1-SNAPSHOT.jar
  17:05:18.434 INFO  com.github.kwart.jd.output.ZipOutput - ZIP file output will be initialized - jd-test-0.0.1-SNAPSHOT.src.jar
  17:05:18.672 INFO  com.github.kwart.jd.output.ZipOutput - Finished with 1 class file(s) and 0 resource file(s) written.

The result is:

  # unzip -l jd-test-0.0.1-SNAPSHOT.src.jar
  Archive:  jd-test-0.0.1-SNAPSHOT.src.jar
    Length      Date    Time    Name
  ---------  ---------- -----   ----
       161  2019-11-21 17:05   pkg/MyClass.java
  ---------                     -------
        161                     1 file

But the decompiled sources does not contain the inner class:

  # unzip -p jd-test-0.0.1-SNAPSHOT.src.jar pkg/MyClass.java
  /*  0 */ package pkg;
  /*  0 */
  /*  0 */ public class MyClass {
  /*  6 */   public static void main(String[] args) { (new InnerClass(null)).hello(); }
  /*  0 */ }

I am using: jd-cli-1.0.0.Final-dist.tar.gz

jd-cli.jar hangs while decompiling a specific jar file

I decompiled a lot of jar files without any problem, but I'm experiencing an issue with a particular jar file.
jd-cli hangs and I can't stop it pressing ctrl+c.

Here is the output:

root@5cbd34cb9c23:/myapp/src/tests/plugins/apk# java -jar /jd-cli/jd-cli.jar ./fcc46ecf7453bfed29e29c66ae5737268e719051-dex2jar.jar -od ./jartemp/
19:56:56.032 INFO  jd.cli.Main - Decompiling ./fcc46ecf7453bfed29e29c66ae5737268e719051-dex2jar.jar
19:56:56.036 INFO  jd.core.output.DirOutput - Directory output will be initialized for path ./jartemp
ConstantPool.addConstantClass: invalid name index
SignatureAnalyzer.AnalyzeMethodSignature: Infinite loop, signature=mystringsLandroid/os/Parcelable;Ljava/util/ArrayList<Landroid/support/v4/app/Fragment;>;)V
19:56:56.800 WARN  jd.core.output.DirOutput - Class name or java source is null
ConstantPool.addConstantClass: invalid name index
ConstantPool.addConstantClass: invalid name index
SignatureAnalyzer.AnalyzeMethodSignature: Infinite loop, signature=mystringsLandroid/widget/AdapterView<*>;Landroid/view/View;IJ)V
19:56:56.845 WARN  jd.core.output.DirOutput - Class name or java source is null
SignatureAnalyzer.AnalyzeMethodSignature: Infinite loop, signature=mystringsLandroid/widget/AdapterView<*>;Landroid/view/View;IJ)V
19:56:56.851 WARN  jd.core.output.DirOutput - Class name or java source is null
^C
^C^C^C^C^C
^C^C^C^C
^Z
[4]+  Stopped                 java -jar /jd-cli/jd-cli.jar ./fcc46ecf7453bfed29e29c66ae5737268e719051-dex2jar.jar -od ./jartemp/

I'm not sure whether the file is a malware or not.
Here are two links for download:
https://ufile.io/rr8nd
https://files.fm/f/amsd4zam

Please let me know if the file get removed and I'll be pleased to upload it again.

Thanks!

jd-cli script does not work on OSX/macOS

Reproduced on macOS Mojave 10.14.6

Steps to reproduce:

  1. Download jd-cli and unzip it.
  2. Add ~/Downloads/jd-cli-1.2.0-dist to your unix PATH.
  3. Navigate to another directory (for example: cd ..).
  4. Attempt to decompile any class or jar:
    jd-cli ~/Test/Main.class

If the bug still exists jd-cli will fail to decompile the class and show the following error:

$ jd-cli ~/Test/Main.class
readlink: illegal option -- e
usage: readlink [-n] [file ...]
Error: Unable to access jarfile /home/me/jd-cli.jar

If the bug is fixed, jd-cli will decompile the class without any error message.

Workarounds/Fixes

In the jd-cli shell script, replace the first line which uses readlink with Dave Dopson's solution from StackOverflow:

DIRNAME="$( cd "$( dirname "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )"

Or if you aren't using bash:

DIRNAME="$( cd "$( dirname "$0" )" &> /dev/null && pwd )"

This workaround might also be the correct fix for this problem unless you need to worry about symbolic links, in which case, you'll need to use one of the more complex solutions from StackOverflow:

jd-cmd or jd-cli?

Hi, I know it's not a big deal, but this is confusing.
The project is called jd-cmd but you call jd-cli jar file at the end.
Can you call jd-cli.{sh|jar| everything?

Throwing StringIndexOutOfBoundsException when passing /dev/stdin as class file

I'm trying to decompile only certain class file from full jar.

For these purposes I'm using linux pipe:

$ unzip -p myjar.jar com/example/App.class | jd-cli /dev/stdin

But unfortunately, jd-cli throws an exception
java.lang.StringIndexOutOfBoundsException: String index out of range: -1
at java.lang.String.substring(String.java:1967) ~[na:1.8.0_151]
at jd.core.input.AbstractFileJDInput.cutClassSuffix(AbstractFileJDInput.java:79) ~[jd-cli.jar:na]
at jd.core.input.ClassFileInput.decompile(ClassFileInput.java:54) ~[jd-cli.jar:na]
at jd.cli.Main.main(Main.java:118) ~[jd-cli.jar:na]

(I suppose, the root cause is that jd-cli wants to discover java class name, simply cutting ".class" suffix, but in case of /dev/stdin it leads to exception)

Also, it would be grateful if jd-cli will support class ingesting from standard input out-of-the-box.

P.S. Thanks for this great tool.

unable to compile with jcommander-1.82

>>> Compiling source in /var/tmp/portage/dev-util/jd-cli-1.2.1/work/jd-cli-jd-cli-1.2.1 ...
javac -source 11 -target 11 -d target/classes -encoding UTF-8 -classpath /usr/share/jcommander/lib/jcommander.jar:/usr/share/slf4j-api/lib/slf4j-api.jar:/usr/share/logback-core/lib/logback-core.jar:/usr/share/logback-classic/lib/logback-classic.jar:/usr/share/jd-lib/lib/jd-lib.jar:/usr/share/janino/lib/commons-compiler.jar:/usr/share/janino/lib/janino.jar:/usr/share/javax-mail/lib/javax-mail.jar:/usr/share/reflections/lib/reflections.jar:/usr/share/resin-servlet-api-3.1/lib/resin-servlet-api.jar:/usr/share/resin-servlet-api-3.1/lib/servlet-api.jar:/usr/share/resin-servlet-api-3.1/lib/jsp-api.jar:/usr/share/jakarta-activation-1/lib/jakarta-activation.jar:/usr/share/dom4j-1/lib/dom4j.jar:/usr/share/gson-2.6/lib/gson.jar:/usr/share/javassist-3/lib/javassist.jar:/usr/share/slf4j-simple/lib/slf4j-simple.jar:/usr/share/jd-core/lib/jd-core.jar:/usr/share/jansi/lib/jansi.jar:/usr/share/jakarta-activation-api-1/lib/jakarta-activation-api.jar:/usr/share/jansi-native/lib/jansi-native.jar:/usr/share/jaxb-api-2/lib/jaxb-api.jar:/usr/share/xpp2/lib/PullParser.jar:/usr/share/xpp2/lib/PullParser-intf.jar:/usr/share/xpp2/lib/PullParser-standard.jar:/usr/share/xpp2/lib/PullParser-x2.jar:/usr/share/xpp3/lib/xpp3.jar:/usr/share/xsdlib/lib/xsdlib.jar:/usr/share/relaxng-datatype/lib/relaxng-datatype.jar:/usr/share/xerces-2/lib/xerces.jar:/usr/share/hawtjni-runtime/lib/hawtjni-runtime.jar:/usr/share/xml-commons-external-1.4/lib/xml-commons-external.jar:/usr/share/xml-commons-resolver/lib/xml-commons-resolver.jar @sources.lst
jd-cli/src/main/java/com/github/kwart/jd/cli/Main.java:19: error: cannot find symbol
import static com.beust.jcommander.JCommander.getConsole;
^
  symbol:   static getConsole
  location: class JCommander
jd-cli/src/main/java/com/github/kwart/jd/cli/Main.java:84: error: cannot find symbol
            getConsole().println(getVersionLine());
            ^
  symbol:   method getConsole()
  location: class Main
jd-cli/src/main/java/com/github/kwart/jd/cli/ExtCommander.java:53: error: method does not override or implement a method from a supertype
    @Override
    ^
jd-cli/src/main/java/com/github/kwart/jd/cli/ExtCommander.java:59: error: method usage in class JCommander cannot be applied to given types;
        super.usage(out, indent);
             ^
  required: no arguments
  found: StringBuilder,String
  reason: actual and formal argument lists differ in length
Note: jd-cli/src/main/java/com/github/kwart/jd/cli/ExtCommander.java uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.

Decompile from stdin

I am trying to decompile a class file from stdin. But it is not supported. Could you add support for taking the input from stdin?

$ java -jar jd-cli.jar /dev/stdin < /tmp/HelloWorld.class
21:04:08.334 INFO  com.github.kwart.jd.cli.Main - Decompiling /dev/stdin
21:04:08.345 ERROR com.github.kwart.jd.JavaDecompiler - Can't decompile /dev/stdin
org.jd.core.v1.service.deserializer.classfile.ClassFileFormatException: Invalid CLASS file
	at org.jd.core.v1.service.deserializer.classfile.ClassFileDeserializer.loadClassFile(ClassFileDeserializer.java:92)
	at org.jd.core.v1.service.deserializer.classfile.ClassFileDeserializer.innerLoadClassFile(ClassFileDeserializer.java:41)
	at org.jd.core.v1.service.deserializer.classfile.ClassFileDeserializer.loadClassFile(ClassFileDeserializer.java:28)
	at org.jd.core.v1.service.deserializer.classfile.DeserializeClassFileProcessor.process(DeserializeClassFileProcessor.java:27)
	at org.jd.core.v1.ClassFileToJavaSourceDecompiler.decompile(ClassFileToJavaSourceDecompiler.java:53)
	at org.jd.core.v1.ClassFileToJavaSourceDecompiler.decompile(ClassFileToJavaSourceDecompiler.java:38)
	at com.github.kwart.jd.JavaDecompiler.decompileClass(JavaDecompiler.java:59)
	at com.github.kwart.jd.input.ClassFileInput.decompile(ClassFileInput.java:63)
	at com.github.kwart.jd.cli.Main.main(Main.java:112)
null

Decompiling *.class leads to losing the package name

I am not so familiar with java to distinguish if the issue has to do with the tool or the JD-CORE. Please review and advice.

C:\Temp>jd-cli -v
jd-cli version 1.1.0.Final - Copyright (C) 2015 Josef Cacek

There is simple example:

package myPackage;

class MyClass {
}

JD-CLI results to (no package):

C:\Temp>jd-cli -g OFF MyClass.class
class MyClass {}

The well-known and old-fashion JAD results to (package name is in place):

C:\Temp>jad -p MyClass.class
// Decompiled by Jad v1.5.8g. Copyright 2001 Pavel Kouznetsov.
// Jad home page: http://www.kpdus.com/jad.html
// Decompiler options: packimports(3)
// Source File Name:   MyClass.java

package myPackage;


class MyClass
{

    MyClass()
    {
    }
}

Missing inner class

Hi.
I'm using the latest release version to decompile rt.jar(normally it is located at $JDK_HOME/jre/lib/rt.jar), which is the official JDK jar. I can not find SimpleImmutableEntry in java.util.AbstractMap.java, which is an inner static class in AbstractMap. The weird thing is that, SimpleImmutableEntry does exist in AbstractMap when I was using JD-GUI and the same rt.jar to check.

new c().m

ang.java:231: ้”™่ฏฏ: ้œ€่ฆ'('ๆˆ–'['
    localObject1 = new lang.17();

Option to output each JAR to a specific folder

Hi,
It would be great to have an option so that :
myJar.jar
myOtherJar.jar
another.jar

would be decompiled in the specified output dir :
./myJar/[myJar decompiled sources]
./myOtherJar/[myOtherJar decompiled sources]
./another/[another decompiled sources]

Instead of having everything mixed in the output folder.

Building command?

Hi, I downloaded this project and cannot find the file jd-cli/target/jd-cli.jar. Could you provide a building command for compiling this jar file? Thank you very much! :)

SIGSEGV jvm error

Using kubuntu latest.

carm@ultima:~/workspace/ocamljava-maven-plugin-root/bootstrap/ocamljava-2.0-alpha1/lib$ java -jar ~/workspace/jd-cmd/jd-cli/target/jd-cli.jar ocamljava.jar
23:49:17.398 INFO jd.cli.Main - Decompiling ocamljava.jar
23:49:17.402 INFO jd.core.output.ZipOutput - ZIP file output will be initialized - ocamljava.src.jar

A fatal error has been detected by the Java Runtime Environment:

SIGSEGV (0xb) at pc=0x00007f8c2fcf80fb, pid=26163, tid=140241174370048

JRE version: Java(TM) SE Runtime Environment (7.0_60-b19) (build 1.7.0_60-b19)

Java VM: Java HotSpot(TM) 64-Bit Server VM (24.60-b09 mixed mode linux-amd64 compressed oops)

Problematic frame:

C [libjd-intellij-tmp3772829641632062216.so+0xcc0fb] StringToValueMap::Put(wxString&, unsigned int)+0x41

Failed to write core dump. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again

An error report file with more information is saved as:

/home/carm/workspace/ocamljava-maven-plugin-root/bootstrap/ocamljava-2.0-alpha1/lib/hs_err_pid26163.log

If you would like to submit a bug report, please visit:

http://bugreport.sun.com/bugreport/crash.jsp

Aborted (core dumped)

Throwing Exception while trying to decompile a jar

I am trying to decompile a jar with the below content

dmanna-m01:target dmanna$ jar -tf hbase-coproc-0.001-SNAPSHOT-jar-with-dependencies.jar
META-INF/MANIFEST.MF
META-INF/
com/
com/vnera/
com/vnera/storage/
com/vnera/storage/hbase/
com/vnera/storage/hbase/coprocessor/
com/vnera/storage/hbase/coprocessor/ArkinDataRetentionCoproc$1.class
com/vnera/storage/hbase/coprocessor/ArkinDataRetentionCoproc$HBaseRetentionInfo.class
com/vnera/storage/hbase/coprocessor/ArkinDataRetentionCoproc$HBaseRetentionInfoList.class
com/vnera/storage/hbase/coprocessor/ArkinDataRetentionCoproc$RetentionData.class
com/vnera/storage/hbase/coprocessor/ArkinDataRetentionCoproc$RetentionInfo.class
com/vnera/storage/hbase/coprocessor/ArkinDataRetentionCoproc$RetentionPolicy.class
com/vnera/storage/hbase/coprocessor/ArkinDataRetentionCoproc$RetentionResolutionData.class
com/vnera/storage/hbase/coprocessor/ArkinDataRetentionCoproc.class
META-INF/maven/com.vnera/hbase-coproc/pom.xml
META-INF/maven/com.vnera/hbase-coproc/pom.properties
META-INF/maven
META-INF/maven/com.vnera
META-INF/maven/com.vnera/hbase-coproc

But it is throwing the below errors

dmanna-m01:jd-cli-0.9.1.Final-dist dmanna$ java -jar jd-cli.jar ~/code/github/vnera/main/storage/hbase-coproc/target/hbase-coproc-0.001-SNAPSHOT-jar-with-dependencies.jar -od /tmp/decom/
14:42:10.430 INFO  jd.cli.Main - Decompiling /Users/dmanna/code/github/vnera/main/storage/hbase-coproc/target/hbase-coproc-0.001-SNAPSHOT-jar-with-dependencies.jar
14:42:10.434 INFO  jd.core.output.DirOutput - Directory output will be initialized for path /tmp/decom
14:42:10.585 WARN  jd.core.output.DirOutput - Class name or java source is null
14:42:10.589 ERROR jd.core.output.DirOutput - Writing resource to file /tmp/decom/META-INF/maven failed.
java.io.FileNotFoundException: /tmp/decom/META-INF/maven (Is a directory)
	at java.io.FileOutputStream.open0(Native Method) ~[na:1.8.0_131]
	at java.io.FileOutputStream.open(FileOutputStream.java:270) ~[na:1.8.0_131]
	at java.io.FileOutputStream.<init>(FileOutputStream.java:213) ~[na:1.8.0_131]
	at java.io.FileOutputStream.<init>(FileOutputStream.java:162) ~[na:1.8.0_131]
	at jd.core.output.DirOutput.processResource(DirOutput.java:114) ~[jd-cli.jar:na]
	at jd.core.output.MultiOutput.processResource(MultiOutput.java:163) [jd-cli.jar:na]
	at jd.core.input.ZipFileInput.decompile(ZipFileInput.java:90) [jd-cli.jar:na]
	at jd.cli.Main.main(Main.java:118) [jd-cli.jar:na]
14:42:10.590 ERROR jd.core.output.DirOutput - Writing resource to file /tmp/decom/META-INF/maven/com.vnera failed.
java.io.FileNotFoundException: /tmp/decom/META-INF/maven/com.vnera (Is a directory)
	at java.io.FileOutputStream.open0(Native Method) ~[na:1.8.0_131]
	at java.io.FileOutputStream.open(FileOutputStream.java:270) ~[na:1.8.0_131]
	at java.io.FileOutputStream.<init>(FileOutputStream.java:213) ~[na:1.8.0_131]
	at java.io.FileOutputStream.<init>(FileOutputStream.java:162) ~[na:1.8.0_131]
	at jd.core.output.DirOutput.processResource(DirOutput.java:114) ~[jd-cli.jar:na]
	at jd.core.output.MultiOutput.processResource(MultiOutput.java:163) [jd-cli.jar:na]
	at jd.core.input.ZipFileInput.decompile(ZipFileInput.java:90) [jd-cli.jar:na]
	at jd.cli.Main.main(Main.java:118) [jd-cli.jar:na]
14:42:10.590 ERROR jd.core.output.DirOutput - Writing resource to file /tmp/decom/META-INF/maven/com.vnera/hbase-coproc failed.
java.io.FileNotFoundException: /tmp/decom/META-INF/maven/com.vnera/hbase-coproc (Is a directory)
	at java.io.FileOutputStream.open0(Native Method) ~[na:1.8.0_131]
	at java.io.FileOutputStream.open(FileOutputStream.java:270) ~[na:1.8.0_131]
	at java.io.FileOutputStream.<init>(FileOutputStream.java:213) ~[na:1.8.0_131]
	at java.io.FileOutputStream.<init>(FileOutputStream.java:162) ~[na:1.8.0_131]
	at jd.core.output.DirOutput.processResource(DirOutput.java:114) ~[jd-cli.jar:na]
	at jd.core.output.MultiOutput.processResource(MultiOutput.java:163) [jd-cli.jar:na]
	at jd.core.input.ZipFileInput.decompile(ZipFileInput.java:90) [jd-cli.jar:na]
	at jd.cli.Main.main(Main.java:118) [jd-cli.jar:na]
14:42:10.590 INFO  jd.core.output.DirOutput - Finished with 7 class file(s) and 3 resource file(s) written.
dmanna-m01:jd-cli-0.9.1.Final-dist dmanna$ jar -tf /code/github/vnera/main/storage/hbase-coproc/target/hbase-coproc-0.001-SNAPSHOT-jar-with-dependencies.jar
java.io.FileNotFoundException: /code/github/vnera/main/storage/hbase-coproc/target/hbase-coproc-0.001-SNAPSHOT-jar-with-dependencies.jar (No such file or directory)
	at java.util.zip.ZipFile.open(Native Method)
	at java.util.zip.ZipFile.<init>(ZipFile.java:219)
	at java.util.zip.ZipFile.<init>(ZipFile.java:149)
	at java.util.zip.ZipFile.<init>(ZipFile.java:120)
	at sun.tools.jar.Main.list(Main.java:1115)
	at sun.tools.jar.Main.run(Main.java:293)
	at sun.tools.jar.Main.main(Main.java:1288)
dmanna-m01:jd-cli-0.9.1.Final-dist dmanna$ ls /tmp/decom/
META-INF com

Environment

  • Mac OS X - 10.12.6
  • Java 8

Does not decompile inner classes

When selecting a folder for decompilation, there's no output for inner classes, e.g MyClass$MyInnerClass.class. Renaming the classes to remove the $ character solves the problem.

Part of the file fails to compile

Hello,

I am writing to ask for help. When I decompile the jar, it fails to decompile some files, and there is a popup, asking me to click โ€œOKโ€ to continue to decompile. How can I remove the popup without influence on the jar? I have to write codes in libjd-intellij.dll file. Please help. Thanks.

Looking forward to your reply.

Thanks in advance!

Support symlinks in the jd-cli wrapper

Consider modifying the startup script (jd-cli) to use this instead:

DIR=$( dirname $( readlink -f ${BASH_SOURCE[0]} ))

Because it works with symlinks.

A new Java_jd_ide_intellij_JavaDecompiler_decompile question

qq20140614155107

A fatal error has been detected by the Java Runtime Environment:

SIGSEGV (0xb) at pc=0x009976e2, pid=6121, tid=3078503280

JRE version: Java(TM) SE Runtime Environment (7.0_55-b13) (build 1.7.0_55-b13)

Java VM: Java HotSpot(TM) Client VM (24.55-b03 mixed mode linux-x86 )

Problematic frame:

C [libjd-intellij-tmp8572950752368288122.so+0xbe6e2] InitStaticFieldsReconstructor::Reconstruct(ClassFile&)+0x192

Failed to write core dump. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again

If you would like to submit a bug report, please visit:

http://bugreport.sun.com/bugreport/crash.jsp

The crash happened outside the Java Virtual Machine in native code.

See problematic frame for where to report the bug.

--------------- T H R E A D ---------------

Current thread (0x08feb400): JavaThread "main" [_thread_in_native, id=6125, stack(0xb7793000,0xb77e4000)]

siginfo:si_signo=SIGSEGV: si_errno=0, si_code=1 (SEGV_MAPERR), si_addr=0x00000004

Registers:
EAX=0x00000000, EBX=0x00ab4478, ECX=0x0963cb10, EDX=0x095d68e8
ESP=0xb77e28e0, EBP=0xb77e2918, ESI=0x00000000, EDI=0xb77e2a0c
EIP=0x009976e2, EFLAGS=0x00210282, CR2=0x00000004

Top of Stack: (sp=0xb77e28e0)
0xb77e28e0: b77e2a34 00000000 095d6c48 0963cad8
0xb77e28f0: b77e2a4c 0963cb10 00000008 0000000e
0xb77e2900: b77e2a4c 09666380 00000011 00ab4478
0xb77e2910: 09666370 09666338 b77e2968 009818a4
0xb77e2920: b77e2a0c 09666338 09666370 09666370
0xb77e2930: 00000010 00000007 00000007 096818ac
0xb77e2940: b77e2a40 00000017 00000017 00000000
0xb77e2950: 00d903c0 00000000 00d903f0 00ab4478

Instructions: (pc=0x009976e2)
0x009976c2: dc 89 7d d4 89 f7 e9 e3 00 00 00 ff 4d e4 56 56
0x009976d2: ff 75 e4 ff 75 dc e8 a3 33 fc ff 89 c6 83 c4 10
0x009976e2: 66 81 78 04 b3 00 0f 85 cc 00 00 00 51 51 ff 70
0x009976f2: 0c ff 75 d8 e8 a5 38 fc ff 0f b7 57 18 83 c4 10

Register to memory mapping:

EAX=0x00000000 is an unknown value
EBX=0x00ab4478: <offset 0x1db478> in /tmp/libjd-intellij-tmp8572950752368288122.so at 0x008d9000
ECX=0x0963cb10 is an unknown value
EDX=0x095d68e8 is an unknown value
ESP=0xb77e28e0 is pointing into the stack for thread: 0x08feb400
EBP=0xb77e2918 is pointing into the stack for thread: 0x08feb400
ESI=0x00000000 is an unknown value
EDI=0xb77e2a0c is pointing into the stack for thread: 0x08feb400

Stack: [0xb7793000,0xb77e4000], sp=0xb77e28e0, free space=318k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
C [libjd-intellij-tmp8572950752368288122.so+0xbe6e2] InitStaticFieldsReconstructor::Reconstruct(ClassFile&)+0x192
C [libjd-intellij-tmp8572950752368288122.so+0xa88a4] ClassFileAnalyzer::AnalyzeMethods(ReferenceMap&, StringToValueMap<ClassFile*>, ClassFile&)+0x175
C [libjd-intellij-tmp8572950752368288122.so+0xa9361] ClassFileAnalyzer::AnalyzeClass(ReferenceMap&, StringToValueMap<ClassFile
>, ClassFile&)+0x9d
C [libjd-intellij-tmp8572950752368288122.so+0xa9488] ClassFileAnalyzer::Analyze(ReferenceMap&, ClassFile&)+0x96
C [libjd-intellij-tmp8572950752368288122.so+0x8a517] Decompile(Environment&, BaseLoader&, wxOutputStream&, wxString&)+0x419
C [libjd-intellij-tmp8572950752368288122.so+0x8d5a1] Java_jd_ide_intellij_JavaDecompiler_decompile+0x1b9
J jd.ide.intellij.JavaDecompiler.decompile(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
J jd.ide.intellij.JavaDecompiler.decompileClass(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
j com...tool.Dex2Java.returnD2J()Z+73
j com....dex2java()Z+40
j com.
...check(Lcom///$CallBack;)Z+114
j com.
...main([Ljava/lang/String;)V+32
v ~StubRoutines::call_stub
V [libjvm.so+0x2a78e5] JavaCalls::call_helper(JavaValue
, methodHandle_, JavaCallArguments_, Thread_)+0x315
V [libjvm.so+0x3fac59] os::os_exception_wrapper(void ()(JavaValue, methodHandle_, JavaCallArguments_, Thread_), JavaValue_, methodHandle_, JavaCallArguments_, Thread_)+0x19
V [libjvm.so+0x2a655f] JavaCalls::call(JavaValue_, methodHandle, JavaCallArguments_, Thread_)+0x2f
V [libjvm.so+0x2e3092] jni_invoke_static(JNIEnv__, JavaValue_, jobject, JNICallType, jmethodID, JNI_ArgumentPusher_, Thread*)+0x242
V [libjvm.so+0x2f92ba] jni_CallStaticVoidMethod+0xca
C [libjli.so+0x2e8d] JavaMain+0x8bd
C [libpthread.so.0+0x596e] start_thread+0xbe

Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
J jd.ide.intellij.JavaDecompiler.decompile(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
J jd.ide.intellij.JavaDecompiler.decompileClass(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
j jd.core.input.ZipFileInput.decompile(Ljd/ide/intellij/JavaDecompiler;Ljd/core/output/JDOutput;)V+127
j com...tool.Dex2Java.returnD2J()Z+73
j com....dex2java()Z+40
j com.
...check(Lcom///$CallBack;)Z+114
j com.
...main([Ljava/lang/String;)V+32
v ~StubRoutines::call_stub

--------------- P R O C E S S ---------------

Java Threads: ( => current thread )
0x09128800 JavaThread "process reaper" daemon [_thread_blocked, id=6136, stack(0xa1318000,0xa132f000)]
0x09059000 JavaThread "Service Thread" daemon [_thread_blocked, id=6133, stack(0xa13b0000,0xa1401000)]
0x09057000 JavaThread "C1 CompilerThread0" daemon [_thread_blocked, id=6132, stack(0xa1401000,0xa1482000)]
0x09055800 JavaThread "Signal Dispatcher" daemon [_thread_blocked, id=6131, stack(0xa1482000,0xa14d3000)]
0x0903f800 JavaThread "Finalizer" daemon [_thread_blocked, id=6130, stack(0xa1674000,0xa16c5000)]
0x0903d000 JavaThread "Reference Handler" daemon [_thread_blocked, id=6129, stack(0xa16c5000,0xa1716000)]
=>0x08feb400 JavaThread "main" [_thread_in_native, id=6125, stack(0xb7793000,0xb77e4000)]

Other Threads:
0x0903b800 VMThread [stack: 0xa1716000,0xa1797000] [id=6128]
0x09064000 WatcherThread [stack: 0xa132f000,0xa13b0000] [id=6134]

VM state:not at safepoint (normal execution)

VM Mutex/Monitor currently owned by a thread: None

Heap
def new generation total 4800K, used 576K [0xa1b10000, 0xa2040000, 0xa6f10000)
eden space 4288K, 10% used [0xa1b10000, 0xa1b85c30, 0xa1f40000)
from space 512K, 20% used [0xa1f40000, 0xa1f5a5a0, 0xa1fc0000)
to space 512K, 0% used [0xa1fc0000, 0xa1fc0000, 0xa2040000)
tenured generation total 10752K, used 1862K [0xa6f10000, 0xa7990000, 0xb1710000)
the space 10752K, 17% used [0xa6f10000, 0xa70e1848, 0xa70e1a00, 0xa7990000)
compacting perm gen total 12288K, used 4571K [0xb1710000, 0xb2310000, 0xb5710000)
the space 12288K, 37% used [0xb1710000, 0xb1b86fa8, 0xb1b87000, 0xb2310000)
No shared spaces configured.

Card table byte_map: [0xa1a71000,0xa1b10000] byte_map_base: 0xa1563780

Polling page: 0xb77f5000

Code Cache [0xb5793000, 0xb58ab000, 0xb7793000)
total_blobs=491 nmethods=343 adapters=85 free_code_cache=31652Kb largest_free_block=32411648

Compilation events (10 events):
Event: 41.082 Thread 0x09057000 338 java.lang.ref.Reference::access$100 (4 bytes)
Event: 41.082 Thread 0x09057000 nmethod 338 0xb58a63c8 code [0xb58a64c0, 0xb58a6530]
Event: 41.082 Thread 0x09057000 339 ! java.io.FileOutputStream::finalize (72 bytes)
Event: 41.082 Thread 0x09057000 nmethod 339 0xb58a6588 code [0xb58a6750, 0xb58a6ad8]
Event: 41.780 Thread 0x09057000 340 ! jd.ide.intellij.JavaDecompiler::decompileClass (235 bytes)
Event: 41.782 Thread 0x09057000 nmethod 340 0xb58a6f48 code [0xb58a72f0, 0xb58a7eac]
Event: 41.785 Thread 0x09057000 342 java.lang.StringBuffer::append (52 bytes)
Event: 41.785 Thread 0x09057000 nmethod 342 0xb58a9488 code [0xb58a9630, 0xb58a9c38]
Event: 42.014 Thread 0x09057000 343 java.util.regex.Pattern$Single::isSatisfiedBy (14 bytes)
Event: 42.014 Thread 0x09057000 nmethod 343 0xb58a9e48 code [0xb58a9f40, 0xb58a9fd0]

GC Heap History (10 events):
Event: 45.583 GC heap before
{Heap before GC invocations=35 (full 0):
def new generation total 4800K, used 4297K [0xa1b10000, 0xa2040000, 0xa6f10000)
eden space 4288K, 98% used [0xa1b10000, 0xa1f34c60, 0xa1f40000)
from space 512K, 10% used [0xa1fc0000, 0xa1fcd8e0, 0xa2040000)
to space 512K, 0% used [0xa1f40000, 0xa1f40000, 0xa1fc0000)
tenured generation total 10752K, used 1857K [0xa6f10000, 0xa7990000, 0xb1710000)
the space 10752K, 17% used [0xa6f10000, 0xa70e0568, 0xa70e0600, 0xa7990000)
compacting perm gen total 12288K, used 4571K [0xb1710000, 0xb2310000, 0xb5710000)
the space 12288K, 37% used [0xb1710000, 0xb1b86fa8, 0xb1b87000, 0xb2310000)
No shared spaces configured.
Event: 45.583 GC heap after
Heap after GC invocations=36 (full 0):
def new generation total 4800K, used 108K [0xa1b10000, 0xa2040000, 0xa6f10000)
eden space 4288K, 0% used [0xa1b10000, 0xa1b10000, 0xa1f40000)
from space 512K, 21% used [0xa1f40000, 0xa1f5b370, 0xa1fc0000)
to space 512K, 0% used [0xa1fc0000, 0xa1fc0000, 0xa2040000)
tenured generation total 10752K, used 1858K [0xa6f10000, 0xa7990000, 0xb1710000)
the space 10752K, 17% used [0xa6f10000, 0xa70e0978, 0xa70e0a00, 0xa7990000)
compacting perm gen total 12288K, used 4571K [0xb1710000, 0xb2310000, 0xb5710000)
the space 12288K, 37% used [0xb1710000, 0xb1b86fa8, 0xb1b87000, 0xb2310000)
No shared spaces configured.
}
Event: 45.746 GC heap before
{Heap before GC invocations=36 (full 0):
def new generation total 4800K, used 4384K [0xa1b10000, 0xa2040000, 0xa6f10000)
eden space 4288K, 99% used [0xa1b10000, 0xa1f3d070, 0xa1f40000)
from space 512K, 21% used [0xa1f40000, 0xa1f5b370, 0xa1fc0000)
to space 512K, 0% used [0xa1fc0000, 0xa1fc0000, 0xa2040000)
tenured generation total 10752K, used 1858K [0xa6f10000, 0xa7990000, 0xb1710000)
the space 10752K, 17% used [0xa6f10000, 0xa70e0978, 0xa70e0a00, 0xa7990000)
compacting perm gen total 12288K, used 4571K [0xb1710000, 0xb2310000, 0xb5710000)
the space 12288K, 37% used [0xb1710000, 0xb1b86fa8, 0xb1b87000, 0xb2310000)
No shared spaces configured.
Event: 45.747 GC heap after
Heap after GC invocations=37 (full 0):
def new generation total 4800K, used 94K [0xa1b10000, 0xa2040000, 0xa6f10000)
eden space 4288K, 0% used [0xa1b10000, 0xa1b10000, 0xa1f40000)
from space 512K, 18% used [0xa1fc0000, 0xa1fd7b50, 0xa2040000)
to space 512K, 0% used [0xa1f40000, 0xa1f40000, 0xa1fc0000)
tenured generation total 10752K, used 1858K [0xa6f10000, 0xa7990000, 0xb1710000)
the space 10752K, 17% used [0xa6f10000, 0xa70e0978, 0xa70e0a00, 0xa7990000)
compacting perm gen total 12288K, used 4571K [0xb1710000, 0xb2310000, 0xb5710000)
the space 12288K, 37% used [0xb1710000, 0xb1b86fa8, 0xb1b87000, 0xb2310000)
No shared spaces configured.
}
Event: 45.910 GC heap before
{Heap before GC invocations=37 (full 0):
def new generation total 4800K, used 4382K [0xa1b10000, 0xa2040000, 0xa6f10000)
eden space 4288K, 100% used [0xa1b10000, 0xa1f40000, 0xa1f40000)
from space 512K, 18% used [0xa1fc0000, 0xa1fd7b50, 0xa2040000)
to space 512K, 0% used [0xa1f40000, 0xa1f40000, 0xa1fc0000)
tenured generation total 10752K, used 1858K [0xa6f10000, 0xa7990000, 0xb1710000)
the space 10752K, 17% used [0xa6f10000, 0xa70e0978, 0xa70e0a00, 0xa7990000)
compacting perm gen total 12288K, used 4571K [0xb1710000, 0xb2310000, 0xb5710000)
the space 12288K, 37% used [0xb1710000, 0xb1b86fa8, 0xb1b87000, 0xb2310000)
No shared spaces configured.
Event: 45.910 GC heap after
Heap after GC invocations=38 (full 0):
def new generation total 4800K, used 63K [0xa1b10000, 0xa2040000, 0xa6f10000)
eden space 4288K, 0% used [0xa1b10000, 0xa1b10000, 0xa1f40000)
from space 512K, 12% used [0xa1f40000, 0xa1f4fd88, 0xa1fc0000)
to space 512K, 0% used [0xa1fc0000, 0xa1fc0000, 0xa2040000)
tenured generation total 10752K, used 1858K [0xa6f10000, 0xa7990000, 0xb1710000)
the space 10752K, 17% used [0xa6f10000, 0xa70e0978, 0xa70e0a00, 0xa7990000)
compacting perm gen total 12288K, used 4571K [0xb1710000, 0xb2310000, 0xb5710000)
the space 12288K, 37% used [0xb1710000, 0xb1b86fa8, 0xb1b87000, 0xb2310000)
No shared spaces configured.
}
Event: 46.073 GC heap before
{Heap before GC invocations=38 (full 0):
def new generation total 4800K, used 4350K [0xa1b10000, 0xa2040000, 0xa6f10000)
eden space 4288K, 99% used [0xa1b10000, 0xa1f3fc00, 0xa1f40000)
from space 512K, 12% used [0xa1f40000, 0xa1f4fd88, 0xa1fc0000)
to space 512K, 0% used [0xa1fc0000, 0xa1fc0000, 0xa2040000)
tenured generation total 10752K, used 1858K [0xa6f10000, 0xa7990000, 0xb1710000)
the space 10752K, 17% used [0xa6f10000, 0xa70e0978, 0xa70e0a00, 0xa7990000)
compacting perm gen total 12288K, used 4571K [0xb1710000, 0xb2310000, 0xb5710000)
the space 12288K, 37% used [0xb1710000, 0xb1b86fa8, 0xb1b87000, 0xb2310000)
No shared spaces configured.
Event: 46.074 GC heap after
Heap after GC invocations=39 (full 0):
def new generation total 4800K, used 70K [0xa1b10000, 0xa2040000, 0xa6f10000)
eden space 4288K, 0% used [0xa1b10000, 0xa1b10000, 0xa1f40000)
from space 512K, 13% used [0xa1fc0000, 0xa1fd1a18, 0xa2040000)
to space 512K, 0% used [0xa1f40000, 0xa1f40000, 0xa1fc0000)
tenured generation total 10752K, used 1862K [0xa6f10000, 0xa7990000, 0xb1710000)
the space 10752K, 17% used [0xa6f10000, 0xa70e1848, 0xa70e1a00, 0xa7990000)
compacting perm gen total 12288K, used 4571K [0xb1710000, 0xb2310000, 0xb5710000)
the space 12288K, 37% used [0xb1710000, 0xb1b86fa8, 0xb1b87000, 0xb2310000)
No shared spaces configured.
}
Event: 46.226 GC heap before
{Heap before GC invocations=39 (full 0):
def new generation total 4800K, used 4337K [0xa1b10000, 0xa2040000, 0xa6f10000)
eden space 4288K, 99% used [0xa1b10000, 0xa1f3adb8, 0xa1f40000)
from space 512K, 13% used [0xa1fc0000, 0xa1fd1a18, 0xa2040000)
to space 512K, 0% used [0xa1f40000, 0xa1f40000, 0xa1fc0000)
tenured generation total 10752K, used 1862K [0xa6f10000, 0xa7990000, 0xb1710000)
the space 10752K, 17% used [0xa6f10000, 0xa70e1848, 0xa70e1a00, 0xa7990000)
compacting perm gen total 12288K, used 4571K [0xb1710000, 0xb2310000, 0xb5710000)
the space 12288K, 37% used [0xb1710000, 0xb1b86fa8, 0xb1b87000, 0xb2310000)
No shared spaces configured.
Event: 46.226 GC heap after
Heap after GC invocations=40 (full 0):
def new generation total 4800K, used 105K [0xa1b10000, 0xa2040000, 0xa6f10000)
eden space 4288K, 0% used [0xa1b10000, 0xa1b10000, 0xa1f40000)
from space 512K, 20% used [0xa1f40000, 0xa1f5a5a0, 0xa1fc0000)
to space 512K, 0% used [0xa1fc0000, 0xa1fc0000, 0xa2040000)
tenured generation total 10752K, used 1862K [0xa6f10000, 0xa7990000, 0xb1710000)
the space 10752K, 17% used [0xa6f10000, 0xa70e1848, 0xa70e1a00, 0xa7990000)
compacting perm gen total 12288K, used 4571K [0xb1710000, 0xb2310000, 0xb5710000)
the space 12288K, 37% used [0xb1710000, 0xb1b86fa8, 0xb1b87000, 0xb2310000)
No shared spaces configured.
}

Deoptimization events (0 events):
No events

Internal exceptions (10 events):
Event: 38.245 Thread 0x08feb400 Threw 0xa1ed8378 at /HUDSON/workspace/7u-2-build-linux-i586/jdk7u55/869/hotspot/src/share/vm/prims/jvm.cpp:1244
Event: 38.246 Thread 0x08feb400 Threw 0xa1edb098 at /HUDSON/workspace/7u-2-build-linux-i586/jdk7u55/869/hotspot/src/share/vm/prims/jvm.cpp:1244
Event: 38.246 Thread 0x08feb400 Threw 0xa1edda30 at /HUDSON/workspace/7u-2-build-linux-i586/jdk7u55/869/hotspot/src/share/vm/prims/jvm.cpp:1244
Event: 38.247 Thread 0x08feb400 Threw 0xa1ee3348 at /HUDSON/workspace/7u-2-build-linux-i586/jdk7u55/869/hotspot/src/share/vm/prims/jvm.cpp:1244
Event: 38.248 Thread 0x08feb400 Threw 0xa1ee68b8 at /HUDSON/workspace/7u-2-build-linux-i586/jdk7u55/869/hotspot/src/share/vm/prims/jvm.cpp:1244
Event: 38.248 Thread 0x08feb400 Threw 0xa1ee99f0 at /HUDSON/workspace/7u-2-build-linux-i586/jdk7u55/869/hotspot/src/share/vm/prims/jvm.cpp:1244
Event: 38.248 Thread 0x08feb400 Threw 0xa1eec858 at /HUDSON/workspace/7u-2-build-linux-i586/jdk7u55/869/hotspot/src/share/vm/prims/jvm.cpp:1244
Event: 38.249 Thread 0x08feb400 Threw 0xa1eeff40 at /HUDSON/workspace/7u-2-build-linux-i586/jdk7u55/869/hotspot/src/share/vm/prims/jvm.cpp:1244
Event: 38.250 Thread 0x08feb400 Threw 0xa1ef3380 at /HUDSON/workspace/7u-2-build-linux-i586/jdk7u55/869/hotspot/src/share/vm/prims/jvm.cpp:1244
Event: 38.250 Thread 0x08feb400 Threw 0xa1ef6aa8 at /HUDSON/workspace/7u-2-build-linux-i586/jdk7u55/869/hotspot/src/share/vm/prims/jvm.cpp:1244

Events (10 events):
Event: 45.583 Executing VM operation: GenCollectForAllocation
Event: 45.583 Executing VM operation: GenCollectForAllocation done
Event: 45.746 Executing VM operation: GenCollectForAllocation
Event: 45.747 Executing VM operation: GenCollectForAllocation done
Event: 45.910 Executing VM operation: GenCollectForAllocation
Event: 45.910 Executing VM operation: GenCollectForAllocation done
Event: 46.073 Executing VM operation: GenCollectForAllocation
Event: 46.074 Executing VM operation: GenCollectForAllocation done
Event: 46.226 Executing VM operation: GenCollectForAllocation
Event: 46.226 Executing VM operation: GenCollectForAllocation done

Dynamic libraries:
00110000-00117000 r-xp 00000000 08:01 411110 /lib/tls/i686/cmov/librt-2.11.1.so
00117000-00118000 r--p 00006000 08:01 411110 /lib/tls/i686/cmov/librt-2.11.1.so
00118000-00119000 rw-p 00007000 08:01 411110 /lib/tls/i686/cmov/librt-2.11.1.so
00119000-0012c000 r-xp 00000000 08:01 411126 /lib/tls/i686/cmov/libnsl-2.11.1.so
0012c000-0012d000 r--p 00012000 08:01 411126 /lib/tls/i686/cmov/libnsl-2.11.1.so
0012d000-0012e000 rw-p 00013000 08:01 411126 /lib/tls/i686/cmov/libnsl-2.11.1.so
0012e000-00130000 rw-p 00000000 00:00 0
00130000-0013a000 r-xp 00000000 08:01 411106 /lib/tls/i686/cmov/libnss_files-2.11.1.so
0013a000-0013b000 r--p 00009000 08:01 411106 /lib/tls/i686/cmov/libnss_files-2.11.1.so
0013b000-0013c000 rw-p 0000a000 08:01 411106 /lib/tls/i686/cmov/libnss_files-2.11.1.so
0013c000-00153000 r-xp 00000000 08:01 187937 /usr/lib/jvm/jdk7/jre/lib/i386/libzip.so
00153000-00154000 rw-p 00017000 08:01 187937 /usr/lib/jvm/jdk7/jre/lib/i386/libzip.so
00154000-00171000 r-xp 00000000 08:01 271139 /lib/libgcc_s.so.1
00171000-00172000 r--p 0001c000 08:01 271139 /lib/libgcc_s.so.1
00172000-00173000 rw-p 0001d000 08:01 271139 /lib/libgcc_s.so.1
001b7000-001c2000 r-xp 00000000 08:01 187961 /usr/lib/jvm/jdk7/jre/lib/i386/libverify.so
001c2000-001c3000 rw-p 0000b000 08:01 187961 /usr/lib/jvm/jdk7/jre/lib/i386/libverify.so
002a6000-002c1000 r-xp 00000000 08:01 278818 /lib/ld-2.11.1.so
002c1000-002c2000 r--p 0001a000 08:01 278818 /lib/ld-2.11.1.so
002c2000-002c3000 rw-p 0001b000 08:01 278818 /lib/ld-2.11.1.so
002c3000-003ac000 r-xp 00000000 08:01 661 /usr/lib/libstdc++.so.6.0.13
003ac000-003b0000 r--p 000e9000 08:01 661 /usr/lib/libstdc++.so.6.0.13
003b0000-003b1000 rw-p 000ed000 08:01 661 /usr/lib/libstdc++.so.6.0.13
003b1000-003b8000 rw-p 00000000 00:00 0
003c5000-003c6000 r-xp 00000000 00:00 0 [vdso]
003ea000-0040e000 r-xp 00000000 08:01 411113 /lib/tls/i686/cmov/libm-2.11.1.so
0040e000-0040f000 r--p 00023000 08:01 411113 /lib/tls/i686/cmov/libm-2.11.1.so
0040f000-00410000 rw-p 00024000 08:01 411113 /lib/tls/i686/cmov/libm-2.11.1.so
0042f000-00431000 r-xp 00000000 08:01 411611 /lib/tls/i686/cmov/libdl-2.11.1.so
00431000-00432000 r--p 00001000 08:01 411611 /lib/tls/i686/cmov/libdl-2.11.1.so
00432000-00433000 rw-p 00002000 08:01 411611 /lib/tls/i686/cmov/libdl-2.11.1.so
00480000-00493000 r-xp 00000000 08:01 188958 /usr/lib/jvm/jdk7/lib/i386/jli/libjli.so
00493000-00494000 rw-p 00012000 08:01 188958 /usr/lib/jvm/jdk7/lib/i386/jli/libjli.so
0052e000-00534000 r-xp 00000000 08:01 411612 /lib/tls/i686/cmov/libnss_compat-2.11.1.so
00534000-00535000 r--p 00006000 08:01 411612 /lib/tls/i686/cmov/libnss_compat-2.11.1.so
00535000-00536000 rw-p 00007000 08:01 411612 /lib/tls/i686/cmov/libnss_compat-2.11.1.so
0070a000-00718000 r-xp 00000000 08:01 187917 /usr/lib/jvm/jdk7/jre/lib/i386/libnio.so
00718000-00719000 rw-p 0000e000 08:01 187917 /usr/lib/jvm/jdk7/jre/lib/i386/libnio.so
007e4000-007ec000 r-xp 00000000 08:01 393355 /lib/tls/i686/cmov/libnss_nis-2.11.1.so
007ec000-007ed000 r--p 00007000 08:01 393355 /lib/tls/i686/cmov/libnss_nis-2.11.1.so
007ed000-007ee000 rw-p 00008000 08:01 393355 /lib/tls/i686/cmov/libnss_nis-2.11.1.so
0080b000-00820000 r-xp 00000000 08:01 187950 /usr/lib/jvm/jdk7/jre/lib/i386/libnet.so
00820000-00821000 rw-p 00014000 08:01 187950 /usr/lib/jvm/jdk7/jre/lib/i386/libnet.so
008c0000-008d5000 r-xp 00000000 08:01 411120 /lib/tls/i686/cmov/libpthread-2.11.1.so
008d5000-008d6000 r--p 00014000 08:01 411120 /lib/tls/i686/cmov/libpthread-2.11.1.so
008d6000-008d7000 rw-p 00015000 08:01 411120 /lib/tls/i686/cmov/libpthread-2.11.1.so
008d7000-008d9000 rw-p 00000000 00:00 0
008d9000-00956000 r-xp 00000000 08:01 292853 /tmp/libjd-intellij-tmp8572950752368288122.so
00956000-00aae000 r-xp 00000000 00:00 0
00aae000-00ab8000 rw-p 000ea000 08:01 292853 /tmp/libjd-intellij-tmp8572950752368288122.so
00ab8000-00abf000 rw-p 00000000 00:00 0
00b2f000-00b52000 r-xp 00000000 08:01 187907 /usr/lib/jvm/jdk7/jre/lib/i386/libjava.so
00b52000-00b53000 rw-p 00022000 08:01 187907 /usr/lib/jvm/jdk7/jre/lib/i386/libjava.so
00c32000-00d8c000 r-xp 00000000 08:01 411109 /lib/tls/i686/cmov/libc-2.11.1.so
00d8c000-00d8d000 ---p 0015a000 08:01 411109 /lib/tls/i686/cmov/libc-2.11.1.so
00d8d000-00d8f000 r--p 0015a000 08:01 411109 /lib/tls/i686/cmov/libc-2.11.1.so
00d8f000-00d90000 rw-p 0015c000 08:01 411109 /lib/tls/i686/cmov/libc-2.11.1.so
00d90000-00d93000 rw-p 00000000 00:00 0
00d93000-01319000 r-xp 00000000 08:01 187924 /usr/lib/jvm/jdk7/jre/lib/i386/client/libjvm.so
01319000-0133a000 rw-p 00586000 08:01 187924 /usr/lib/jvm/jdk7/jre/lib/i386/client/libjvm.so
0133a000-0175a000 rw-p 00000000 00:00 0
08048000-08049000 r-xp 00000000 08:01 188016 /usr/lib/jvm/jdk7/bin/java
08049000-0804a000 rw-p 00000000 08:01 188016 /usr/lib/jvm/jdk7/bin/java
08fe3000-09723000 rw-p 00000000 00:00 0 [heap]
a1016000-a1100000 rw-p 00000000 00:00 0
a1100000-a1190000 rw-p 00000000 00:00 0
a1190000-a1200000 ---p 00000000 00:00 0
a1226000-a122a000 r--s 000f7000 08:01 187976 /usr/lib/jvm/jdk7/jre/lib/ext/localedata.jar
a122a000-a1233000 r--s 00251000 08:01 187774 /usr/lib/jvm/jdk7/jre/lib/resources.jar
a1233000-a1248000 r--p 00000000 08:01 191091 /usr/share/locale-langpack/zh_CN/LC_MESSAGES/libc.mo
a1248000-a125a000 r--s 00411000 08:01 189921 /home/luck/Desktop/SafetyTestingBeta/libs/jd-cli.jar
a125a000-a1260000 r--s 00042000 08:01 192431 /home/luck/Desktop/SafetyTestingBeta/libs/jsoup-1.7.2.jar
a1260000-a1265000 r--s 00042000 08:01 192429 /home/luck/Desktop/SafetyTestingBeta/libs/commons-lang3-3.0-beta.jar
a1265000-a126b000 r--s 00034000 08:01 190542 /usr/local/eclipse/plugins/org.junit_4.10.0.v4_10_0_v20120426-0900/junit.jar
a126b000-a1276000 r--s 0037c000 08:01 187862 /usr/lib/jvm/jdk7/jre/lib/charsets.jar
a1276000-a1279000 ---p 00000000 00:00 0
a1279000-a12c7000 rw-p 00000000 00:00 0
a12c7000-a12ca000 ---p 00000000 00:00 0
a12ca000-a1318000 rw-p 00000000 00:00 0
a1318000-a131b000 ---p 00000000 00:00 0
a131b000-a132f000 rw-p 00000000 00:00 0
a132f000-a1330000 ---p 00000000 00:00 0
a1330000-a13b0000 rw-p 00000000 00:00 0
a13b0000-a13b3000 ---p 00000000 00:00 0
a13b3000-a1401000 rw-p 00000000 00:00 0
a1401000-a1404000 ---p 00000000 00:00 0
a1404000-a1482000 rw-p 00000000 00:00 0
a1482000-a1485000 ---p 00000000 00:00 0
a1485000-a14d3000 rw-p 00000000 00:00 0
a14d3000-a1512000 r--p 00000000 08:01 297673 /usr/lib/locale/zh_CN.utf8/LC_CTYPE
a1512000-a1513000 r--p 00000000 08:01 7981 /usr/lib/locale/zh_CN.utf8/LC_NUMERIC
a1513000-a1514000 r--p 00000000 08:01 297674 /usr/lib/locale/zh_CN.utf8/LC_TIME
a1514000-a1666000 r--p 00000000 08:01 297675 /usr/lib/locale/zh_CN.utf8/LC_COLLATE
a1666000-a1667000 r--p 00000000 08:01 297676 /usr/lib/locale/zh_CN.utf8/LC_MONETARY
a1667000-a1668000 r--p 00000000 08:01 297678 /usr/lib/locale/zh_CN.utf8/LC_MESSAGES/SYS_LC_MESSAGES
a1668000-a1669000 r--p 00000000 08:01 7891 /usr/lib/locale/zh_CN.utf8/LC_PAPER
a1669000-a166a000 r--p 00000000 08:01 297679 /usr/lib/locale/zh_CN.utf8/LC_NAME
a166a000-a166b000 r--p 00000000 08:01 297680 /usr/lib/locale/zh_CN.utf8/LC_ADDRESS
a166b000-a166c000 r--p 00000000 08:01 297681 /usr/lib/locale/zh_CN.utf8/LC_TELEPHONE
a166c000-a166d000 r--p 00000000 08:01 7887 /usr/lib/locale/zh_CN.utf8/LC_MEASUREMENT
a166d000-a1674000 r--s 00000000 08:01 7900 /usr/lib/gconv/gconv-modules.cache
a1674000-a1677000 ---p 00000000 00:00 0
a1677000-a16c5000 rw-p 00000000 00:00 0
a16c5000-a16c8000 ---p 00000000 00:00 0
a16c8000-a1716000 rw-p 00000000 00:00 0
a1716000-a1717000 ---p 00000000 00:00 0
a1717000-a17e2000 rw-p 00000000 00:00 0
a17e2000-a19a0000 r--s 039d0000 08:01 176673 /usr/lib/jvm/jdk7/jre/lib/rt.jar
a19a0000-a1a02000 rw-p 00000000 00:00 0
a1a02000-a1a1c000 rw-p 00000000 00:00 0
a1a1c000-a1a22000 rw-p 00000000 00:00 0
a1a22000-a1a71000 rw-p 00000000 00:00 0
a1a71000-a1a74000 rw-p 00000000 00:00 0
a1a74000-a1a9b000 rw-p 00000000 00:00 0
a1a9b000-a1aa1000 rw-p 00000000 00:00 0
a1aa1000-a1aef000 rw-p 00000000 00:00 0
a1aef000-a1af5000 rw-p 00000000 00:00 0
a1af5000-a1b0f000 rw-p 00000000 00:00 0
a1b0f000-a2040000 rw-p 00000000 00:00 0
a2040000-a6f10000 rw-p 00000000 00:00 0
a6f10000-a7990000 rw-p 00000000 00:00 0
a7990000-b1710000 rw-p 00000000 00:00 0
b1710000-b2310000 rw-p 00000000 00:00 0
b2310000-b5710000 rw-p 00000000 00:00 0
b5710000-b5711000 rw-p 00000000 00:00 0
b5711000-b5712000 r--s 00000000 08:01 192430 /home/luck/Desktop/SafetyTestingBeta/libs/hashfile.jar
b5712000-b5713000 r--s 00006000 08:01 190501 /usr/local/eclipse/plugins/org.hamcrest.core_1.1.0.v20090501071000.jar
b5713000-b5718000 rw-p 00000000 00:00 0
b5718000-b5793000 rw-p 00000000 00:00 0
b5793000-b58ab000 rwxp 00000000 00:00 0
b58ab000-b7793000 rw-p 00000000 00:00 0
b7793000-b7796000 ---p 00000000 00:00 0
b7796000-b77e6000 rw-p 00000000 00:00 0
b77e6000-b77e7000 r--p 00000000 00:00 0
b77e7000-b77eb000 r--s 0008a000 08:01 187745 /usr/lib/jvm/jdk7/jre/lib/jsse.jar
b77eb000-b77ec000 r--p 00000000 08:01 297682 /usr/lib/locale/zh_CN.utf8/LC_IDENTIFICATION
b77ec000-b77f4000 rw-s 00000000 08:01 292852 /tmp/hsperfdata_luck/6121
b77f4000-b77f5000 rw-p 00000000 00:00 0
b77f5000-b77f6000 r--p 00000000 00:00 0
b77f6000-b77f8000 rw-p 00000000 00:00 0
bfe31000-bfe46000 rw-p 00000000 00:00 0 [stack]

VM Arguments:
jvm_args: -Dfile.encoding=UTF-8
java_command: com...**
Launcher Type: SUN_STANDARD

Environment Variables:
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
USERNAME=luck
LD_LIBRARY_PATH=/usr/lib/jvm/jdk7/jre/lib/i386/client:/usr/lib/jvm/jdk7/jre/lib/i386:/usr/lib/jvm/jdk7/jre/../lib/i386:/usr/lib/jvm/java-8-sun/jre/lib/i386/client:/usr/lib/jvm/java-8-sun/jre/lib/i386:
SHELL=/bin/bash
DISPLAY=:0.0

Signal Handlers:
SIGSEGV: [libjvm.so+0x504880], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004
SIGBUS: [libjvm.so+0x504880], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004
SIGFPE: [libjvm.so+0x3fc8f0], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004
SIGPIPE: [libjvm.so+0x3fc8f0], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004
SIGXFSZ: [libjvm.so+0x3fc8f0], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004
SIGILL: [libjvm.so+0x3fc8f0], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004
SIGUSR1: SIG_DFL, sa_mask[0]=0x00000000, sa_flags=0x00000000
SIGUSR2: [libjvm.so+0x3fdde0], sa_mask[0]=0x00000004, sa_flags=0x10000004
SIGHUP: [libjvm.so+0x3fef30], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004
SIGINT: [libjvm.so+0x3fef30], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004
SIGTERM: [libjvm.so+0x3fef30], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004
SIGQUIT: [libjvm.so+0x3fef30], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004

--------------- S Y S T E M ---------------

OS:squeeze/sid

uname:Linux 2.6.32-60-generic #122-Ubuntu SMP Wed May 7 20:16:42 UTC 2014 i686
libc:glibc 2.11.1 NPTL 2.11.1
rlimit: STACK 8192k, CORE 0k, NPROC infinity, NOFILE 1024, AS infinity
load average:1.32 0.95 0.87

/proc/meminfo:
MemTotal: 1025940 kB
MemFree: 179780 kB
Buffers: 33708 kB
Cached: 359296 kB
SwapCached: 2908 kB
Active: 349096 kB
Inactive: 438880 kB
Active(anon): 138164 kB
Inactive(anon): 263740 kB
Active(file): 210932 kB
Inactive(file): 175140 kB
Unevictable: 0 kB
Mlocked: 0 kB
HighTotal: 139144 kB
HighFree: 252 kB
LowTotal: 886796 kB
LowFree: 179528 kB
SwapTotal: 407544 kB
SwapFree: 392336 kB
Dirty: 80284 kB
Writeback: 2644 kB
AnonPages: 392436 kB
Mapped: 85156 kB
Shmem: 6964 kB
Slab: 38164 kB
SReclaimable: 28372 kB
SUnreclaim: 9792 kB
KernelStack: 2544 kB
PageTables: 5684 kB
NFS_Unstable: 0 kB
Bounce: 0 kB
WritebackTmp: 0 kB
CommitLimit: 920512 kB
Committed_AS: 919784 kB
VmallocTotal: 122880 kB
VmallocUsed: 6248 kB
VmallocChunk: 110328 kB
HardwareCorrupted: 0 kB
HugePages_Total: 0
HugePages_Free: 0
HugePages_Rsvd: 0
HugePages_Surp: 0
Hugepagesize: 4096 kB
DirectMap4k: 16376 kB
DirectMap4M: 892928 kB

CPU:total 1 (1 cores per cpu, 1 threads per core) family 6 model 58 stepping 9, cmov, cx8, fxsr, mmx, sse, sse2, sse3, ssse3, sse4.1, sse4.2, popcnt, avx, aes, erms, tsc, tscinvbit, tscinv

/proc/cpuinfo:
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 58
model name : Intel(R) Core(TM) i5-3470 CPU @ 3.20GHz
stepping : 9
cpu MHz : 3200.069
cache size : 6144 KB
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 13
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic mtrr pge mca cmov pat pse36 clflush dts mmx fxsr sse sse2 ss nx rdtscp lm constant_tsc up arch_perfmon pebs bts xtopology tsc_reliable nonstop_tsc aperfmperf pni pclmulqdq ssse3 cx16 sse4_1 sse4_2 x2apic popcnt aes xsave avx f16c rdrand hypervisor lahf_lm ida arat
bogomips : 6400.13
clflush size : 64
cache_alignment : 64
address sizes : 40 bits physical, 48 bits virtual
power management:

Memory: 4k page, physical 1025940k(179780k free), swap 407544k(392336k free)

vm_info: Java HotSpot(TM) Client VM (24.55-b03) for linux-x86 JRE (1.7.0_55-b13), built on Mar 17 2014 19:43:32 by "java_re" with gcc 4.3.0 20080428 (Red Hat 4.3.0-8)

time: Sat Jun 14 15:32:23 2014
elapsed time: 46 seconds

Jd core 1.1.3

Hi, could you please update the version of jd core to the latest one 1.1.3? Thanks

NoClassDefFoundError when decompiling using IBM Java

Unexpected failure on IBM Java:

josef@josef-nb:~/java/ibm-java-x86_64-80$ jd-cli -n -od /tmp/ibm-src jre/lib/ibmpkcs.jar 
13:41:43.595 INFO  com.github.kwart.jd.cli.Main - Decompiling jre/lib/ibmpkcs.jar
13:41:43.602 INFO  com.github.kwart.jd.output.DirOutput - Directory output will be initialized for path /tmp/ibm-src
Exception in thread "main" java.lang.NoClassDefFoundError: javax.mail.internet.MimeMessage
	at java.lang.VMAccess.findClassOrNull(Native Method)
	at java.lang.VMAccess.findClassOrNullHelper(VMAccess.java:55)
	at com.ibm.oti.vm.BootstrapClassLoader.loadClass(BootstrapClassLoader.java:81)
	at java.lang.ClassLoader.loadClassHelper(ClassLoader.java:925)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:888)
	at java.lang.ClassLoader.loadClassHelper(ClassLoader.java:932)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:888)
	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:871)
	at org.jd.core.v1.service.converter.classfiletojavasyntax.util.ObjectTypeMaker.loadFromClassLoader(ObjectTypeMaker.java:134)
	at org.jd.core.v1.service.converter.classfiletojavasyntax.util.ObjectTypeMaker.unsafeMake(ObjectTypeMaker.java:77)
	at org.jd.core.v1.service.converter.classfiletojavasyntax.util.ObjectTypeMaker.make(ObjectTypeMaker.java:56)
	at org.jd.core.v1.service.converter.classfiletojavasyntax.util.LocalVariableMaker.initLocalVariablesFromAttributes(LocalVariableMaker.java:193)
	at org.jd.core.v1.service.converter.classfiletojavasyntax.util.LocalVariableMaker.<init>(LocalVariableMaker.java:95)
	at org.jd.core.v1.service.converter.classfiletojavasyntax.visitor.CreateInstructionsVisitor.visit(CreateInstructionsVisitor.java:92)
	at org.jd.core.v1.model.javasyntax.declaration.MethodDeclaration.accept(MethodDeclaration.java:125)
	at org.jd.core.v1.service.converter.classfiletojavasyntax.visitor.CreateInstructionsVisitor.visit(CreateInstructionsVisitor.java:72)
	at org.jd.core.v1.service.converter.classfiletojavasyntax.visitor.UpdateJavaSyntaxTreeVisitor.visit(UpdateJavaSyntaxTreeVisitor.java:59)
	at org.jd.core.v1.model.javasyntax.declaration.BodyDeclaration.accept(BodyDeclaration.java:29)
	at org.jd.core.v1.model.javasyntax.AbstractJavaSyntaxVisitor.safeAccept(AbstractJavaSyntaxVisitor.java:591)
	at org.jd.core.v1.service.converter.classfiletojavasyntax.visitor.UpdateJavaSyntaxTreeVisitor.visit(UpdateJavaSyntaxTreeVisitor.java:76)
	at org.jd.core.v1.model.javasyntax.declaration.ClassDeclaration.accept(ClassDeclaration.java:33)
	at org.jd.core.v1.model.javasyntax.AbstractJavaSyntaxVisitor.visit(AbstractJavaSyntaxVisitor.java:23)
	at org.jd.core.v1.service.converter.classfiletojavasyntax.processor.UpdateJavaSyntaxTreeProcessor.process(UpdateJavaSyntaxTreeProcessor.java:32)
	at org.jd.core.v1.service.converter.classfiletojavasyntax.ClassFileToJavaSyntaxProcessor.process(ClassFileToJavaSyntaxProcessor.java:40)
	at org.jd.core.v1.ClassFileToJavaSourceDecompiler.decompile(ClassFileToJavaSourceDecompiler.java:54)
	at org.jd.core.v1.ClassFileToJavaSourceDecompiler.decompile(ClassFileToJavaSourceDecompiler.java:38)
	at com.github.kwart.jd.JavaDecompiler.decompileClass(JavaDecompiler.java:58)
	at com.github.kwart.jd.input.ZipFileInput.decompile(ZipFileInput.java:86)
	at com.github.kwart.jd.cli.Main.main(Main.java:98)

The same file with OpenJDK:

$ jd-cli -n -od /tmp/ibm-src jre/lib/ibmpkcs.jar
13:42:36.947 INFO  com.github.kwart.jd.cli.Main - Decompiling jre/lib/ibmpkcs.jar
13:42:36.951 INFO  com.github.kwart.jd.output.DirOutput - Directory output will be initialized for path /tmp/ibm-src
13:42:38.639 INFO  com.github.kwart.jd.output.DirOutput - Finished with 329 class file(s) and 1 resource file(s) written.

Build fail

Cannot resolve plugin org.apache.maven.plugins:maven-checkstyle-plugin:3.1.0
Cannot resolve plugin org.apache.maven.plugins:maven-checkstyle-plugin:3.1.0
Cannot resolve plugin org.apache.maven.plugins:maven-checkstyle-plugin:3.1.0

Different output from JD_GUI

I was using this via a script to auto decompile some dexguarded class files - but annoyingly it gives differnt output to JD-GUIs 'Export sources' for obfuscated classes - just loads of empty 10 byte .java
files :(

Does not decompile inner jar files

I have a ear file with multiple jar files inside it. On using this tool, only the class files inside are decompiled, files inside inner jars are untouched

invokation of dll

hey , im using the api at intellij , when decompiling some apk pop up a message box and waits for user to click 'ok' button ,after debugging i saw that the message comes after invokation of dll file : "libjd-intellij.dll" in the 'native' folder , can i have the dll file source so i can modify it to skip the message box ?
after clicking ok button the console prints :
WARN jd.core.output.DirOutput - Class name or java source is null.
but at the end i do have the ouput decompiled files ... how can i bypass the dialog message ?
is there a way besides editing the dll file ? and if not i need the dll source so i can modify it.
thanx in advance.

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.