很少人问的问题,防止反编译,大家给点意见

解决方案 »

  1.   

    Java很容易通过反编译来获得原代码,硬伤,不容易解决。
    我们试图通过其它手段来保护自己的代码,楼上所讲的混淆是一种运用非常普遍的方法,即使有人反编译了你的代码,还是很难读懂。JADE是一个保护Java产品以防止其被反编译的工具:
    JADE由五部分组成:混淆器、加密器、封装器、类编辑器和输出工具。 
    混淆器能够保护软件使之不被反编译。它通过混淆类文件使得反编译无效,并把敏感的名字指代变成另一个名字空间,这样可以使反编译的结果毫无疑义。混淆器有“完全”和“快速”两种选项,能处理任何Java产品包括API,应用程序和小程序。它遵从Java虚机规范。 
    加密器隐藏和加密用户产品的主类,处理的结果是一个类文件。它为编码和反编码提供了提供了一个界面。JADE有一些类用DES完成这个界面。加密和解密的过程对于用户来说是透明的。用户感觉不到使用原始的主类和使用处理后的结果类有什么不同。当然,用户也可以不加密地处理这些主类和产品。 
    封装器不仅仅处理类文件,它还隐藏和加密在产品根目录下的其它文件。它封装产品并只产生一个类。软件厂商把这个类销售给用户,用户将运行这个类文件,安装买来的软件。封装器使用和加密器相同的安全类。 
    对于高级Java开发人员,JADE还提供了一个叫做“类编辑器”的工具。它能够直接修改类的代码字节。类编辑器也是一个独立的应用程序,它将把所有的结果生成到jar格式的的文件里。 
    输出工具把所有的结果生成到一个jar个是的文件中生成到一个jar格式的文件中,这个文件能够被其它的压缩工具如Unzip, Winzip和Jar处理。