JAVA代码混淆文档.docx

上传人:b****8 文档编号:30520875 上传时间:2023-08-16 格式:DOCX 页数:13 大小:549KB
下载 相关 举报
JAVA代码混淆文档.docx_第1页
第1页 / 共13页
JAVA代码混淆文档.docx_第2页
第2页 / 共13页
JAVA代码混淆文档.docx_第3页
第3页 / 共13页
JAVA代码混淆文档.docx_第4页
第4页 / 共13页
JAVA代码混淆文档.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

JAVA代码混淆文档.docx

《JAVA代码混淆文档.docx》由会员分享,可在线阅读,更多相关《JAVA代码混淆文档.docx(13页珍藏版)》请在冰豆网上搜索。

JAVA代码混淆文档.docx

JAVA代码混淆文档

JAVA代码混淆

1.ProGuard

简介:

是一款免费的Java类文件压缩器、优化器和混淆器。

它能发现并删除无用类、字段(field)、方法和属性值(attribute)。

它也能优化字节码并删除无用的指令。

最后,它使用简单无意义的名字来重命名类名、字段名和方法名。

经过以上操作的jar文件会变得更小,并很难进行逆向工程。

它支持脚本控制,可以使用GUI界面,与eclipse集成,支持J2ME。

价格:

免费

使用方式:

1、使用图形界面,如下图:

2、使用脚本语句,将执行脚本语句加入相应脚本中执行,例如加入ant、maven项目自动构建中,在项目部署前混淆代码。

应用情况:

1、需要对配置项了解具体含义;

2、不需要混淆的属性、方法、类,需要在.pro配置文件中说明;

3、混淆方式为项目打包后再混淆;

4、不能与myeclipse、eclipse集成使用;

5、可以在ant、maven中的配置文件中添加脚本语句使用(编写相应的.Pro文件,增加ProGuard的执行jar文件);

6、混淆时将无用的语句去除,优化方法间结构;

7、混淆内容:

属性、方法名称、类名称,对方法过程不做混淆处理,混淆力度不大。

2.Jocky

简介:

在SunJDK中提供的Java编译器(javac)的基础上完成的,修改了其中的代码生成过程,对编译器生成的中间代码进行混淆,最后再生成class文件,这样编译和混淆只需要一个步骤就可以完成。

价格:

免费

使用方式:

1、在myeclipse与eclipse中使用安装插件方式,使用Jocky混淆。

如图:

使用后会生成

配置文件,用于混淆设置使用,该配置文件类似ant配置文件,如下图:

混淆等级有5种(public、private、package、protected、all)。

2、使用命令行或者脚本,将命令行加入脚本中执行,如在ant配置文件中加入执行脚本后可以执行混淆程序。

执行脚本如下图:

目前在maven中暂不能使用Jocky混淆。

应用情况:

1、使用方便简洁,可以与myeclipse、eclipse集合使用;

2、对不需要混淆的属性、方法、类可以在编码过程增加注解,如图:

在类里增加如图注解,若混淆级别为public以上,则该类的所有public的方法将不会被混淆;

3、混淆方式为编译混淆,即在对项目编译的时候就进行了混淆;

4、对jdk版本有要求,目前支持1.4、1.5版本的JDK,但是有破解版本支持1.5以上的JDK;

5、可以与ant构建工具集成使用,加入脚本后可以直接执行混淆编译。

6、对项目性能和项目包大小有优化;

7、混淆内容:

属性、方法、类名,对数组也增加了处理,但是对与实现方法未做特殊处理。

3.Allatori

简介:

属于第二代混淆器,具有全方位保护你的知识产权的能力。

有以下几种保护方式:

命名混淆,流混淆,调试信息混淆,字符串编码,以及水印技术。

对于教育和非商业项目来说这个混淆器是免费的。

2.1版本支持war和ear文件格式,并且允许对需要混淆代码的应用程序添加有效日期。

价格:

单个许可证

1许可证

290美元

2-5许可证

260美元

6-10许可证

230美元

11+许可证

200美元

网站许可证

3750美元

营业执照

4850美元

年度支持更新

75美元

使用方式:

1、使用命令行或者脚本语句执行,需写好配置文件,内容如下图:

执行脚本语句如下图:

2、可以将混淆脚本加入ant、maven的配置文件中执行,ant配置文件中增加如下配置信息:

Maven中增加如下配置信息:

Ant、Maven中的配置信息与使用命令行执行的配置文件类似。

应用情况:

1、需要了解配置文件中各个配置信息含义,与如何配置,有文档辅助了解;

2、对不需要混淆的属性、方法、类可以在对应的配置文件中的设定;

3、混淆方式为项目打包后再混淆,支持jar、war等;

4、不能与myeclipse、eclipse集成使用;

5、可以在ant、maven中的配置文件中添加脚本语句使用,可参考使用方式第二点;

6、官方文档中说明:

Allatori对项目中的性能、规模缩减、稳定性有很好的优化,而且对循环或者复杂的算法有进一步的优化过程。

7、混淆内容:

对属性、方法、类以及方法具体内容和普通字符串都进行混淆,很大程度的降低了反编译后的代码可读性。

3、混淆对比

源码:

未混淆反编译:

ProGroud混淆反编译:

Jocky混淆反编译:

Allatori混淆反编译:

混淆注意事项

1.使用上述三种混淆软件时,在项目中有反射、序列化运用的属性、方法、类都需要增加相应配置将其排除,ProGuard、Allatori在配置文件中增加配置信息,Jocky在对应代码块中增加注解。

2.Jocky混淆:

由于目前使用的jdk基本为1.6及以上版本,需要使用破解版的Jocky混淆,该破解版只是去掉对版本的限制,这里需要注意对项目是否使用了jdk1.6版本的特性,可能会导致混淆出错。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 其它模板

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1