任何类文件都可以相对容易地反编译为原始Java源代码。
这是否意味着任何 Java 程序的源代码,除非以某种方式加密,否则任何拥有最终程序的人都相对容易获得?
如果是这样,那么对于不想让任何人知道他们的商业 secret 或他们的工作成果的大公司来说,这不是一个问题吗?
最佳答案
Open source指许可证。例如,您可以拥有非开源程序的源代码。
一般来说,不,您的原始源代码不对任何人开放 - 如果您担心这一点,您可以轻松地使用混淆和加密等方法。查看this question .
但是 Java 字节码可以反向工程为 Java 源代码。您可以在这里查看以获取更多信息:http://resources.infosecinstitute.com/java-bytecode-reverse-engineering .
If so, then isn't this a problem for major companies that don't want their trade secrets or their work available to anyone?
为什么会这样? Java 通常运行在服务器端,在那里你甚至无法访问字节码。我敢打赌,如果您正在创建桌面应用程序,您对其进行逆向工程的可能性与盗版的可能性一样大。
从本质上讲,可以从字节码中获取源代码,但您可以防止这种情况发生,这通常没什么大不了的。
关于java - 任何人都可以使用任何 Java 应用程序的代码吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22431217/