`

JAVA代码混淆

 
阅读更多

JAVA代码混淆

<!--[if !supportLists]-->1. <!--[endif]-->ProGuard

简介:

是一款免费的Java类文件压缩器、优化器和混淆器。它能发现并删除无用类、字段(field)、方法和属性值(attribute)。它也能优化字节码并删除无用的指令。最后,它使用简单无意义的名字来重命名类名、字段名和方法名。经过以上操作的jar文件会变得更小,并很难进行逆向工程。它支持脚本控制,可以使用GUI界面,与eclipse集成,支持J2ME

价格:

免费

使用方式:

<!--[if !supportLists]-->1、 <!--[endif]-->使用图形界面,如下图:

 

<!--[if !supportLists]-->2、 <!--[endif]-->使用脚本语句,将执行脚本语句加入相应脚本中执行,例如加入antmaven项目自动构建中,在项目部署前混淆代码。

应用情况:

<!--[if !supportLists]-->1、 <!--[endif]-->需要对配置项了解具体含义;

<!--[if !supportLists]-->2、 <!--[endif]-->不需要混淆的属性、方法、类,需要在.pro配置文件中说明;

<!--[if !supportLists]-->3、 <!--[endif]-->混淆方式为项目打包后再混淆;

<!--[if !supportLists]-->4、 <!--[endif]-->不能与myeclipseeclipse集成使用;

<!--[if !supportLists]-->5、 <!--[endif]-->可以在antmaven中的配置文件中添加脚本语句使用(编写相应的.Pro文件,增加ProGuard的执行jar文件);

<!--[if !supportLists]-->6、 <!--[endif]-->混淆时将无用的语句去除,优化方法间结构;

<!--[if !supportLists]-->7、 <!--[endif]-->混淆内容:属性、方法名称、类名称,对方法过程不做混淆处理,混淆力度不大。

 

<!--[if !supportLists]-->2. <!--[endif]-->Jocky

简介:

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

价格:

免费

使用方式:

<!--[if !supportLists]-->1、 <!--[endif]-->myeclipseeclipse中使用安装插件方式,使用Jocky混淆。如图:

 

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

 

混淆等级有5种(publicprivatepackageprotectedall)。

<!--[if !supportLists]-->2、 <!--[endif]-->使用命令行或者脚本,将命令行加入脚本中执行,如在ant配置文件中加入执行脚本后可以执行混淆程序。执行脚本如下图:

 

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

应用情况:

<!--[if !supportLists]-->1、 <!--[endif]-->使用方便简洁,可以与myeclipseeclipse集合使用;

<!--[if !supportLists]-->2、 <!--[endif]-->对不需要混淆的属性、方法、类可以在编码过程增加注解,如图:

 

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

<!--[if !supportLists]-->3、 <!--[endif]-->混淆方式为编译混淆,即在对项目编译的时候就进行了混淆;

<!--[if !supportLists]-->4、 <!--[endif]-->jdk版本有要求,目前支持1.41.5版本的JDK,但是有破解版本支持1.5以上的JDK

<!--[if !supportLists]-->5、 <!--[endif]-->可以与ant构建工具集成使用,加入脚本后可以直接执行混淆编译。

<!--[if !supportLists]-->6、 <!--[endif]-->对项目性能和项目包大小有优化;

<!--[if !supportLists]-->7、 <!--[endif]-->混淆内容:属性、方法、类名,对数组也增加了处理,但是对与实现方法未做特殊处理。

<!--[if !supportLists]-->3. <!--[endif]-->Allatori

简介:

属于第二代混淆器,具有全方位保护你的知识产权的能力。有以下几种保护方式:命名混淆,流混淆,调试信息混淆,字符串编码,以及水印技术。对于教育和非商业项目来说这个混淆器是免费的。2.1版本支持warear文件格式,并且允许对需要混淆代码的应用程序添加有效日期。

价格:

单个许可证

1许可证

290美元

2-5许可证

260美元

6-10许可证

230美元

11+许可证

200美元

网站许可证

3750美元

营业执照

4850美元

年度支持更新

75美元

使用方式:

<!--[if !supportLists]-->1、 <!--[endif]-->使用命令行或者脚本语句执行,需写好配置文件,内容如下图:

 

执行脚本语句如下图:

 

<!--[if !supportLists]-->2、 <!--[endif]-->可以将混淆脚本加入antmaven的配置文件中执行,ant配置文件中增加如下配置信息:

 

Maven中增加如下配置信息:

 

 

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

应用情况:

<!--[if !supportLists]-->1、 <!--[endif]-->需要了解配置文件中各个配置信息含义,与如何配置,有文档辅助了解;

<!--[if !supportLists]-->2、 <!--[endif]-->对不需要混淆的属性、方法、类可以在对应的配置文件中的<keep-names> </keep-names>设定;

<!--[if !supportLists]-->3、 <!--[endif]-->混淆方式为项目打包后再混淆,支持jarwar等;

<!--[if !supportLists]-->4、 <!--[endif]-->不能与myeclipseeclipse集成使用;

<!--[if !supportLists]-->5、 <!--[endif]-->可以在antmaven中的配置文件中添加脚本语句使用,可参考使用方式第二点;

<!--[if !supportLists]-->6、 <!--[endif]-->官方文档中说明:Allatori对项目中的性能、规模缩减、稳定性有很好的优化,而且对循环或者复杂的算法有进一步的优化过程。

<!--[if !supportLists]-->7、 <!--[endif]-->混淆内容:对属性、方法、类以及方法具体内容和普通字符串都进行混淆,很大程度的降低了反编译后的代码可读性。

<!--[if !supportLists]-->3、 <!--[endif]-->混淆对比

源码:

 

未混淆反编译:

 

 

 

 

 

 

ProGroud混淆反编译:

 

 

Jocky混淆反编译:

 

 

Allatori混淆反编译:

 

 

混淆注意事项

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

<!--[if gte mso 9]><xml><w:WordDocument><w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel><w:DisplayHorizontalDrawingGridEvery>0</w:DisplayHorizontalDrawingGridEvery><w:DisplayVerticalDrawingGridEvery>2</w:DisplayVerticalDrawingGridEvery><w:DocumentKind>DocumentNotSpecified</w:DocumentKind><w:DrawingGridVerticalSpacing>7.8 磅</w:DrawingGridVerticalSpacing><w:PunctuationKerning></w:PunctuationKerning><w:View>Normal</w:View><w:Compatibility><w:DontGrowAutofit/><w:BalanceSingleByteDoubleByteWidth/><w:DoNotExpandShiftReturn/></w:Compatibility><w:Zoom>0</w:Zoom></w:WordDocument></xml><![endif]--><!--[if gte mso 9]><xml><w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="true" DefSemiHidden="true" DefQFormat="false" DefPriority="99" LatentStyleCount="260" > <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="Normal" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="heading 1" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="heading 2" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="heading 3" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="heading 4" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="heading 5" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="heading 6" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="heading 7" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="heading 8" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="heading 9" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="index 1" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="index 2" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="index 3" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="index 4" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="index 5" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="index 6" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="index 7" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="index 8" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="index 9" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="toc 1" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="toc 2" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="toc 3" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="toc 4" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="toc 5" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="toc 6" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="toc 7" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="toc 8" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="toc 9" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="Normal Indent" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="footnote text" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="annotation text" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="header" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="footer" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="index heading" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="caption" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="table of figures" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="envelope address" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="envelope return" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="footnote reference" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="annotation reference" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="line number" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="page number" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="endnote reference" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="endnote text" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="table of authorities" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="macro" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="toa heading" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="List" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="List Bullet" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="List Number" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="List 2" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="List 3" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="List 4" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="List 5" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="List Bullet 2" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="List Bullet 3" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="List Bullet 4" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="List Bullet 5" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="List Number 2" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="List Number 3" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="List Number 4" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="List Number 5" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="Title" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="Closing" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="Signature" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="Default Paragraph Font" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="Body Text" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="Body Text Indent" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="List Continue" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="List Continue 2" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="List Continue 3" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="List Continue 4" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="List Continue 5" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="Message Header" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="Subtitle" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="Salutation" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="Date" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="Body Text First Indent" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="Body Text First Indent 2" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="Note Heading" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="Body Text 2" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="Body Text 3" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="Body Text Indent 2" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="Body Text Indent 3" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="Block Text" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="Hyperlink" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="FollowedHyperlink" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="Strong" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="Emphasis" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="Document Map" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="Plain Text" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="E-mail Signature" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="Normal (Web)" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="HTML Acronym" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="HTML Address" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="HTML Cite" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="HTML Code" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="HTML Definition" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="HTML Keyboard" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="HTML Preformatted" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="HTML Sample" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="HTML Typewriter" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="HTML Variable" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="Normal Table" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="annotation subject" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="No List" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="Table Simple 1" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="Table Simple 2" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="Table Simple 3" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="Table Classic 1" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="Table Classic 2" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="Table Classic 3" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="Table Classic 4" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="Table Colorful 1" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="Table Colorful 2" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="Table Colorful 3" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="Table Columns 1" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="Table Columns 2" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="Table Columns 3" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="Table Columns 4" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="Table Columns 5" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="Table Grid 1" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="Table Grid 2" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="Table Grid 3" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="Table Grid 4" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="Table Grid 5" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="Table Grid 6" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="Table Grid 7" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="Table Grid 8" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="Table List 1" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="Table List 2" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="Table List 3" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="Table List 4" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="Table List 5" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="Table List 6" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="Table List 7" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="Table List 8" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="Table 3D effects 1" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="Table 3D effects 2" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="Table 3D effects 3" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="Table Contemporary" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="Table Elegant" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="Table Professional" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="Table Subtle 1" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="Table Subtle 2" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="Table Web 1" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="Table Web 2" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="Table Web 3" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="Balloon Text" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="Table Grid" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="Table Theme" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="Light Shading" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="Light List" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="Light Grid" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="Medium Shading 1" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="Medium Shading 2" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="Medium List 1" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="Medium List 2" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="Medium Grid 1" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="Medium Grid 2" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="Medium Grid 3" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="Dark List" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="Colorful Shading" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="Colorful List" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="Colorful Grid" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="Light Shading Accent 1" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="Light List Accent 1" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="Light Grid Accent 1" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="Medium Shading 1 Accent 1" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="Medium Shading 2 Accent 1" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="Medium List 1 Accent 1" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="Medium List 2 Accent 1" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="Medium Grid 1 Accent 1" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="Medium Grid 2 Accent 1" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="Medium Grid 3 Accent 1" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="Dark List Accent 1" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="Colorful Shading Accent 1" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="Colorful List Accent 1" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="Colorful Grid Accent 1" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="Light Shading Accent 2" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="Light List Accent 2" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="Light Grid Accent 2" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="Medium Shading 1 Accent 2" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="Medium Shading 2 Accent 2" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="Medium List 1 Accent 2" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="Medium List 2 Accent 2" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="Medium Grid 1 Accent 2" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="Medium Grid 2 Accent 2" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="Medium Grid 3 Accent 2" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="Dark List Accent 2" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="Colorful Shading Accent 2" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="Colorful List Accent 2" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="Colorful Grid Accent 2" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="Light Shading Accent 3" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="Light List Accent 3" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="Light Grid Accent 3" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="Medium Shading 1 Accent 3" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="Medium Shading 2 Accent 3" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="Medium List 1 Accent 3" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="Medium List 2 Accent 3" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="Medium Grid 1 Accent 3" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="Medium Grid 2 Accent 3" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="Medium Grid 3 Accent 3" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="Dark List Accent 3" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="Colorful Shading Accent 3" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="Colorful List Accent 3" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="Colorful Grid Accent 3" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="Light Shading Accent 4" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="Light List Accent 4" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="Light Grid Accent 4" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="Medium Shading 1 Accent 4" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="Medium Shading 2 Accent 4" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="Medium List 1 Accent 4" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="Medium List 2 Accent 4" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="Medium Grid 1 Accent 4" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="Medium Grid 2 Accent 4" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="Medium Grid 3 Accent 4" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="Dark List Accent 4" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="Colorful Shading Accent 4" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="Colorful List Accent 4" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="Colorful Grid Accent 4" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="Light Shading Accent 5" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="Light List Accent 5" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="Light Grid Accent 5" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="Medium Shading 1 Accent 5" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="Medium Shading 2 Accent 5" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="Medium List 1 Accent 5" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="Medium List 2 Accent 5" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="Medium Grid 1 Accent 5" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="Medium Grid 2 Accent 5" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="Medium Grid 3 Accent 5" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="Dark List Accent 5" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="Colorful Shading Accent 5" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="Colorful List Accent 5" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="Colorful Grid Accent 5" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="Light Shading Accent 6" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="Light List Accent 6" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="Light Grid Accent 6" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="Medium Shading 1 Accent 6" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="Medium Shading 2 Accent 6" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="Medium List 1 Accent 6" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="Medium List 2 Accent 6" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="Medium Grid 1 Accent 6" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="Medium Grid 2 Accent 6" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="Medium Grid 3 Accent 6" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="Dark List Accent 6" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="Colorful Shading Accent 6" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="Colorful List Accent 6" ></w:LsdException> <w:LsdException Locked="false" Priority="99" SemiHidden="false" Name="Colorful Grid Accent 6" ></w:LsdException> </w:LatentStyles></xml><![endif]--><!--StartFragment--><!--EndFragment-->

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

分享到:
评论

相关推荐

    java代码混淆器proGuard

    Java代码混淆器ProGuard是Java开发中用于保护和优化应用程序的重要工具。它的主要功能是对Java字节码进行混淆,使得代码难以被逆向工程解析,从而提高代码的安全性。混淆过程中,函数变量、类和方法名会被重命名为...

    Allatori java 代码混淆

    Java代码混淆是一种安全措施,主要用于保护Java应用程序的源代码不被未经授权的人员逆向工程解析。Allatori就是一款专门用于Java代码混淆的工具,它能够将可读性强的Java字节码转换为难以理解的形式,以此增加逆向...

    ProGuard工具包,Java代码混淆

    **ProGuard工具包详解——Java代码混淆** 在Java开发中,为了提高应用程序的安全性和保护知识产权,开发者常常会使用一种称为“代码混淆”的技术。ProGuard是Android和Java平台上的一个强大的开源工具,它能实现...

    java代码混淆工具proguard及教程讲解

    java代码混淆工具 简单使用docx 字典文件 生成的配置示例

    java 代码混淆 proguard

    Java代码混淆是保护软件知识产权的重要手段,特别是在开源或者发布商业应用时,为了防止恶意用户反编译源码,理解并篡改程序逻辑,开发者通常会采用代码混淆技术。ProGuard是一款广泛使用的Java代码混淆工具,它能...

    很强大的java代码混淆工具 Jocky

    Jockey跟其他混淆工具不同的是:它是直接对编译过程做文章,也就是在把java文件编译为class文件的过程中对代码进行混淆,混淆后的代码中包含很多JVM 指令,大家知道JVM指令是面向机器的,人类一般很难看懂!...

    Java代码混淆工具proguard

    经典的Java代码混淆工具,可以混淆class,jar类型的文件,防止被反编译,对需要进行源码保护的代码很有用。

    一种基于源代码的Java代码混淆器的设计与实现.pdf

    Java代码混淆器是一种用于保护Java源代码安全的技术,通过让源代码变得难以理解和反编译,从而达到防止源代码泄露和被恶意利用的目的。在目前Java字节码反编译变得十分容易的背景下,源代码的混淆显得尤为重要。 ...

    java代码混淆工具

    两款java代码混淆工具 1:jocky是eclipse的插件 2:Allatori-4.6

    java 代码混淆,网上可以找到的demo

    Java代码混淆是保护Java应用程序源代码安全的一种技术手段,它通过改变代码的可读性来增加逆向工程的难度,防止恶意用户分析和篡改代码。在这个“java 代码混淆,网上可以找到的demo”中,我们可以探讨一些关键概念...

    yGuard---java代码混淆工具

    yGuard是一款专业的Java代码混淆工具,它主要用于保护Java应用程序,防止恶意用户逆向工程分析代码,从而保护知识产权和商业机密。代码混淆是通过改变源代码中的类名、方法名、变量名,甚至修改字节码,使得原始代码...

    java代码混淆工具(Allatori)

    Allatori 是第二代 Java 混淆器,可为您的知识产权提供全方位的保护。 尽管大多数第二代混淆器都提供了值得保护的级别,但我们已经在Allatori中开发了许多附加功能,以使对代码进行逆向工程几乎不可能。 Allatori ...

    proguard(java代码混淆器)v5.3.3官方版

    proguard是一个java代码混淆工具,并提供了图形化用户界面,它也可以结合Ant或J2ME Wireless Toolkit使用。通过ProGuard得到的更精简的jar文件意味着只需要更小的存储空间混淆环节会用无意义的短变量去重命名类、...

    Allatori Java 代码混淆

    Allatori 是一个功能强大的Java代码混淆器,它提供了多种混淆策略,包括变量名、类名、方法名的重命名,控制流混淆,字符串加密等,使得阅读混淆后的代码变得极其困难。在保护源代码的同时,Allatori 确保混淆过程...

    java代码混淆工具proguard

    很好用的一个代码混淆工具,混淆后可以防止被反编译。很容易用。

    Java代码混淆教程之jocky篇.docx

    Java代码混淆是一种安全措施,主要用于保护应用程序的源代码不被逆向工程分析。在这个教程中,我们将关注一个名为Jocky的编译级混淆器。Jocky设计用于整体编译混淆,它不适合分别编译各个模块,因为这样做可能会导致...

    java 代码混淆 proguard5.3.3

    Java代码混淆是保护Java应用程序源代码安全的一种技术,主要目的是为了增加反编译的难度,降低代码被恶意篡改或分析的可能性。ProGuard是一款非常流行的开源混淆工具,它支持Java字节码处理,包括优化、压缩、混淆和...

    allatori第二代Java代码混淆器Maven打包配置,依赖库,以及配置文件

    allatori第二代Java代码混淆器Maven打包配置,依赖库,以及配置文件。示例运行,可行。

    Java代码混淆工具(proguard4.5.1)

    Java代码混淆工具ProGuard是Java开发中用于保护和优化应用程序的重要工具。它的主要功能是对Java字节码进行混淆、优化、缩小和预校验,从而提高应用的安全性和性能。ProGuard 4.5.1是该工具的一个版本,发布于2010年...

Global site tag (gtag.js) - Google Analytics