Java有.class文件,它是可执行文件/二进制文件。同样,Python或Javascript的功能是什么?
在java.class文件中,隐藏了实际的源代码,并且只能执行。我不熟悉Python和JavaScript语言,这些语言如何保护源代码?它们是否也有类似于源代码中不可见的.class文件?Python相当于Java的Java有.class文件,它是可执行文件/二进制文件。同样,Python或Javascript的功能是什么?,javascript,python,Javascript,Python,在java.class文件中,隐藏了实际的源代码,并且只能执行。我不熟悉Python和JavaScript语言,这些语言如何保护源代码?它们是否也有类似于源代码中不可见的.class文件?Python相当于Java的。class文件是.pyc文件。但这比文件更容易反编译(翻译回Python)。Javascript作为Javascript分发,而不是编译。虽然它通常是缩小的性能 保护源代码的方式是使用许可证和版权法。您可能正在寻找代码混淆器,但这只会阻止偶然的黑客,并且只会减慢某些人的速度。现在,
。class
文件是.pyc
文件。但这比文件更容易反编译(翻译回Python)。Javascript作为Javascript分发,而不是编译。虽然它通常是缩小的性能
保护源代码的方式是使用许可证和版权法。您可能正在寻找代码混淆器,但这只会阻止偶然的黑客,并且只会减慢某些人的速度。现在,即使是使用高级DRM的大预算游戏也会很快被破解。我认为您在这里制造了相当多的混乱
首先,.class
文件不是用于“代码保护”(稍后我们将了解这意味着什么),而是用于执行的编译文件。简单地说,您不能执行.java
文件,它们必须在.class
文件中编译。这是因为Java被编译成字节码(Java虚拟机的机器语言),由JVM执行。Javascript和Python都可以在不编译的情况下执行(有Javascript/Python解释器直接运行.js
或.py
文件)。Python中有一些中间文件,扩展名为pyc
,它们与.class
文件类似,但它们同样不利于保护代码
现在,如果您希望有人能够执行您的代码而不必阅读它,您必须记住两件事:
反编译器/除臭剂等存在,并非常擅长其工作李>
在Java中,JVM执行编译后的代码,Python和Javascript的解释器在编写代码时执行代码李>
您可以尝试混淆代码,但任何人都可以使用正确的工具对其进行除臭。这是否意味着Python代码比Java代码受到的保护更少?不,您可以反编译.class
和.jar
文件来读取源代码(事实上,每次导航到库类或方法的实现时,它都会在IntelliJ Idea中自动完成)
因此,如果您希望人们使用您的软件,但不希望他们复制,您有两种方法:
不要分发软件,走SaaS的道路李>
找一位好律师,向他们咨询如何根据当地法律保护您的产品李>
.class
文件不是源代码保护机制。.class
文件是源代码保护机制,那么您的实际问题是什么?隐藏源代码的唯一方法是不分发源代码(即将其作为服务提供)。当然,客户端Javascript是不可能的。为了保护Python/Java代码,请将其转换为网页并部署在某些服务器上。然后用户可以使用它,但他们无法访问带有代码的文件。使用JavaScript你不能隐藏代码。请注意,版权和许可证是两个截然不同的东西。第一个(至少在美国)自动授予作者或其雇主。你通常需要为第二个选择一个,你解释得很好。非常感谢。