下载Proguard, 我下的是最新的Proguad5.2

在windows下运行bin/proguardgui.bat, 可以看见图形界面, 载入配置, 然后process.

配置文件例子

  1. -injars 'C:\Users\MicrosoftUser\Desktop\demo.jar'
  2. -outjars 'C:\Users\MicrosoftUser\Desktop\demo-pg.jar'
  3.  
  4. -libraryjars 'D:\workJava\workspace\demo\lib\Memcached-Java-Client-3.0.2.jar'
  5. -libraryjars 'D:\workJava\workspace\demo\lib\commons-codec-1.6.jar'
  6. -libraryjars 'D:\workJava\workspace\demo\lib\commons-imaging-1.0-SNAPSHOT.jar'
  7. -libraryjars 'D:\workJava\workspace\demo\lib\commons-io-2.2.jar'
  8. -libraryjars 'D:\workJava\workspace\demo\lib\commons-lang3-3.1.jar'
  9. -libraryjars 'D:\workJava\workspace\demo\lib\dom4j-1.6.1.jar'
  10. -libraryjars 'D:\workJava\workspace\demo\lib\ehcache-core-2.6.9.jar'
  11. -libraryjars 'D:\workJava\workspace\demo\lib\httpclient-4.3.3.jar'
  12. -libraryjars 'D:\workJava\workspace\demo\lib\httpcore-4.3.2.jar'
  13. -libraryjars 'D:\workJava\workspace\demo\lib\im4java-1.4.0.jar'
  14. -libraryjars 'D:\workJava\workspace\demo\lib\jackson-core-asl-1.9.13.jar'
  15. -libraryjars 'D:\workJava\workspace\demo\lib\jackson-mapper-asl-1.9.13.jar'
  16. -libraryjars 'D:\workJava\workspace\demo\lib\log4j-1.2.16.jar'
  17. -libraryjars 'D:\workJava\workspace\demo\lib\mail-1.4.7.jar'
  18. -libraryjars 'D:\workJava\workspace\demo\lib\spring-web-3.1.1.RELEASE.jar'
  19. -libraryjars 'D:\workJava\workspace\demo\lib\spring-webmvc-3.1.1.RELEASE.jar'
  20. -libraryjars 'D:\workJava\workspace\demo\lib\xstream-1.2.2.jar'
  21. -libraryjars 'C:\Program Files\Java\jre6\lib\jce.jar'
  22. -libraryjars 'C:\Program Files\Java\jre6\lib\rt.jar'
  23. -libraryjars 'C:\Program Files\Java\jre6\lib\javaws.jar'
  24. -libraryjars 'D:\workJava\servers\tomcat-7.0.54\lib\servlet-api.jar'
  25. -libraryjars 'C:\Program Files\Java\jre6\lib\jsse.jar'
  26.  
  27. -target 1.6
  28. -dontshrink
  29. -dontoptimize
  30. -dontusemixedcaseclassnames
  31. -keepattributes Exceptions,InnerClasses,Signature,Deprecated,SourceFile,LineNumberTable,LocalVariable*Table,*Annotation*,Synthetic,EnclosingMethod
  32.  
  33. # 设置不需要混淆的包, 可以使用通配符 * 和 *.**, 注意, 后者不包含前者
  34. -keep class com.demo.common.bean.* {
  35. public <fields>;
  36. public <methods>;
  37. *** set*(***);
  38. *** get*();
  39. }
  40.  
  41. #
  42. -keep class com.demo.common.config.* {
  43. public <fields>;
  44. public <methods>;
  45. *** set*(***);
  46. *** get*();
  47. }
  48.  
  49. #
  50. -keep class com.demo.common.dao.*.** {
  51. public <fields>;
  52. public <methods>;
  53. *** set*(***);
  54. *** get*();
  55. }
  56.  
  57. #
  58. -keep class com.demo.common.web.*.** {
  59. public <fields>;
  60. public <methods>;
  61. *** set*(***);
  62. *** get*();
  63. }
  64.  
  65. # Keep - Applications. Keep all application classes, along with their 'main'
  66. # methods.
  67. -keepclasseswithmembers public class * {
  68. public static void main(java.lang.String[]);
  69. }
  70.  
  71. # Keep names - Native method names. Keep all native class/method names.
  72. -keepclasseswithmembers,includedescriptorclasses,allowshrinking class * {
  73. native <methods>;
  74. }

使用Proguard做Java代码混淆的更多相关文章

  1. Java代码混淆工具ProGuard

    目录 Java代码混淆工具ProGuard 简介 描述 作用的环境 功能 工作原理 下载 使用时注意事项 版本问题 JDK位数问题 Java的字节码验证问题 关于使用类似于Hibernate的对象关系 ...

  2. 大公司怎么做Android代码混淆的?

    3月17日,网易资深安全工程师钟亚平在安卓巴士全球开发者论坛上做了<安卓APP逆向与保护>的演讲.其中就谈到了关于代码混淆的问题.现摘取部分重点介绍如下:   Java代码是非常容易反编译 ...

  3. java代码混淆

    仅做记录之用. java代码可以反编译,因此有时候要保护自己的知识产权还真得费点心思,一般来说有三个思路: 1.将class文件加密,这个是最安全的,但也费事儿,因为要重写classloader来解密 ...

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

    [IT168 技术文档] 从事Java编程的人都知道,可以通过逆向工程反编译得到Java程序的源代码,这种反编译工具之一就是JAD.因此,为保护我们的劳动成果,尽可能给反编译人员制造障碍,我们可以使用 ...

  5. 免费的java代码混淆,程序加密

    java代码可以反编译,特别是放在客户端的程序很用被剽窃,盗用.保护程序一般都有以下几个方法: 1.将class文件加密,这个是最安全的,但也费事儿,因为要重写classloader来解密class文 ...

  6. Java代码加密与反编译(一):利用混淆器工具proGuard对jar包加密

    Java 代码编译后生成的 .class 中包含有源代码中的所有信息(不包括注释),尤其是在其中保存有调试信息的时候.所以一个按照正常方式编译的 Java .class 文件可以非常轻易地被反编译.通 ...

  7. Android 4.0 ProGuard 代码混淆 以及 proguard returned with error code 1.See console异常的解决方法

    最近呢说要上线,就去找了下上线的方法...之前做过代码混淆,用的是progarud.cfg,但是呢自己反编译了之后还是无效,然后就丢着先不管了,因为实在不知道什么情况.今天来上线的时候结果总是报错,总 ...

  8. Android 项目的代码混淆,Android proguard 使用说明

    简单介绍 Java代码是非常easy反编译的. 为了非常好的保护Java源码,我们往往会对编译好的class文件进行混淆处理. ProGuard是一个混淆代码的开源项目.它的主要作用就是混淆,当然它还 ...

  9. 转:Android 2.3 代码混淆proguard技术介绍

    ProGuard简介 ProGuard是一个SourceForge上非常知名的开源项目.官网网址是:http://proguard.sourceforge.net/. Java的字节码一般是非常容易反 ...

随机推荐

  1. 【C语言】外部函数和内部函数

    目录 [外部函数]  [内部函数] 1.外部函数  定义的函数能被本文件和其它文件访问(默认). 注:不允许有同名的外部函数. 2.内部函数  定义的函数只能被本文件访问,其它文件不能访问. 注:允许 ...

  2. 优化MySchool数据库(事务、视图、索引)

    事务.视图.索引: 事务:当生活逻辑中的“一个步骤”,需要使用多条SQL去完成时,必须使用事务来确保其“完整性“. 视图:简化数据库结构,方便你编写SQL语句(简化SQL语句的编写) 索引:提高“数据 ...

  3. FMDB的简单使用

    1.什么是FMDB? FMDB是iOS平台的SQLite数据库框架 FMDB以OC的方式封装了SQLite的C语言API. 无论项目中使用 ARC 还是 MRC,对 FMDB 都没有任何影响,FMDB ...

  4. IOS开发之小实例--创建一个简单的用于视频录制和回放的应用程序

    前言:还是看了一下国外的入门IOS文章:<Create a Simple App for Video Recording and Playback>,主要涉及视频录制和回放的功能的基本实现 ...

  5. 区别和详解:jQuery中的 $().each()和$.each()/jQuery.each()

    1.认识   $().each()遍历当前jQuery对象,并在每一个元素上执行回调函数.其方法内部是通过调用静态方法jQuery.each()来实现的.   jQuery.each()是一个通用的遍 ...

  6. yii过滤xss代码,防止sql注入

    作者:白狼 出处:www.manks.top/article/yii2_filter_xss_code_or_safe_to_database 本文版权归作者,欢迎转载,但未经作者同意必须保留此段声明 ...

  7. Asp.net MVC Razor模板引擎技巧分享

    Razor是Asp.net MVC中新的默认模板类型, 语法简单易用.这篇文章不涉及Razor的语法,主要介绍Razor的一些在MVC项目中的使用技巧,以及脱离MVC环境下,如何使用Razor. 阅读 ...

  8. Java api 入门教程 之 JAVA的Random类

    在实际的项目开发过程中,经常需要产生一些随机数值,例如网站登录中的校验数字等,或者需要以一定的几率实现某种效果,例如游戏程序中的物品掉落等. 在Java API中,在java.util包中专门提供了一 ...

  9. C语言出错问题汇总【需要更新】

      'getch' : undeclared identifier解决方案 在VC++6.0中编译程序 #include<stdio.h> void main() { printf(&qu ...

  10. 【简易版】IOS仿periscope自制狂赞飘桃心

    periscope自制狂赞飘桃心 国外的IOS app“periscope”非常的火,观看手机视频直播的时候,点击屏幕任何一个地方,屏幕右下角就能飘出各种颜色的桃心,效果非常的炫! 为此我自制了一个仿 ...