proguard(java代码混淆器)v5.3.3官方版
proguard(java代码混淆器)v5.3.3官方版
大小:2.8M
语言:英文
分类:JAVA相关
平台:WinAll,
下载
软件简介

proguard是一个java代码混淆工具,并提供了图形化用户界面,它也可以结合Ant或J2MEWirelessToolkit使用。通过ProGuard得到的更精简的jar文件意味着只需要更小的存储空间混淆环节会用无意义的短变量去重命名类、变量、方法。这些步骤让代码更精简,更高效,也更难被逆向破解。

proguard(java代码混淆器)

功能介绍

  压缩(Shrink):检测并移除代码中无用的类、字段、方法和特性(Attribute)。

  优化(Optimize):对字节码进行优化,移除无用的指令。

  混淆(Obfuscate):使用a,b,c,d这样简短而无意义的名称,对类、字段和方法进行重命名。

  预检(Preveirfy):在Java平台上对处理后的代码进行预检,确保加载的 class文件是可执行的。

使用方法

  1.下载proguard

  2.准备好你的jar包,我在这里举例叫做test.jar。

  3.解压proguard,执行bin目录下的proguardgui.bat。

proguard下载

  4.运行如图,点击左边“input/output”菜单

proguard(java代码混淆器)

  5.点击右边的“addinput”加入我们要混的jar包,test.jar

  点击右边的“addoutput”填入我们要输出的jar包(命名随便),这里我写test_out.jar。

  注意输出的jar包,要自己手工填写。

  6.添加支持库,下边的“Libraryjars,wars,ears.....”那个框框。点击右边的“add”。

  说明一下,这里最好把你的myeclipse里javaproject里的libraries所有Library的jar包,copy到一个目录,然后在这里加入这些jar包,myeclipse的环境支持jar包一般

proguard下载

  7.做完以上步骤后,应该如下图4,这样就差不多了

proguard(java代码混淆器)

  8.点击“shrinking”,设置成如图5。(可根据需要设置,这里只是我的配置)

proguard下载

  9.点击“obfuscation”,设置如图6。(可根据需要设置,这里只是我的配置)

proguard(java代码混淆器)

  10.点击“optimization”设置如图7。(可根据需要设置,这里只是我的配置)

proguard下载

  11.点击“process”,再点击“saveconfiguration”,在弹出的对话框中,输入要保存的配置文件名称(这里我的是test.pro),最后点击“保存”。如图8

proguard(java代码混淆器)

  至些图形化的设置部分已经完成。

  12.最后,添加要保留的类与方法。

  用编辑器编辑刚才保存下来的“test.pro”,用记事本什么都可以,打开后大致应该是以下的样子

  -injarstest.jar

  -outjarstest_out.jar

  -libraryjars'C:ProgramFiles(x86)Javajdk1.6.0_10jrelib t.jar'

  -libraryjarslibant.jar

  -libraryjarslibaopalliance-1.0.jar

  -libraryjarslibcommons-dbcp-1.4.jar

  -libraryjarslibcommons-fileupload-1.2.1.jar

  -libraryjarslibcommons-io-1.4.jar

  .....设置的支持库包,略

  -dontskipnonpubliclibrary classmembers

  -dontshrink

  -useunique classmembernames

  -keeppackagenames

  -keepattributesExceptions,InnerClasses,Signature,Deprecated,SourceFile,LineNumberTable,LocalVariable*Table,*Annotation*,Synthetic,EnclosingMethod

  -keepparameternames

  -ignorewarnings

  ....我们在这里加入要保持的类和方法,写法如下

  -keep classorg.bl.soa.components.constant.*{

  public<fields>;

  public<methods>;

  ***set*(***);

  ***get*();

  }

  -keep classorg.bl.hibernate.*{

  public<fields>;

  public<methods>;

  ***set*(***);

  ***get*();

  }

  .....继续加其他的要保留的类和方法,有多少写多少。我是把test.jar里的所有类都加进来。

  ....后面还一些自动生成的配置,不用管它们。

  13.写完后,保存。

  重新打开progrard,执行bin目录下的proguardgui.bat。

  点击第一个选项“Proguard”,再点击“Loadconfiguration”,选择我们刚才保存的“test.pro”进行加载。

proguard下载

  14.开始混代码,点击右边“process”,再点击“process!”,如下图

proguard(java代码混淆器)

  15,在等待处理完成后,输出的“test_out.jar”,就是混过的jar包,你可以用xjad反编看下效果。

  16,如果在处理过程中有问题,一般会有提示,大部分一般都是缺少关联类,如果少了相关类,在第7步的图,把缺少的支持包加进来就可以了。

注意事项

  1、注意版本,如果不是项目需要,最好使用最新稳定版本,这样出错的机会小一些,学习曲线会明显缩短。

  2、最好以源码的同编译版本的jvm来启动proguardgui.jar,不要直接用默认的jvm打开。

  3、注意proguaardgui启动后默认加载的libraryjar中包含的rt.jar,它的版本和你使用到的jvm版本一致。

  4、使用1.4的jvm打开proguard时,注意在optimization选项卡中,不要勾中keepenumerations选项,因为勾中这个选项会导致configration文件中出现java.lang.Enum,这个类

  只有在1.5的环境下才有。报错信息如下:

  [proguard]Note:theconfigurationreferstotheunknown class'java.lang.Enum'

  [proguard]Note:therewere1referencestounknown classes.

  [proguard]Youshouldcheckyourconfigurationfortypos.

  5、嵌入ant脚本时,通常会有这么一段

  <targetname="proguard"depends="init">

  <taskdefresource="proguard/ant/task.properties" classpath="${lib.dir}/proguard/proguard.jar"/>

  <proguardconfiguration="${src.dir}/config.pro"/>

  </target>

  task.properties在proguard.jar中,保留,config.pro是proguard的配置文件,最好使用proguardgui.jar先生成,然后再根据需求手动修改。

常见问题

  1、conversiontodalvikformatfailedwitherror1

  网上主要有这几种解决方案:

  1、编辑eclipse项目下的. classpath文件,改为

  < classpathentrykind="con"path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/>即可

  2、下载最新版本的proguard,替换androidsdk下的toolsproguard(我用的就是这个方法解决的,我的androidsdk是r20,其中带的proguard是4.7的,我把它更新到4.8后就好了)

  3、将toolsproguardinproguard.bat文件中的call%java_exe%-jar"%PROGUARD_HOME%"libproguard.jar%&times;替换为:

  call%java_exe%-jar"%PROGUARD_HOME%"libproguard.jar%1%2%3%4%5%6%7%8%9(我也试了这种方式,不过当时导致了另外一个错误"Expecting classpathseparator';'before...inargumentnumber7")

代码编辑器

相关软件
IntelliJIDEA2021(Java编程软件)v2021.1官方版
IntelliJIDEA2021(Java编程软件)v2021.1官方版
下载
SelectMenu(菜单解决方案)v2.1官方版
SelectMenu(菜单解决方案)v2.1官方版
下载
JavaEnvSwitcher(多版本JDK快速切换工具)v0.1.1.0免费版
JavaEnvSwitcher(多版本JDK快速切换工具)v0.1.1.0免费版
下载
HGBase(Java开发框架)v0.70免费版
HGBase(Java开发框架)v0.70免费版
下载
Java环境配置工具v0.4官方版
Java环境配置工具v0.4官方版
下载
环境变量配置工具v1.0免费版
环境变量配置工具v1.0免费版
下载
java环境变量一键配置工具v1.0绿色免费版
java环境变量一键配置工具v1.0绿色免费版
下载
BytecodeViewer(Android逆向工具)v2.9.2.2官方版
BytecodeViewer(Android逆向工具)v2.9.2.2官方版
下载
java环境配置软件v1.0免费版
java环境配置软件v1.0免费版
下载
JAVAclass汉化工具(hhclass)v1.0
JAVAclass汉化工具(hhclass)v1.0
下载
Arthas(JAVA问题诊断工具)v3.1.1
Arthas(JAVA问题诊断工具)v3.1.1
下载
王者烧猪
王者烧猪
下载
纷享花
纷享花
下载
街头混混
街头混混
下载
王者烧猪IOS版
王者烧猪IOS版
下载
萌翻了
萌翻了
下载
推荐软件
奇热小说
奇热小说
下载
QQ2019手机版
QQ2019手机版
下载
王者荣耀
王者荣耀
下载
百度浏览器迷你版
百度浏览器迷你版
下载
2345浏览器手机版
2345浏览器手机版
下载
网易邮箱
网易邮箱
下载
爱奇艺
爱奇艺
下载
网易云音乐
网易云音乐
下载
WPSOffice
WPSOffice
下载
优酷
优酷
下载
谷歌浏览器(Chrome)
谷歌浏览器(Chrome)
下载
迅雷看看播放器
迅雷看看播放器
下载
UC浏览器
UC浏览器
下载
QQ音乐
QQ音乐
下载
阿里旺旺买家版v9.12.10C官方版
阿里旺旺买家版v9.12.10C官方版
下载
360安全卫士v12.1官方版
360安全卫士v12.1官方版
下载
图文教程
猜你喜欢
像素数字填色书
像素数字填色书
下载
天天消消乐2016
天天消消乐2016
下载
怪物空中曲棍球
怪物空中曲棍球
下载
不笑的少女与异形的马戏团汉化版
不笑的少女与异形的马戏团汉化版
下载
GalaxyonFire3
GalaxyonFire3
下载
霸者天下
霸者天下
下载
美点未来
美点未来
下载
滴滴风转
滴滴风转
下载
热门标签