Java Decompiler, OBFUSCATOR, Exe - Yash-777/javaDecompiler GitHub Wiki
Jar, Zip file Actions:
Jarcomp is a comparison tool for Jar files and Zip files. It's free and cross-platform.
If you have two jar files or two zip files, it will show you what the differences are in the contents. It shows which files have been added, which have been removed, and which are present in both archives. If a file is found in both, it will tell you whether the file has grown bigger or been reduced in size, or if it's the same size in both. If it's the same size, an md5 checksum can be made for both files to see whether they're really the same contents or just the same size.
It can be useful to compare different versions of the same archive, for example to check that no files were accidentally added or forgotten, and that all the changes to the files are the ones intended.
Screenshot from a Linux system showing a comparison of two jars
-
JD-GUI
, a standalone graphical utility that displays Java sources from CLASS files.
-
Luyten
« An Open Source Java Decompiler Gui
Java bytecode obfuscator and shrinker that improves your software deployment by prohibiting unwanted access to your source code and drastically shrinking the processed Jar files at the same time.
- Name Obfuscation
Name obfuscation is the process of replacing the identifiers you have carefully chosen to your company's coding standards, such as com.mycompany.TradeSystem.Security.checkFingerprint(), with meaningless sequences of characters, e.g. a.a0(). (Of course, a name obfuscator must process the entire application to ensure consistency of name changes across all classes and jars.)
An Internet search for "Java obfuscator" would return way too many results. For your convenience, I have reduced the list to a handful of actively maintained products, both commercial and free.
Product | License | Price |
---|---|---|
yGuard | Freeware | - |
Allatori | Proprietary | $ |
Dash-O-Pro | Proprietary | $$$? |
Stringer | Proprietary | $ |
Zelix Klassmaster | Proprietary | $ |
ProGuard | Open Source | - |
Stack-Post Best Java obfuscator?
How to Create a Splash Screen
Java Foundation Classes, both Swing and Abstract Windowing Toolkit (AWT), enable a developer to create splash screens in Java technology applications. However, because the main purpose of a splash screen is to provide the user with feedback about the application's startup, the delay between the application's startup and the moment when the splash screen pops up should be minimal. Before the splash screen can pop up, the application has to load and initialize the Java™ Virtual Machine (JVM), AWT, Swing, and sometimes application-dependent libraries as well. The resulting delay of several seconds has made the use of a Java™ technology-based splash screen less than desirable.
Try this:
-
Compile the SplashDemo.java file.
-
Save the splash.gif image in the images directory.
-
Prepare the splashmanifest.mf file as follows:
Manifest-Version: 1.0 Main-Class: SplashDemo SplashScreen-Image: images/splash.gif
-
Create a JAR file using the following command:
jar cmf splashmanifest.mf splashDemo.jar SplashDemo*.class images/splash.gif
For more information about JAR files, see Using JAR Files in the Packaging Programs in JAR Files page.
-
Run the application:
java -jar splashDemo.jar
-
Wait until the splash screen has been completly displayed.
-
The application window appears. To close the window choose File|Exit from the pop-up menu or click the X.
Groovy: How to convert .groovy to .exe
Create a Groovy executable JAR with Gradle