• 5个常用Java代码混淆器 助你保护你的代码


     从事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

  • 相关阅读:
    省市三级联动
    Python 函数中,参数是传值,还是传引用?
    CSRF(Cross Site Request Forgery, 跨站域请求伪造)
    Django 中间件
    python的内存管理机制
    adb的一些常用的命令
    ant使用备忘
    关于如何以编程的方式执行TestNG
    关于使用testng的retry问题
    SSH中将hibernate托管给spring获取session的方法
  • 原文地址:https://www.cnblogs.com/scud001/p/3259114.html
Copyright © 2020-2023  润新知