【IT168 技术文档】

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

相关文章:http://blog.csdn.net/jiulong/article/details/593426

http://www.oschina.net/p/proguard

转载于:https://www.cnblogs.com/langtianya/p/3757661.html

5个常用Java代码混淆器 助你保护你的代码相关推荐

  1. Java培训分享5个常用Java代码混淆器

    对于Java程序员来说,如果辛辛苦苦写的代码被人摽窃走,将是一件非常恼火的事情.如何保护自己的代码呢,可以通过逆向工程反编译得到Java程序的源代码,这种反编译工具之一就是JAD,尽可能给反编译人员制 ...

  2. JAVA代码混淆器大全

      JAVA代码混淆器大全 Author/Company Program Shrink. Optim. Obfusc. Preverif. License Eric Lafortune ProGuar ...

  3. 分享:几款代码混淆器(DotFuscator, .NET Reactor, xenocode)

    在介绍工具之前,我需要说明几点: 1.如果你编写的软件不涉及商业用途的话,本着开源的思想,本人不推荐使用代码混淆器 2.使用代码混淆器存在一定的风险,在使用前最好做好相关代码备份 3.凡是需要序列化成 ...

  4. C/C++代码混淆器

    原文地址:https://foxzzz.com/c-cpp-disorder 试图通过混淆 C/C++源代码以达到保护知识产权的目的的做法其实就是自欺欺人,因为不论如何混淆代码,到了编译阶段代码终究是 ...

  5. 【如何给iOS APP加固】之代码混淆及加密 第一章【附代码】

    为了给iOS app加固,我们可以采取以下几种方式: 1.代码混淆 代码混淆是通过修改源代码结构和变量名,使得代码难以被理解和反编译.这可以防止黑客获取应用程序的代码,因为即使他们能够获得源代码,也会 ...

  6. java代码混淆器proguard使用大法3种

    ProGuard注意事项 1.反射调用类或者方法,可能失败 2.对外接口的类和方法,不要混淆 3.嵌套类 4.native方法 5.枚举类 https://www.guardsquare.com/en ...

  7. 帮我写一个基于java的朗读器可以自动分析本文情感的代码

    很高兴为您服务.这里是一段基于Java的朗读器代码,它可以自动分析本文情感: import java.io.File; import java.io.FileInputStream; import j ...

  8. 代码混淆的原理是什么?常见代码混淆方法介绍

    移动应用代码安全非常重要,代码逆向会导致代码逻辑被获取,进一步导致控制流被hook,安全防线被破,给APP安全带来巨大风险,因此开发者一般都会进行代码混淆保护.本文主要介绍了代码混淆的原理.方法.以及 ...

  9. Python-编写Python脚本进行iOS代码混淆(iOS防黑加固之代码混淆篇)

    前言 最近一直在看Python,也很喜欢Python的灵活性:今天主要想说的是iOS的代码混淆,为什么想做代码混淆?为了APP的安全,为了防止别人破壳轻易破解我们代码:还有就是做 马甲包 了,我们知道 ...

最新文章

  1. push notification for iphone
  2. javascript里的面向对象
  3. 熊猫分发_熊猫新手:第一部分
  4. JAVA 内存模型 (Java Memory Model,JMM)
  5. 如何使用Docker轻松集成OnlyOffice和NextCloud--快速搭建私有云办公系统/私有云盘/私有OfficeOnline
  6. ORA-15096: lost disk write detected的解决与修复
  7. 什么是 Caché?
  8. Seata多微服务互相调用_全局分布式事物使用案例_Order-Module order微服务的配置搭建_写代码下---微服务升级_SpringCloud Alibaba工作笔记0062
  9. 使用WinIO库实现保护模式下的IO和内存读写(_inp,_outp)
  10. Sequence Diagram时序图 - 应该是最简洁有力的业务了
  11. 算法:Jump Game
  12. 麦咖啡企业版McAfee VirusScan Enterprise v8.8授权版
  13. html5妇女节游戏,适合妇女节玩的小游戏
  14. 软件测试工程师笔试题目
  15. 2021-11-13 信道划分介质访问控制ALOHA协议CSMA协议
  16. ElementPlus 侧边栏右侧空隙
  17. 玻璃纤维防火毯的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
  18. win7进去提醒未能连接一个服务器,win7系统提示“未能连接一个windows服务”这个情况如何解决...
  19. 【精讲】微信小程序 基础内容(组件)入门
  20. leetcode每日一题·救生艇问题(Python)

热门文章

  1. c# tcp显示服务器图片,C# TCP通迅原码(服务器与客户端相互发送文本与图片)
  2. java异常例子_java 异常的实例详解
  3. k8s nodeport无法访问_k8s学习之service详解
  4. 华为服务器内存条在主板位置,服务器主板内存
  5. python3程序下载安装_程序猿的语言,Python 3.7.0下载安装
  6. 三无网站怎样通过服务器审核的,面对“三无”网站该怎么解决?
  7. 循序渐进:带你理解什么是Java内存模型
  8. 基于梯度方向、极化变换和聚类算法的图像主特征直线检测
  9. 一台服务器两个mysql_在一台服务器上安装两个或多个mysql的实现步骤_MySQL
  10. 编译 ORB_SLAM2 (一)