java - 任何人都可以使用任何 Java 应用程序的代码吗?

标签 java class reverse-engineering bytecode

任何类文件都可以相对容易地反编译为原始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/

相关文章:

java.lang.NoSuchMethodException : package. ClassName.<init>() 使用 Class<?>

java - Aws Lambda 访问 META-INF/MANIFEST.MF?

java - 该方法未按方法中的预期显示

c# - 类设计——如何管理多线程响应

windows-7 - VB3反编译器?

Java逆向工程教程

java - 无状态 resteasy EntityManager 注入(inject)?

java - 交易和发送电子邮件

Java - 如何测试抽象类的非抽象方法?