java maven 混淆,maven中添加proguard来混淆代码

直接使用mvn package可能直接出错,所以先用jar:jar命令得到jar文件,在使用proguard:proguard混淆。

命令在idea的Maven Projects查看。

参考:http://zhengchao123.iteye.com/blog/1872424

com.pyx4me=>com.github.wvengen,版本号要变成2.0.7

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

Xml代码

com.pyx4me

proguard-maven-plugin

2.0.6

package

proguard

1.7

1.7

UTF-8

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

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

net.sf.proguard

proguard-base

4.9

runtime

proguard.conf

# ———————————-

#  通过指定数量的优化能执行

#  -optimizationpasses n

# ———————————-

-optimizationpasses 3

# ———————————-

#   混淆时不会产生形形色色的类名

#   -dontusemixedcaseclassnames

# ———————————-

-dontusemixedcaseclassnames

# ———————————-

#      指定不去忽略非公共的库类

#  -dontskipnonpubliclibraryclasses

# ———————————-

#-dontskipnonpubliclibraryclasses

# ———————————-

#       不预校验

#    -dontpreverify

# ———————————-

# -dontpreverify

# ———————————-

#      输出生成信息

#       -verbose

# ———————————-

-verbose

#混淆时应用侵入式重载

-overloadaggressively

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

-allowaccessmodification

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

-useuniqueclassmembernames

#这里添加你不需要混淆的类

-dontwarn javax.crypto.**

-keep class javax.crypto.**

-keep  class com.rh.hasp.util.** {*;}

#-keep  class com.zsoftware.common.constant.** {*;}

-keep public class * extends  javax.servlet.Servlet

-keepdirectories  **

-keepattributes **

#-keepnames class * implements java.io.Serializable

# ———保护所有实体中的字段名称———-

-keepclassmembers class * implements java.io.Serializable {

;

}

# ——— 保护类中的所有方法名 ————

-keepclassmembers class * {

public ;

}

执行:mvn package

输出:

[INFO]

[INFO] — maven-jar-plugin:2.3.2:jar (default-jar) @ rh-hasp —

[INFO] Building jar: /mnt/D/work_documents/workspace_ide_linux/rh_hasp_util/target/rh-hasp-1.1.jar

[INFO]

[INFO] — proguard-maven-plugin:2.0.6:proguard (default) @ rh-hasp —

[INFO] execute ProGuard [-injars, ‘/mnt/D/work_documents/workspace_ide_linux/rh_hasp_util/target/rh-hasp-1.1_proguard_base.jar'(!META-INF/maven/**), -outjars, ‘/mnt/D/work_documents/workspace_ide_linux/rh_hasp_util/target/rh-hasp-1.1.jar’, -include, ‘/mnt/D/work_documents/workspace_ide_linux/rh_hasp_util/proguard.conf’, -libraryjars, ‘/home/pandy/m2/repository/commons-codec/commons-codec/1.9/commons-codec-1.9.jar’, -libraryjars, ‘/home/pandy/m2/repository/commons-lang/commons-lang/2.6/commons-lang-2.6.jar’, -libraryjars, ‘/usr/java/jdk1.7.0_51/jre/lib/rt.jar’, -printmapping, ‘/mnt/D/work_documents/workspace_ide_linux/rh_hasp_util/target/proguard_map.txt’, -printseeds, ‘/mnt/D/work_documents/workspace_ide_linux/rh_hasp_util/target/proguard_seeds.txt’]

[INFO] proguard jar: /home/pandy/m2/repository/net/sf/proguard/proguard-base/4.9/proguard-base-4.9.jar

[proguard] ProGuard, version 4.9

[proguard] Reading input…

[proguard] Reading program jar [/mnt/D/work_documents/workspace_ide_linux/rh_hasp_util/target/rh-hasp-1.1_proguard_base.jar] (filtered)

[proguard] Reading library jar [/home/pandy/m2/repository/commons-codec/commons-codec/1.9/commons-codec-1.9.jar]

[proguard] Reading library jar [/home/pandy/m2/repository/commons-lang/commons-lang/2.6/commons-lang-2.6.jar]

[proguard] Reading library jar [/usr/java/jdk1.7.0_51/jre/lib/rt.jar]

[proguard] Initializing…

[proguard] Note: the configuration refers to the unknown class ‘javax.servlet.Servlet’

[proguard] Note: there were 1 references to unknown classes.

[proguard]       You should check your configuration for typos.

[proguard] Ignoring unused library classes…

[proguard]   Original number of library classes: 19278

[proguard]   Final number of library classes:    19278

[proguard] Printing kept classes, fields, and methods…

[proguard] Shrinking…

[proguard] Removing unused program classes and class elements…

[proguard]   Original number of program classes: 8

[proguard]   Final number of program classes:    8

[proguard] Inlining subroutines…

[proguard] Optimizing…

[proguard]   Number of finalized classes:                 5

[proguard]   Number of vertically merged classes:         0

[proguard]   Number of horizontally merged classes:       0

[proguard]   Number of removed write-only fields:         3

[proguard]   Number of privatized fields:                 12

[proguard]   Number of inlined constant fields:           0

[proguard]   Number of privatized methods:                0

[proguard]   Number of staticized methods:                1

[proguard]   Number of finalized methods:                 45

[proguard]   Number of removed method parameters:         0

[proguard]   Number of inlined constant parameters:       2

[proguard]   Number of inlined constant return values:    0

[proguard]   Number of inlined short method calls:        0

[proguard]   Number of inlined unique method calls:       13

[proguard]   Number of inlined tail recursion calls:      0

[proguard]   Number of merged code blocks:                2

[proguard]   Number of variable peephole optimizations:   72

[proguard]   Number of arithmetic peephole optimizations: 0

[proguard]   Number of cast peephole optimizations:       0

[proguard]   Number of field peephole optimizations:      1

[proguard]   Number of branch peephole optimizations:     36

[proguard]   Number of string peephole optimizations:     11

[proguard]   Number of simplified instructions:           3

[proguard]   Number of removed instructions:              33

[proguard]   Number of removed local variables:           2

[proguard]   Number of removed exception blocks:          3

[proguard]   Number of optimized local variable frames:   25

[proguard] Shrinking…

[proguard] Removing unused program classes and class elements…

[proguard]   Original number of program classes: 8

[proguard]   Final number of program classes:    8

[proguard] Optimizing…

[proguard]   Number of finalized classes:                 0

[proguard]   Number of vertically merged classes:         0

[proguard]   Number of horizontally merged classes:       0

[proguard]   Number of removed write-only fields:         0

[proguard]   Number of privatized fields:                 0

[proguard]   Number of inlined constant fields:           0

[proguard]   Number of privatized methods:                0

[proguard]   Number of staticized methods:                0

[proguard]   Number of finalized methods:                 0

[proguard]   Number of removed method parameters:         1

[proguard]   Number of inlined constant parameters:       0

[proguard]   Number of inlined constant return values:    0

[proguard]   Number of inlined short method calls:        0

[proguard]   Number of inlined unique method calls:       0

[proguard]   Number of inlined tail recursion calls:      0

[proguard]   Number of merged code blocks:                0

[proguard]   Number of variable peephole optimizations:   4

[proguard]   Number of arithmetic peephole optimizations: 0

[proguard]   Number of cast peephole optimizations:       0

[proguard]   Number of field peephole optimizations:      0

[proguard]   Number of branch peephole optimizations:     1

[proguard]   Number of string peephole optimizations:     2

[proguard]   Number of simplified instructions:           0

[proguard]   Number of removed instructions:              50

[proguard]   Number of removed local variables:           1

[proguard]   Number of removed exception blocks:          0

[proguard]   Number of optimized local variable frames:   1

[proguard] Shrinking…

[proguard] Removing unused program classes and class elements…

[proguard]   Original number of program classes: 8

[proguard]   Final number of program classes:    8

[proguard] Optimizing…

[proguard]   Number of finalized classes:                 0

[proguard]   Number of vertically merged classes:         0

[proguard]   Number of horizontally merged classes:       0

[proguard]   Number of removed write-only fields:         0

[proguard]   Number of privatized fields:                 0

[proguard]   Number of inlined constant fields:           0

[proguard]   Number of privatized methods:                0

[proguard]   Number of staticized methods:                0

[proguard]   Number of finalized methods:                 0

[proguard]   Number of removed method parameters:         0

[proguard]   Number of inlined constant parameters:       0

[proguard]   Number of inlined constant return values:    0

[proguard]   Number of inlined short method calls:        0

[proguard]   Number of inlined unique method calls:       0

[proguard]   Number of inlined tail recursion calls:      0

[proguard]   Number of merged code blocks:                0

[proguard]   Number of variable peephole optimizations:   0

[proguard]   Number of arithmetic peephole optimizations: 0

[proguard]   Number of cast peephole optimizations:       0

[proguard]   Number of field peephole optimizations:      0

[proguard]   Number of branch peephole optimizations:     0

[proguard]   Number of string peephole optimizations:     2

[proguard]   Number of simplified instructions:           0

[proguard]   Number of removed instructions:              6

[proguard]   Number of removed local variables:           0

[proguard]   Number of removed exception blocks:          0

[proguard]   Number of optimized local variable frames:   0

[proguard] Shrinking…

[proguard] Removing unused program classes and class elements…

[proguard]   Original number of program classes: 8

[proguard]   Final number of program classes:    8

[proguard] Obfuscating…

[proguard] Printing mapping to [/mnt/D/work_documents/workspace_ide_linux/rh_hasp_util/target/proguard_map.txt]…

[proguard] Preverifying…

[proguard] Writing output…

[proguard] Preparing output jar [/mnt/D/work_documents/workspace_ide_linux/rh_hasp_util/target/rh-hasp-1.1.jar]

[proguard]   Copying resources from program jar [/mnt/D/work_documents/workspace_ide_linux/rh_hasp_util/target/rh-hasp-1.1_proguard_base.jar] (filtered)

[INFO]

[INFO] — maven-jar-plugin:2.3.2:jar (default) @ rh-hasp —

[INFO] Building jar: /mnt/D/work_documents/workspace_ide_linux/rh_hasp_util/target/rh-hasp-1.1-lib.jar

[INFO] ————————————————————————

[INFO] BUILD SUCCESS

这时就已经好了,但是包结构都变了,成了a,b,c,d ….的了

虽然是混淆加密了,但是外部也不能再直接使用类来…地去引用了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值