Hello Experts, I have a serious question. Assume, I want to develop a commercial software, putting in lots of functionalities. I do not want to give away my source doe in the form of class files which can be decompiled to extract the source code. My questions are as follows:
1. How do I create my program as a exe file (Similar to VB where the source cannot be extracted)? 2. How do I ensure that my source code is safe and secure? 3. How do i ensure that the class files I create are not taken away and the class file is not decompiled and used?
May be the questions are naive, but then I'm desperately looking for answers.
On your way in you may have missed that we have a policy on screen names here at JavaRanch. Basically, it must consist of a first name, a space, and a last name, and not be obviously fictitious. Since yours does not conform with it, please take a moment to change it, which you can do right here.
As to your questions:
1. How do I create my program as a exe file (Similar to VB where the source cannot be extracted)?
Compilers exist that create native code (as opposed to bytecode), e.g. GCJ. They may not be able to preserve all semantics of dynamic Java code, but it may be worth to try and see what it can do for your application.
2. How do I ensure that my source code is safe and secure?
I don't understand this. You're not giving away the source code with the executable, are you? So there's nothing to be concerned about.
3. How do i ensure that the class files I create are not taken away and the class file is not decompiled and used?
Class files can always be decompiled. You can make it harder to decompile, and harder to make sense of the source, but a technically savvy attacker can always recover the source. Some hints on what you can do can be found here, up to keeping critical parts of the source running online on a server you control.