My apologies for the belated reply.
I have been working on a new, open source Java decompiler. Feel free to check it out.I have not tested it against any obfuscated code, but I have seen it decompile many methods that JD-GUI failed to handle. Note that it's a work in progress, and I'm sure you will find plenty of code that it will fail to decompile.
Old and Lacking Entries
Some time ago, everyone’s decompiler of choice was jad. Currently, the project is dead (in addition, it wasn’t open source), but still you see a lot of people referring to it.
Also an older tool from fileoffset.com, but still works more or less. The interface is rather clunky to use for larger projects, but the ...
I assume you want to extract a JAR file wrapped inside a .exe generated by launch4j. Launch4j places the jar file in the overlay of the executable, that is after the PE file. To extract it you can search for the string 'PK' from the bottom of the file to find the JAR archive, you should see something like this :
Once you found it, remove all the content ...
Some tools you can use. However note that none of them has the ability to recompile classes, i.e you cannot decompile a single class to source, modify it, and then recompile back. It may be possible using Reflection API but then you need to do a lot of modification on the decompiled source itself. Other ways may be to decompile the entire bunch of classes ...
I was really checking on it and it seems there is a really easy way to do this.
PROGRAM USED : jd-gui
Extract the exe file using any archive manager (eg:WinRar)
Now use this program (jd-gui) to decompile it.
You are done and now you have the code in native java form
You can try using javasnoop (https://code.google.com/p/javasnoop/) to accomplish something similar.
Here's a tutorial for using it -
You can simply grep the file for "javaw.exe" or java.exe... This will usually be a pretty good indicator whether or not the program is a Java wrapper or not.
archenoth@Hathor ~/apps/Minecraft $ grep javaw.exe /host/Windows/notepad.exe
archenoth@Hathor ~/apps/Minecraft $ grep javaw.exe ./Minecraft.exe
Binary file ./Minecraft.exe matches
I'm using https://github.com/JetBrains/intellij-community/tree/master/plugins/java-decompiler/engine
It's the decompiler from IntelliJ, it decompile codes where JD-GUI fail.
It's a unofficial mirror to download:
First of all, there is a fix for Fernflower issue with missing classes here. You can say thank you to agaricusb for this.
For now Fernflower remains the best Java decompiler even It was not maintained for last few years. I've tried to reach the author recently, but still no luck.
As for AndroChef Java Decompiler, It's uses Fernflower as engine with author'...
The Krakatau decompiler will automatically rename the output files to valid filenames if the original class name doesn't correspond to a valid filename.
Note that the original names will still be preserved inside the generated files. As for renaming inside the actual source files, I wrote a script to do that (along with various other deobfuscation scripts) ...
There are three ways to do this:
Decompile the content of the JAR, make your changes to the decompiled source code, recompile the sources, and rebuild the JAR. This works well if the CLASS files aren't obfuscated or overly complex.
As you answered in your question, you could extract the CLASS, hex edit it to make your changes, and add it back into the JAR ...
I gave it my shot at this question but the output is still very obfuscated code you will need to re-run it a few passes through some more deobfuscators the code has alot of goto's code and math, you can do it all by hand but it will take months!.
It seems it contains classes to
Which means this jar file ...
At first thats not obfuscated but just packed.
BIS Guard is pretty useless at all.
There are two ways to retrieve the encrypted classes:
Decompile your jar and reverse the main class of BisGuard (which is deobfuscated)
Empty the LDC "-XX:+DisableAttachMechanism" and attach an agent to dump the classes (https://github.com/karim789/class-dumper-...