-keepdirectories
关闭对代码进行优化压缩,开启会删除从未使用的类或者类成员变量等
-dontshrink
列出未使用的代码,可打印到标准输出或写入指定文件
#-printusage
关闭字节码级别的优化,如果不开启则设置如下配置,默认开启。
-dontoptimize
关闭预检,预检主要针对JavaME,Java6以后都不用预检,不关闭启动会报错: Expected stackmap frame at this location.
-dontpreverify
不生成大小写混写的类名
-dontusemixedcaseclassnames
对类成员的命名混淆采取唯一策略
-useuniqueclassmembernames
混淆类名之后,对使用Class.forName(‘className’)之类的地方进行相应替代
-adaptclassstrings
#对异常、注解信息予以保留
#MethodParameters: #所有类(包括接口)的方法参数不混淆(包括没被keep的) 如果参数混淆了 mybatis mapper 参数绑定会出错(如#{id}
-keepattributes MethodParameters,Exceptions,InnerClasses,Signature,Deprecated,SourceFile,LineNumberTable,Annotation,EnclosingMethod
此选项将保存接口中的所有原始名称(不混淆)–>
-keepnames interface ** { *; }
#保留参数名,因为控制器,或者Mybatis等接口的参数如果混淆会导致无法接受参数,xml文件找不到参数
-keepparameternames
保留枚举成员及方法
-keepclassmembers enum * { *; }
#忽略warn消息
-ignorewarnings
#忽略note消息
-dontnote
#打印配置信息
-printconfiguration
排除混淆 指定的类名且类中的方法也不混淆
-keep class com.test.ac.processing.Application{;}
#配置不混淆
-keep class com.test.ac.config.** {;}
#实体不混淆
-keep class com.test.ac.entity.** {;}
#配置包路径不混淆
-keeppackagenames com.test.ac.config
#注解了Aspect的都不混淆,由于把framework下的所有类都不混淆,所以此配置就可有可无了
-keep @org.aspectj.lang.annotation.Aspect class * {*;}
配置完之后执行package命令就会有混淆之后的jar包了.
常用属性
-keep
-keep [,modifier,…] class_specification; 指定该类以及类的成员和方法为entry points,不被ProGuard混淆
-keepclassmembers
-keepclassmembers [,modifier,…] class_specification: 指定类的某些成员不被混淆,注意类名还是会被混淆
-keepnames
-keepnames class_specification: -keepclassmembers,allowshrinking class_specification的别名,保留名称不被混淆,但可以被压缩
-keepclassmembernames
-keepclassmembernames class_specification; -keepclasseswithmembers,allowshrinking class_specification的别名,保留名称不被混淆,但可以被压缩
-keeppackagenames
-keeppackagenames [package_filter]: 保持包路径名称不混淆
混淆后代码
class文件的一些变量名称也会发生变化,让代码可读性更差.
可能出现的问题
混淆后自己全部代码没有被放入混淆后的jar包里(jar\BOOT-INF\classes)
原因: proguard-maven-plugin插件放到了spring-boot-maven-plugin插件后面
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数网络安全工程师,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年网络安全全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上网络安全知识点,真正体系化!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新
如果你觉得这些内容对你有帮助,可以添加VX:vip204888 (备注网络安全获取)
学习路线:
这个方向初期比较容易入门一些,掌握一些基本技术,拿起各种现成的工具就可以开黑了。不过,要想从脚本小子变成黑客大神,这个方向越往后,需要学习和掌握的东西就会越来越多以下是网络渗透需要学习的内容:
一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**
[外链图片转存中…(img-KtCGcHAJ-1712695760797)]