如何使类文件不可组合

时间:2013-03-04 10:08:23

标签: java class decompiler

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

谢谢

1 个答案:

答案 0 :(得分:0)

  

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

简单的答案是你做不到。

反汇编(对于人类可读的字节码)是微不足道的。甚至还有一个可以做到的JDK工具。

如果使用混淆器,则反编译为Java代码可能部分失败。混淆器可以做一些事情来删除有用的符号,并混淆典型的反编译器,以便它们产生不可编译的“代码”。但是,具有中等技能(和动机/持久性)的黑客无论如何都可以弄清楚你的代码在做什么,并将反编译输出手动编辑为可编译的Java(如果这是他/她的意图)。

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


并且你无法说服反编译器/反汇编程序告诉用户/黑客他不能反编译/反汇编。一开始就是一个“大胖子”...