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

RetroGuard

JavaGuard是一款通用的字节码混淆器,用来无缝融入你的日常构建和测试过程中,使得你辛苦编写宝贵的Java代码更加安全。

网站:http://java-source.net/open-source/obfuscators/javaguard

最后要说的是,你也可使用其他几款类似的实用工具,这些工具运用许多不同的方法达到了相同的目标。他们也有共同之处,就是允许通过不同的过程转换生成.exe文件,将.class和.jar文件模糊化。Google

Directory上有一张它们的综合列表:

http://directory.google.com/Top/Computers/Programming/Languages/Java/Development_Tools/Obfuscators/

java混淆工具zelix比较_常用的5款java混淆器相关推荐

  1. java etl 工具有哪些_常用的数据集成ETL工具有哪些?

    常用的数据集成ETL工具有哪些?ETL工具用于将异构数据转换为同类数据,然后由数据科学家用于从数据中获得有价值的数据,常用的ETL工具有Microsoft-SQL Server集成服务.AWS Glu ...

  2. java定义语法解析器,java开发工具intellij idea使用教程:定义语法和解析器.pdf

    java开发工具intellij idea使用教程:定义语法和解析器.pdf 还剩 3页未读, 继续阅读 下载文档到电脑,马上远离加班熬夜! 亲,喜欢就下载吧,价低环保! 内容要点: 慧都 科技 -- ...

  3. java混淆工具zelix比较_vscode,java环境

    vscode快速搭建java开发环境: 在 Build 2015 大会上,微软除了发布了 Microsoft Edge 浏览器和新的 Windows 10 系统外,最大的惊喜莫过于宣布推出免费跨平台的 ...

  4. js编码java解码_常用的js、java编码解码方法

    前言 前后端直接传输数据进行交互不就行了吗,为什么还要进行编码解码?正常情况下直接交互没问题,但当有类似以下情况出现时就需要进行编码再进行传输: 1.编码格式难以统一,导致数据交互过程出现中文乱码等问 ...

  5. java开发者工具开源版_开源工具如何帮助飓风受害者

    java开发者工具开源版 在哈维飓风最近横扫休斯顿地区并造成灾难性的洪水和破坏之后, 斯蒂芬·奥斯汀社区卫生网络 (SFA)Swift采取了对策,利用开源技术来覆盖德克萨斯州受灾地区的患者和危机受害者 ...

  6. 免费的java开发工具_Java那些最常用的免费开放工具,分享这15个!

    随着Java行业需求增加,Java工程师岗位薪资节节升高,很多小伙伴想要通过快速的方式掌握Java技能.对于初学Java的小伙伴来说了解一些免费的Java开发工具让我们工作.学习更顺畅,那么免费Jav ...

  7. java源码聊天软件_【原创】基于Java NIO的多人在线聊天工具源码实现(登录,单聊,群聊)...

    近来在学习Java NIO网络开发知识,写了一个基于Java NIO的多人在线聊天工具MyChat练练手.源码公开在Coding上: 编写一个基于Java NIO的多人在线聊天工具,需要以下几方面的知 ...

  8. python常用的集成开发环境和编辑器有哪些_常用的几款Python集成开发环境或者编辑器详解...

    Python3开发常用工具一:为什么使用开发工具? 在Python3教程之<安装>中,我们已经安装了Python开发环境,但是在终端里执行相关命令始终是不能开发大型项目的,并且对写过的代码 ...

  9. java webservice报文过长_工作1-5年的Java程序猿到底需要怎样的一个技术栈?

    工作1-5年的Java程序猿到底需要怎样的一个技术栈? 前言: 具有1-5年开发经验的程序员 需要学习的内容其实还有很多很多. 今天跟大家交流一下希望分享出来的对大家能够有帮助,这是我这些年总结出的一 ...

  10. java是脚本语言吗_从脚本语言到Java

    从脚本语言到Java 板桥里人 jdon.com 2002/3 以前我是一直用脚本语言,使用多了,不知不觉一直把数据库设计当作系统设计的主要任务,使用java后,我觉得数据库设计只是一个基础 和前期工 ...

最新文章

  1. 5G和AI机器人平台
  2. 在Windows2016中回到DOS时代用tt练习打字
  3. UVA11520填充正方形
  4. 全球及中国生物仿制药淋巴细胞调节剂行业需求潜力分析及及投资规划研究报告2021-2027年
  5. GitLab创建空仓库后拉取并上传文件遇到的系列问题
  6. CoreCLR源码探索(四) GC内存收集器的内部实现 分析篇
  7. [Python技巧]如何加快循环操作和Numpy数组运算速度
  8. Mybatis 原始Dao层开发
  9. 轻松生成ip地址的姿势,最快得到批量***目标
  10. mysql sql语句面试经典50题_常见的SQL面试题:经典50题(简单)
  11. fcitx-configtool
  12. 虚拟机启动黑屏_模拟器启动失败解决方法
  13. xls文件格式与扩展名不匹配php,excel表格的文件格式和扩展名不匹配怎么办
  14. 计算机音乐怎么调音速,音频实现变声?学会使用Studio One改变音速
  15. The OpenGL® Shading Language, Version 4.60.7 翻译第一章
  16. teamviewer付费版,授权轻松访问后还是每次电脑重启后还需要输入密码问题。
  17. es7版本数据备份与恢复(生产环境)
  18. C++ 无法打开源文件windows.h
  19. Android动态桌面,设置壁纸篇
  20. 关于计算机专业演讲稿30个字,计算机专业组长竞聘演讲稿

热门文章

  1. 3DGIS 与 BIM 融合技术方案
  2. 大学女生全面超男生,一个标志性事件
  3. 2022年深圳市集成电路专项资助计划项目申报条件及材料,补贴3000万
  4. οnchange相当于前端js函数,可以实现前端实时更新以及修改验证
  5. TFS2010用户解锁
  6. 智能客服FAQ问答任务的技术选型探讨
  7. dev 饼形图_是时候与饼形图分手了
  8. 怎么查看html隐藏代码,隐藏HTML源代码 怎样查看网页中隐藏的html源码
  9. ABB变频器电路图 ACS510图纸 ACS550原理图 ACS800变频器。pdf格式
  10. 锐捷客户端的默认网关跟ipv4的网关不一样