Java 如何使类文件不可分解

Java 如何使类文件不可分解,java,class,decompiler,Java,Class,Decompiler,假设我编写了一个JAVA程序,并创建了JAR文件。我怎样才能使它,如果有人从JAR中提取类文件,他就不能反汇编它?例如,如果您使用DJ JAVA反编译器,您应该会看到一条错误消息,您无法反汇编此文件。我已经看到这个消息了。那么,如何锁定类文件呢 多谢各位 我怎样才能做到,如果有人从JAR中提取类文件,他就不能反汇编它 简单的答案是你不能 对人类可读字节码的反汇编是很简单的。甚至有一个JDK工具可以做到这一点 如果使用模糊器,对Java代码的反编译可能会部分失败。混淆器可以删除有用的符号,混淆典型

假设我编写了一个JAVA程序,并创建了JAR文件。我怎样才能使它,如果有人从JAR中提取类文件,他就不能反汇编它?例如,如果您使用DJ JAVA反编译器,您应该会看到一条错误消息,您无法反汇编此文件。我已经看到这个消息了。那么,如何锁定类文件呢

多谢各位

我怎样才能做到,如果有人从JAR中提取类文件,他就不能反汇编它

简单的答案是你不能

对人类可读字节码的反汇编是很简单的。甚至有一个JDK工具可以做到这一点

如果使用模糊器,对Java代码的反编译可能会部分失败。混淆器可以删除有用的符号,混淆典型的反编译器,从而生成不可编译的代码。但是,具有中等技能和动机/持久性的黑客可以弄清楚您的代码到底在做什么,并手动将反编译器输出编辑成可编译的Java(如果这是他/她的意图)

有时建议的另一种方法是加密字节码。不幸的是,对于黑客来说,回避比混淆更容易。在某个时刻,您的应用程序必须解密字节码才能加载它们。黑客需要做的就是拦截它们

你无法说服反编译/反汇编程序告诉用户/黑客他不能反编译/反汇编。首先,这将是一个巨大的谎言…

重复