proguard简单来说是为了防止反编译,更准确的说,是使得代码易读性变差。

maven pom配置中加入以下:

com.github.wvengen

proguard-maven-plugin

2.0.11

package

proguard

true

true

pg

${basedir}/proguard.conf

${java.home}/lib/rt.jar

${java.home}/lib/jce.jar

classes

${project.build.finalName}-pg.jar

${project.build.directory}

在pom同级目录下添加proguard.conf文件:

# 忽略所有警告,否则有警告的时候混淆会停止

-ignorewarnings

# JDK目标版本1.8

-target 1.8

# 不做收缩(删除注释、未被引用代码)

-dontshrink

# 不做优化(变更代码实现逻辑)

-dontoptimize

# 不路过非公用类文件及成员

-dontskipnonpubliclibraryclasses

-dontskipnonpubliclibraryclassmembers

# 优化时允许访问并修改有修饰符的类和类的成员

-allowaccessmodification

# 确定统一的混淆类的成员名称来增加混淆

-useuniqueclassmembernames

# 不混淆所有包名,本人测试混淆后WE

java maven 混淆_使用proguard实现maven工程代码混淆相关推荐

  1. 代码混淆的原理是什么?常见代码混淆方法介绍

    移动应用代码安全非常重要,代码逆向会导致代码逻辑被获取,进一步导致控制流被hook,安全防线被破,给APP安全带来巨大风险,因此开发者一般都会进行代码混淆保护.本文主要介绍了代码混淆的原理.方法.以及 ...

  2. android微信第三方登陆混淆,基于微信api Android程序签名+代码混淆

    微信开放平台真是独特啊!!! 微信的ap调用确实别新浪微博,人人,QQ互联这些方便很多,也不用判断绑定什么的,让人眼前一亮.但是到代码混淆这一步,我真瞎了,网上关于微信签名混淆资料讲的让人摸不着头脑, ...

  3. Python-编写Python脚本进行iOS代码混淆(iOS防黑加固之代码混淆篇)

    前言 最近一直在看Python,也很喜欢Python的灵活性:今天主要想说的是iOS的代码混淆,为什么想做代码混淆?为了APP的安全,为了防止别人破壳轻易破解我们代码:还有就是做 马甲包 了,我们知道 ...

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

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

  5. 如何导入maven源文件_如何正确导入maven项目到eclipse?

    Eclipse不允许一个项目被导入不止一次,在您的情况下,来自中继线和分支. This article显示了如何通过自定义maven配置文件绕过此限制.基本上,步骤是: >将以下配置文件添加到您 ...

  6. java 重复代码优化_利用注解 + 反射消除重复代码(Java项目)

    1. 案例分析 1.1 案例场景 假设银行提供了一些 API 接口,对参数的序列化有点特殊,不使用 JSON,而是需要我们把参数依次拼在一起构成一个大字符串 按照银行提供的API文档顺序,将所有的参数 ...

  7. java动态规划解法_动态规划通用解法总结(示例代码)

    背景:leetcode刷题遇到动态规划的题目,做不出来时看别人的code,也可以理解,但还是没有找到create solution的技巧,单纯的comprehend and remeber,直到遇到了 ...

  8. java滥用接口_吐槽一下项目中的代码坏味道:滥用java常量

    我们的项目中是否充斥着类似以下的代码呢?定义一个专门存放常量的java类(接口),非常多其它类依赖该常量类. public interface IConstant { int ZERO = 0; St ...

  9. Java三行情书_函数式编程思维在三行代码情书中的应用

    函数式编程概述 如今主流的编程语言,函数式编程范式或多或少都融入其中成了"标配",或者说主流语言都在进行函数式方面的扩充,这是一个大趋势.以Java为例,随着 Lambda块 和 ...

最新文章

  1. Python——Entry、Text控件
  2. 甚长基线干涉测量技术(VLBI)基础
  3. JAVA_Java常用核心包(概念)
  4. yum工具安装Nginx
  5. 晶闸管有几个pn结_晶闸管的电路符号和图片识别
  6. 堆栈向下增长和向上增长的理解
  7. go语言json字符串解析为结构体数组,结构体指针的数组
  8. Codeforces 985C (贪心)
  9. 简单解决“无法打开内核设备:\\Global\\vmx86”错误
  10. Java 8中的策略模式
  11. 实习期间的一些思考整理(3)2018.4.12~4.13
  12. 如何能能够学好软件编程技术
  13. netbsd配置gnome桌面
  14. [转载] python列表解释(list comprehension)记录
  15. chrome怎么调用硬件_浏览器发展简史——IE帝国是如何被chrome打败的?
  16. 卡尔曼滤波原理及公式推导
  17. word中插入常用几种公式编辑器
  18. 电商后台系统:管理后台之账号管理(一)
  19. 【WiFi】Wi-Fi 5(802.11ac) 与 Wifi 6 (802.11ax)RF的关键变化
  20. 电脑饥荒服务器未响应,《饥荒》联机版常见问题及解决方法一览

热门文章

  1. Python机器学习基础
  2. 编写高效的java代码
  3. 对平稳马尔可夫链(stationary distribution of a Markov chain)的学习
  4. Linux内存管理:slub分配器
  5. 世界三大数学软件:MATLAB 2017-2019/Mathematica 11/Maple 2018-2019
  6. 中小型企业Web开发框架
  7. Python读取指定文件夹中的所有图片并保存
  8. append html 是字符串,jquery .html()vs .append()
  9. 让最小化安装的CentOS 6.8能够浏览网页
  10. DNS知识及域名解析内容深入浅出超详细总结附DNS配置教程