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

从事Android App开发的都知道,一旦应用被破解,什么源代码、资源文件等都可能泄露,重要点有so文件的支付类、金融类应用等安全更是容易受到威胁!就Java语言编程,可以通过逆向工程反编译得到Java程序的源代码,这种反编译工具有jad 、dex2jar 、jdec 、Dedexer 等。因此,为保护我们的劳动成果,尽可能给反编译人员制造障碍,我们可以用一些代码混淆器混淆代码,保护Java的类文件。然后,在混淆的基础上再做一层深层保护——加密。这个方法现在也比较流行,目前,有这方面技术的,有爱加密。对Android应用安全性有要求的都应该去了解下http://www.ijiami.cn/

下面,介绍下几个可用来混淆Java字节码的工具:

1、Zelix KlassMaster

Zelix KlassMaster是一款用Java写的实用工具,能读取和修改Java类文件,可以运行在任何支持1.1.6版Java虚拟机的平台上。

下载:http://www.zdnetindia.com/downloads/info/898255.html

2、Cinnabar Canner

Canner通过创建一个原生Windows可执行文件(EXE文件)保护你的代码不被逆向工程反编译,这个可执行文件包含了你的应用程序类和资源的全部加密版本,只有在被JVM调用到内存中时才处于非加密状态。

网站:http://www.cinnabarsystems.com/canner.html

下载:http://www.cinnabarsystems.com/download.html

3、Jmangle Java类粉碎机

Jmangle是用来阻止反编译Java程序,降低盗版的软件,开发者可用其粉碎类文件中的符号。

网站:http://www.elegant-software.com/software/jmangle/

下载:http://www.elegant-software.com/software/jmangle/download.html

4、RetroGuard

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

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

5、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

时间: 2024-07-31 14:33:02

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

Android程序加入代码混淆器

加入代码混淆器,主要是加入proguard-project.txt文件的规则进行混淆,之前新建Android程序是proguard.cfg文件 可以看一下我采用的通用规则(proguard-project.txt文件) -optimizationpasses 5 -dontusemixedcaseclassnames -dontskipnonpubliclibraryclasses -dontskipnonpubliclibraryclassmembers -dontpreverify -ver

Android_Proguard代码混淆器

1.混淆器概述 混淆器通过删除从未用过的代码和使用晦涩名字重命名类.字段和方法,对代码进行压缩,优化和混淆,生成一个比较小的.apk文件,该文件比较难进行逆向工程,是一种重要的保护手段. 混淆器被集成在android 构建系统中,所以你不必手动调用它.同时混淆器仅在发布模式下进行构建应用程序的时候才会运行起来,所以在调试模式下构建程序时,你不必处理混淆代码.这个文档描述了怎样启用并配置混淆器,以及使用跟踪(retrace)工具对混淆的堆栈跟踪信息(stack traces)进行解码. 2.启使混

Python 控制流代码混淆简介,加大别人分析你代码逻辑和流程难度

前言 文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者: 王平 PS:如有需要Python学习资料的小伙伴可以加点击下方链接自行获取http://t.cn/A6Zvjdun 聊下 Python 的代码混淆,对 Python 的代码做混淆感觉是不伦不类,但是对于外包项目交付型的,又有一些需要. 混淆的目的就是加大别人分析你代码逻辑和流程的难度,让代码看上去杂乱,逻辑混乱.但是程序要能正常运行. 一般混淆 对 Python 代

关于java加壳和代码混淆

关于java加壳和代码混淆 在C中,进行代码加密,首要经过加壳的方法.所谓加壳,即是先将程序代码加密,然后用特定的程序加载器,将代码解密后加载进内存,这样能够在避免代码的反编译,当然,有加壳东西,也有解壳东西,尽管不能100%避免crack,但仍然给代码增加一层有力的维护. 然而在Java中,维护代码是件很困难的工作,由于class文件十分标准,很容易反编译,且反编译后的代码明晰可读.常见的维护办法是运用代码混淆器,打乱class和function以及变量的姓名,能够搅扰反编译后的代码的可读性.

浅谈代码混淆加固技术

随着移动互联网的快速发展,应用的安全问题不断涌现出来,于是越来越多的应用开发者将核心代码由java层转到native层,以对抗成熟的java逆向分析工具,然而如果native层的代码如果没有进行任何保护,还是比较容易被逆向分析工作者获取其运行逻辑,进而完成应用破解或者进行其他的操作.那么提高native代码的安全性有什么好办法吗?答案是肯定的,今天我们就来介绍一种有效对抗native层代码分析的方法--代码混淆技术. 那么,什么是代码混淆呢?代码混淆的学术定义如下: 代码混淆(code obfu

御安全浅析安卓开发代码混淆技术

御安全浅析安卓开发代码混淆技术[关键词:代码混淆,Android应用加固,移动应用保护,APP保护,御安全] 提高native代码的安全性有什么好办法吗?答案是肯定的,今天我们就来介绍一种有效对抗native层代码分析的方法--代码混淆技术.随着移动互联网的快速发展,应用的安全问题不断涌现出来,于是越来越多的应用开发者将核心代码由java层转到native层,以对抗成熟的java逆向分析工具,然而如果native层的代码如果没有进行任何保护,还是比较容易被逆向分析工作者获取其运行逻辑,进而完成应

java面向对象--类加载器及反射

类加载器 jvm 和 类的关系 当调用 java命令运行一个java程序时,会启动一个java虚拟机进程.同一个jvm的所有线程.所有变量都处于同一个进程里,都使用该jvm进程的内存区. jvm进程终止的情况: 1.程序运行到最后正常结束. 2.遇到System.exit()或Runtime.getRuntime.exit(). 3.遇到未捕获的异常或错误 4.程序所在的平台强制结束了JVM进程 jvm进程终止,jvm内存中的数据将全部丢失. 类加载 当程序主动使用某个类时,如果该类还未被加载到

ProGuard代码混淆

简介 ProGuard是一个开源的Java代码混淆器,下载ProGuardGui工具. Maven Spring Boot ProGuard demo演示 <build> <finalName>${artifactId}</finalName> <plugins> <plugin> <groupId>com.github.wvengen</groupId> <artifactId>proguard-maven-

.NET代码混淆控件Dotfuscator检测篡改

.NET混淆器Dotfuscator提供了强大的篡改防御和提示功能,可以有效地检测篡改,注入事实篡改防御,以及自动化事故管理和响应.本文主要介绍如何利用.NET代码混淆器Dotfuscator检测应用程序的篡改. Dotfuscator包含了一个篡改检测工具,它位于Dotfuscator文件夹中(C:\Program Files\PreEmptive Solutions\Dotfuscator Professional Edition 4.4\TamperTester.exe). 测试篡改步骤如