3

I have one critical issue to solve. I have one critical application written in JAVA, Build executable JAR file out of it and now using launch4J to warp it in EXE for Windows.

My main aim is to hide JAVA code/Classes from the user as it contains some algorithms and info which is sensitive.

The problem I am facing here is explained step by step:

1) I have One JAVA Application

2) From IntelliJ, I have created an executable JAR file from my project which has main() method and other critical algorithms implemented.

3) To protect my Java Code from reverse engineering, I have used launch4J utility and I got one EXE file as an output

4) Now during testing I have right Clicked on this EXE file and Extracted using WinZip. (By selecting Extract here... option)

5) Now I can see all the classes extracted from the JAR file I have provided to build EXE.

6) By this, Now my code is clearly visible. ( Even after Obfuscation, Some keys (Strings) are visible which is a kind of sensitive info for our project)

Solution I am looking for

1) Can I encrypt my JAR file in such a way that, No one will be able to read the code (I know obfuscation is the way, but to as JVM will not understand machine level code, somewhere code has to be translated to byte code and that will be visible through java class de-compiler), but if still there is any other way to do this?

2) Is it possible to protect EXE to get UnZipped?

3) Can I protect my EXE to be unziped by using some Password?

4) Any IntelliJ plugin to build EXE file from java code? (Ahead Of time compilation I am talking about)

5) Any other possibility?

Akshay
  • 85
  • 7
  • 1
    did you find anything ? – mrid May 29 '19 at 10:14
  • @mird There is no solution till we get "Ahead of time compiler" provided by some version of Java in future. Not sure if it is already released. Native code compilation is the only way to protect code. – Akshay Sep 04 '19 at 08:07

0 Answers0