从事Java编程的人都知道,可以通过逆向工程反编译得到Java程序的源代码,这种反编译工具之一就是JAD。因此,为保护我们的劳动成果,尽可能给反编译人员制造障碍,我们可以使用Java Obfuscator(Java混淆器)保护Java的类文件。
Java Obfuscator的原理就是将字节码转换为一个逻辑上的对等物,这种转换后的版本极难拆散。即使有人试图去反编译,过程将极其艰难复杂,并很难绕过转换后模糊晦涩的编码。主要的过程如下:
用一个常规编译器(比如JDK)编译Java源代码运行混淆器,在受保护的环境下生成编译类文件。最后生成的会是一个不同的输出文档,也许扩展名也会不同。
这个被重命名为.class file的文件在功能上与原字节码是对等的,由于虚拟机仍然可以对其进行解译,因此对性能不会产生影响。
以下是一些可用来混淆(obfuscate)Java字节码的工具:
Zelix KlassMaster
Zelix KlassMaster是一款用Java写的实用工具,能读取和修改Java类文件,可以运行在任何支持1.1.6版Java虚拟机的平台上。
下载:http://www.zdnetindia.com/downloads/info/898255.html
Cinnabar Canner
Canner通过创建一个原生Windows可执行文件(EXE文件)保护你的代码不被逆向工程反编译,这个可执行文件包含了你的应用程序类和资源的全部加密版本,只有在被JVM调用到内存中时才处于非加密状态。
网站:http://www.cinnabarsystems.com/canner.html
下载:http://www.cinnabarsystems.com/download.html
Jmangle Java类粉碎机
Jmangle是用来阻止反编译Java程序,降低盗版的软件,开发者可用其粉碎类文件中的符号。
网站:http://www.elegant-software.com/software/jmangle/
下载:http://www.elegant-software.com/software/jmangle/download.html
RetroGuard
JavaGuard是一款通用的字节码混淆器,用来无缝融入你的日常构建和测试过程中,使得你辛苦编写宝贵的Java代码更加安全。
网站:http://java-source.net/open-source/obfuscators/javaguard
JODE
JODE是一款含Java解码器和优化器的java包。
网站:http://java-source.net/open-source/obfuscators/jode
最后要说的是,你也可使用其他几款类似的实用工具,这些工具运用许多不同的方法达到了相同的目标。他们也有共同之处,就是允许通过不同的过程转换生成.exe文件,将.class和.jar文件模糊化。Google Directory上有一张它们的综合列表:
http://directory.google.com/Top/Computers/Programming/Languages/Java/Development_Tools/Obfus
相关推荐
### Java混淆器的作用 在软件开发领域,尤其是Java编程中,源代码保护是一个非常重要的话题。随着技术的发展,软件知识产权的保护变得越来越复杂。对于开发者来说,编写好的代码往往包含了很多独创性的算法、业务...
Java混淆器是开发Java应用程序时一个非常重要的工具,它的主要目的是保护代码安全,防止未经授权的逆向工程分析。本文将详细介绍Java混淆器的工作原理、重要性以及如何使用,特别是基于ProGuard 4.6版本的操作流程。...
### Java混淆器的设计与实现 #### 一、引言 随着计算机网络技术和分布式系统的迅速发展,Java语言凭借其良好的跨平台特性,在学术界和商业领域得到了广泛应用。Java程序的运行依赖于Java虚拟机(Java Virtual ...
java混淆器 RetroGuard 免费提供源码 可运行jar文件 Java 代码编译后生成的 .class 中包含有源代码中的所有信息(不包括注释),尤其是在其中保存有调试信息的时候。所以一个按照正常方式编译的 Java .class 文件...
Java混淆器是Java开发者在发布应用程序时经常使用的一种工具,主要目的是为了保护代码不被轻易逆向工程解析,增加代码的保密性和安全性。本篇文章将深入探讨Java混淆器的原理、作用以及如何使用ProGuard这款经典的...
Java混淆器,如Jocky和RetroGuard,是开发者用来增强代码安全性的工具,主要目的是防止Java类文件被轻易地反编译,从而保护软件的知识产权。在Android开发中,混淆尤其重要,因为Android应用的主要代码是用Java编写...
java混淆器,能够对jar、private、public、protect等混淆,防止java的class文件被盗用
Java混淆器是开发人员在发布Java应用程序时常常使用的工具,主要目的是为了保护代码不被轻易反编译和理解。Jocky1.0.3(原名JOC)是一款这样的混淆器,它提供了对Java代码的混淆功能,有助于增强代码的安全性。这个...
Java混淆器 窗口界面 带中文帮助文档 运行: 命令行:JDK路径/bin/java -Xmx384m -jar Encrypt.jar 说明:如果被加密的文件需要第三方插件(*.jar),请把(*.jar)文件Copy到JDK路径\jre\lib\ext\目录下
对外接口联调保护你的Java源码-Java混淆器Allatori-7.5@集成eclipse编译 Obfuscation with Setting Classpath Single Jar Packaging Introduction to Watermarks Using Stack Trace Utility Integration with Apache...
敏创Java混淆器是广州市敏创信息科技有限公司在保护自己的Java源代码过程中积累的一套实用工具,可以有效地对Java代码进行混淆,达到保护自己知识产权的目的。 工具可以去除空格,回车,注释,有效地减小Java文件...
一个开源的java代码混淆器!
Jocky:在生成class文件的过程中(即编译过程),通过修改编译器的代码生成过程,对编译器生成的中间代码进行混淆,...本人发布的这个混淆器,只需要在 Allatori-3.2-Demo\tutorial\step1目录下修改相应的配置文件即可
Allatori 是第二代 Java 混淆器,可为您的知识产权提供全方位的保护。 尽管大多数第二代混淆器都提供了值得保护的级别,但我们已经在Allatori中开发了许多附加功能,以使对代码进行逆向工程几乎不可能。 Allatori ...
混淆器 如果您对更强大的混淆方法感兴趣,请随意看看我的新项目masxinlingvonta,它通过将 Java 字节码编译为本机代码来进一步混淆它。Java 字节码混淆器支持流程混淆删除行号数字混淆[不稳定] 使用自定义字典进行...