从事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上有一张它们的综合列表:
分享到:
相关推荐
Java代码混淆器ProGuard是Java开发中用于保护和优化应用程序的重要工具。它的主要功能是对Java字节码进行混淆,使得代码难以被逆向工程解析,从而提高代码的安全性。混淆过程中,函数变量、类和方法名会被重命名为...
Java代码混淆是一种安全措施,主要用于保护Java应用程序的源代码不被未经授权的人员逆向工程解析。Allatori就是一款专门用于Java代码混淆的工具,它能够将可读性强的Java字节码转换为难以理解的形式,以此增加逆向...
**ProGuard工具包详解——Java代码混淆** 在Java开发中,为了提高应用程序的安全性和保护知识产权,开发者常常会使用一种称为“代码混淆”的技术。ProGuard是Android和Java平台上的一个强大的开源工具,它能实现...
java代码混淆工具 简单使用docx 字典文件 生成的配置示例
Java代码混淆是保护软件知识产权的重要手段,特别是在开源或者发布商业应用时,为了防止恶意用户反编译源码,理解并篡改程序逻辑,开发者通常会采用代码混淆技术。ProGuard是一款广泛使用的Java代码混淆工具,它能...
Jockey跟其他混淆工具不同的是:它是直接对编译过程做文章,也就是在把java文件编译为class文件的过程中对代码进行混淆,混淆后的代码中包含很多JVM 指令,大家知道JVM指令是面向机器的,人类一般很难看懂!...
经典的Java代码混淆工具,可以混淆class,jar类型的文件,防止被反编译,对需要进行源码保护的代码很有用。
Java代码混淆器是一种用于保护Java源代码安全的技术,通过让源代码变得难以理解和反编译,从而达到防止源代码泄露和被恶意利用的目的。在目前Java字节码反编译变得十分容易的背景下,源代码的混淆显得尤为重要。 ...
两款java代码混淆工具 1:jocky是eclipse的插件 2:Allatori-4.6
Java代码混淆是保护Java应用程序源代码安全的一种技术手段,它通过改变代码的可读性来增加逆向工程的难度,防止恶意用户分析和篡改代码。在这个“java 代码混淆,网上可以找到的demo”中,我们可以探讨一些关键概念...
yGuard是一款专业的Java代码混淆工具,它主要用于保护Java应用程序,防止恶意用户逆向工程分析代码,从而保护知识产权和商业机密。代码混淆是通过改变源代码中的类名、方法名、变量名,甚至修改字节码,使得原始代码...
Allatori 是第二代 Java 混淆器,可为您的知识产权提供全方位的保护。 尽管大多数第二代混淆器都提供了值得保护的级别,但我们已经在Allatori中开发了许多附加功能,以使对代码进行逆向工程几乎不可能。 Allatori ...
proguard是一个java代码混淆工具,并提供了图形化用户界面,它也可以结合Ant或J2ME Wireless Toolkit使用。通过ProGuard得到的更精简的jar文件意味着只需要更小的存储空间混淆环节会用无意义的短变量去重命名类、...
Allatori 是一个功能强大的Java代码混淆器,它提供了多种混淆策略,包括变量名、类名、方法名的重命名,控制流混淆,字符串加密等,使得阅读混淆后的代码变得极其困难。在保护源代码的同时,Allatori 确保混淆过程...
很好用的一个代码混淆工具,混淆后可以防止被反编译。很容易用。
Java代码混淆是一种安全措施,主要用于保护应用程序的源代码不被逆向工程分析。在这个教程中,我们将关注一个名为Jocky的编译级混淆器。Jocky设计用于整体编译混淆,它不适合分别编译各个模块,因为这样做可能会导致...
Java代码混淆是保护Java应用程序源代码安全的一种技术,主要目的是为了增加反编译的难度,降低代码被恶意篡改或分析的可能性。ProGuard是一款非常流行的开源混淆工具,它支持Java字节码处理,包括优化、压缩、混淆和...
allatori第二代Java代码混淆器Maven打包配置,依赖库,以及配置文件。示例运行,可行。
Java代码混淆工具ProGuard是Java开发中用于保护和优化应用程序的重要工具。它的主要功能是对Java字节码进行混淆、优化、缩小和预校验,从而提高应用的安全性和性能。ProGuard 4.5.1是该工具的一个版本,发布于2010年...