一步步教你使用Proguard混淆Java源代码

java代码很容易被反编译,以下使用proguard来保护我们的代码

proguard选项很多,容易迷糊,现在就把我的配置写下来(实际使用中),以供参考

1.到http://proguard.sourceforge.net/下载proguard

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

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

如图1

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

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

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

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

6.添加支持库,下边的 “Library jars,wars,ears .....” 那个框框。

点击右边的“add”。

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

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

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

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

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

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

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

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

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

-injars test.jar
-outjars test_out.jar

-libraryjars 'C:\Program Files (x86)\Java\jdk1.6.0_10\jre\lib\rt.jar'
-libraryjars lib\ant.jar
-libraryjars lib\aopalliance-1.0.jar
-libraryjars lib\commons-dbcp-1.4.jar
-libraryjars lib\commons-fileupload-1.2.1.jar
-libraryjars lib\commons-io-1.4.jar

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

-dontskipnonpubliclibraryclassmembers
-dontshrink
-useuniqueclassmembernames
-keeppackagenames
-keepattributes Exceptions,InnerClasses,Signature,Deprecated,SourceFile,LineNumberTable,LocalVariable*Table,*Annotation*,Synthetic,EnclosingMethod
-keepparameternames
-ignorewarnings

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

-keep class org.bl.soa.components.constant.* {
    public <fields>;
    public <methods>;
    *** set*(***);
    *** get*();

}

-keep class org.bl.hibernate.* {
    public <fields>;
    public <methods>;
    *** set*(***);
    *** get*();
}

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

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

....略

13.写完后,保存。

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

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

如下图

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

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

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

一步步教你使用Proguard混淆Java源代码相关推荐

  1. java proguard 使用_一步步教你使用Proguard混淆Java源代码

    ava代码很容易被反编译,以下使用proguard来保护我们的代码 proguard选项很多,容易迷糊,现在就把我的配置写下来(实际使用中),以供参考 2.准备好你的jar包,我在这里举例叫做test ...

  2. ProGuard混淆Java项目的核心代码

    开发需求 众所周知,class文件可以进行反编译从而泄露核心代码,为了保护知识产权,需要对代码进行混淆再进行打包.现阶段采用proguard去做一个基本的混淆,使代码的可读性降低. 操作步骤 [模块目 ...

  3. 使用proguard混淆java web项目代码

    1.首先下载proGuard.zip到本地: proguard4.5beta4.tar.zip解压开, 2.新建文本文档,修改文件名为XXX.pro,然后复制下面内容到.pro -injars 'Y: ...

  4. java源代码加密+使用proguard混淆java web项目代码+自定义Classloader

    如何保护我们的源代码,实际上,应该有几种方法可以使用:1.使用代码混淆器 2.重载应用服务器的classloader 使用代码混淆器proguard进行代码混淆 1.首先下载proGuard.zip到 ...

  5. java web开发myeclipse_【java项目实战】一步步教你使用MyEclipse搭建java Web项目开发环境(一)...

    首先,在开始搭建MyEclipse的开发环境之前,还有三步工具的安装需要完成,只要在安装配置成功之后才可以进入下面的java Web项目开发环境的搭建. 1.安装工具 第一步,下载并安装JDK,到官网 ...

  6. java war包混淆_使用proguard混淆java web项目代码

    -injars 'Y:\src.jar' #需要混淆的jar -outjars 'Y:\java\src.jar' #输出jar -libraryjars 'C:\java\jre6\lib\rt.j ...

  7. proguard java 教程,[Gradle中文教程系列]-跟我学Gradle-使用proguard混淆你的spring boot应用...

    使用proguard混淆你的spring boot应用 Proguard介绍 安卓开发的同学想必对Proguard都是十分熟悉的,由于java的反编译实在是太容易,使用它可以对java源码进行混淆处理 ...

  8. java proguard 使用_使用proguard混淆java9代码

    序 本文主要研究一下如何使用proguard混淆java9代码 maven com.github.wvengen proguard-maven-plugin package proguard 6.0. ...

  9. java proguard_使用proguard混淆java9代码

    序 本文主要研究一下如何使用proguard混淆java9代码 maven com.github.wvengen proguard-maven-plugin package proguard 6.0. ...

最新文章

  1. 类型数据合并去重 mysql_MySQL基础知识 数据类型和数据表管理
  2. 微盟“删库”程序员被判6年,供述无力偿还网贷,酒后感觉生活不如意
  3. java ognl表达式 与struts2标签_Struts2 OGNL表达式实例详解
  4. 最新抗灾诗作:生死不离
  5. UVALive 4223 Trucking 二分+spfa
  6. 来自Comsenz产品团队的声音
  7. xampp mysql关机意外_xampp运行MySQL shutdown unexpectedly解决方法
  8. UBUNTU14.0.4安装eclipse
  9. 关于无法卸载和安装VISIO2010的问题
  10. 宣讲会通知|香港科技大学工学院理学硕士线上直播综合场【MSc】
  11. 【设计开发命名必备】英语单词缩写规则
  12. R 语言消除pdf图片的空白
  13. UnityHub 无需登录 傻瓜教程 一键搞定
  14. Linux中hadoop下载安装及环境配置
  15. Protel 常用问题总结
  16. 2023年美国大学生数学建模竞赛美赛B题思路分享
  17. 四十 爱是什么 我在软件园的那些日子里
  18. 2020.8.17红队威胁情报-日更
  19. [软件应用]Kuler panel{photoshop面板}
  20. 如何生成小程序太阳码

热门文章

  1. 视频融合云服务EasyCVR平台iframe视频套嵌出现滚动条是什么原因?
  2. HP L380 G9磁盘阵列安装
  3. gpfdist故障诊断
  4. Windows远程连接3389端口开启/关闭方法
  5. word文档打开密码解密怎么解
  6. win10桌面图标有小白标_白标移动应用程序,带有react native和babel
  7. 第七次c++上机实验
  8. 云等保工作究竟要如何开展?
  9. 一等公民 二等公民_成为.NET优秀公民意味着某些事情...从您的调试技能开始
  10. 知识点小悟2019-1-18