网易首页 > 网易号 > 正文 申请入驻

SpringBoot 玩一玩代码混淆,防止反编译代码泄露

0
分享至


编译

简单就是把代码跑一哈,然后我们的代码 .java文件 就被编译成了 .class 文件

反编译

就是针对编译生成的 jar/war 包 里面的 .class 文件 逆向还原回来,可以看到你的代码写的啥。

比较常用的反编译工具 JD-GUI ,直接把编译好的jar丢进去,大部分都能反编译看到源码:

那如果不想给别人反编译看自己写的代码呢?

怎么做?

混淆

该篇玩的代码混淆 ,是其中一种手段。

我给你看,但你反编译看到的不是真正的代码。

先看一张效果示例图 :

开搞

正文

先看一下我们混淆一个项目代码,要做啥?

第一步, 在项目路径下,新增一份文件 proguard.cfg :

proguard.cfg

#指定Java的版本
-target 1.8
#proguard会对代码进行优化压缩,他会删除从未使用的类或者类成员变量等
-dontshrink
#是否关闭字节码级别的优化,如果不开启则设置如下配置
-dontoptimize
#混淆时不生成大小写混合的类名,默认是可以大小写混合
-dontusemixedcaseclassnames
# 对于类成员的命名的混淆采取唯一策略
-useuniqueclassmembernames
#混淆时不生成大小写混合的类名,默认是可以大小写混合
-dontusemixedcaseclassnames
#混淆类名之后,对使用Class.forName('className')之类的地方进行相应替代
-adaptclassstrings

#对异常、注解信息予以保留
-keepattributes Exceptions,InnerClasses,Signature,Deprecated,SourceFile,LineNumberTable,*Annotation*,EnclosingMethod
# 此选项将保存接口中的所有原始名称(不混淆)-->
-keepnames interface ** { *; }
# 此选项将保存所有软件包中的所有原始接口文件(不进行混淆)
#-keep interface * extends * { *; }
#保留参数名,因为控制器,或者Mybatis等接口的参数如果混淆会导致无法接受参数,xml文件找不到参数
-keepparameternames
# 保留枚举成员及方法
-keepclassmembers enum * { *; }
# 不混淆所有类,保存原始定义的注释-
-keepclassmembers class * {
@org.springframework.context.annotation.Bean *;
@org.springframework.beans.factory.annotation.Autowired *;
@org.springframework.beans.factory.annotation.Value *;
@org.springframework.stereotype.Service *;
@org.springframework.stereotype.Component *;
}

#忽略warn消息
-ignorewarnings
#忽略note消息
-dontnote
#打印配置信息
-printconfiguration
-keep public class com.example.myproguarddemo.MyproguarddemoApplication {
public static void main(java.lang.String[]);
}

注意点:

其余的看注释,可以配置哪些类不参与混淆,哪些枚举保留,哪些方法名不混淆等等。

第二步,在pom文件上 加入proguard 混淆插件 :

build标签里面改动加入一下配置。推荐面试宝典:https://www.yoodb.com,记着收藏,以备不时之需。


com.github.wvengengroupId>
proguard-maven-pluginartifactId>
2.6.0version>


packagephase>
proguardgoal>
goals>
execution>
executions>

${project.build.finalName}.jarinjar>

${project.build.finalName}.jaroutjar>

trueobfuscate>

${project.basedir}/proguard.cfgproguardInclude>


${java.home}/lib/rt.jarlib>
${java.home}/lib/jce.jarlib>
${java.home}/lib/jsse.jarlib>
libs>

!META-INF/**,!META-INF/versions/9/**.classinLibsFilter>

${project.basedir}/targetoutputDirectory>

注意点:

然后可以看到:

然后点击package,正常执行编译打包流程就可以 :

然后可以看到jar的生成:

看看效果:

好了,该篇就到这。

作者:小目标青年 https://blog.csdn.net/qq_35387940/article/details/127426354

公众号“Java精选”所发表内容注明来源的,版权归原出处所有(无法查证版权的或者未注明出处的均来自网络,系转载,转载的目的在于传递更多信息,版权属于原作者。如有侵权,请联系,笔者会第一时间删除处理!

最近有很多人问,有没有读者交流群!加入方式很简单,公众号Java精选,回复“加群”,即可入群!

(微信小程序):3000+道面试题,包含Java基础、并发、JVM、线程、MQ系列、Redis、Spring系列、Elasticsearch、Docker、K8s、Flink、Spark、架构设计等,在线随时刷题!

------ 特别推荐 ------

特别推荐:专注分享最前沿的技术与资讯,为弯道超车做好准备及各种开源项目与高效率软件的公众号,「大咖笔记」,专注挖掘好东西,非常值得大家关注。点击下方公众号卡片关注

文章有帮助的话,点在看,转发吧!

options>
configuration>
plugin>
org.springframework.bootgroupId>
spring-boot-maven-pluginartifactId>
repackagegoal>
goals>
com.example.myproguarddemo.MyproguarddemoApplicationmainClass>
configuration>
execution>
executions>
plugin>
plugins>
build>

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
利好来了!长鑫存储大消息!光模块出口暴增100倍!影响一周市场的十大消息

利好来了!长鑫存储大消息!光模块出口暴增100倍!影响一周市场的十大消息

证券时报
2026-06-28 18:22:03
上海市民骑哈啰单车称遭遇“价格刺客”,骑79分钟收费30元!哈啰回应:建议用户骑行前留意价格信息,避免误骑高价车辆

上海市民骑哈啰单车称遭遇“价格刺客”,骑79分钟收费30元!哈啰回应:建议用户骑行前留意价格信息,避免误骑高价车辆

三湘都市报
2026-06-28 19:30:46
马丁内斯:我们想为若塔赢得世界杯;可能会调整C罗上场时间

马丁内斯:我们想为若塔赢得世界杯;可能会调整C罗上场时间

懂球帝
2026-06-28 17:54:07
就吃了2次,脾胃立马舒服多了,健脾养胃,清理淤堵,温和养胃!

就吃了2次,脾胃立马舒服多了,健脾养胃,清理淤堵,温和养胃!

白宸侃片
2026-06-27 18:33:45
湖人4大消息!艾顿将执行810万选项+首轮追特纳 詹姆斯热火或重聚

湖人4大消息!艾顿将执行810万选项+首轮追特纳 詹姆斯热火或重聚

锅子篮球
2026-06-28 11:55:36
女孩高考后产子宁死不说孩子爸是谁,父母查明真相当场崩溃

女孩高考后产子宁死不说孩子爸是谁,父母查明真相当场崩溃

优墨出品
2026-06-28 14:50:56
宋祖儿本名叫孙凡清,我忍了,李一桐本名叫李雪,我也忍了,但是

宋祖儿本名叫孙凡清,我忍了,李一桐本名叫李雪,我也忍了,但是

草莓解说体育
2026-06-27 16:22:43
斯诺克再爆冷门中国名将出局,新晋黑马突围

斯诺克再爆冷门中国名将出局,新晋黑马突围

宝哥精彩赛事
2026-06-28 20:48:29
惊天逆转!伊朗最高领袖密信曝光:谈判代表根本没按指令行事!

惊天逆转!伊朗最高领袖密信曝光:谈判代表根本没按指令行事!

近史谈
2026-06-27 13:07:17
中纪委再标红线!公职人员下班后的饭局,这5种情况将严肃处理!

中纪委再标红线!公职人员下班后的饭局,这5种情况将严肃处理!

细说职场
2026-06-27 14:11:59
大一法学生殴打女友扬言让你怀孕再逼你流产!女生发视频举报细节令人发指

大一法学生殴打女友扬言让你怀孕再逼你流产!女生发视频举报细节令人发指

不二表姐
2026-06-27 21:30:40
日本终于有人敢捅破窗户纸!台湾问题不解决,日本永远别想翻身!

日本终于有人敢捅破窗户纸!台湾问题不解决,日本永远别想翻身!

凡知
2026-06-28 14:50:04
中国排协官宣!14人名单公布,袁志将带队,两人出局一人新入选

中国排协官宣!14人名单公布,袁志将带队,两人出局一人新入选

跑者排球视角
2026-06-28 17:03:49
江苏一新生儿“没眼睛”,父母惶恐不安,谁料,医生一看笑出声了

江苏一新生儿“没眼睛”,父母惶恐不安,谁料,医生一看笑出声了

背包旅行
2026-06-28 17:26:01
疯狂3-1逆转!民主刚果晋级,韩国队彻底无望,伊朗命悬一线

疯狂3-1逆转!民主刚果晋级,韩国队彻底无望,伊朗命悬一线

全景体育V
2026-06-28 09:32:51
多名院士呼吁停止食用,比肥肉还伤血管,转告父母,趁早撤下餐桌

多名院士呼吁停止食用,比肥肉还伤血管,转告父母,趁早撤下餐桌

39健康网
2026-06-28 18:31:08
农商银行宣布退市!定期存款、养老钱 还能安全取出吗?

农商银行宣布退市!定期存款、养老钱 还能安全取出吗?

牛锅巴小钒
2026-06-28 19:49:59
连爆三部韩剧,Netflix又赢麻了

连爆三部韩剧,Netflix又赢麻了

来看美剧
2026-06-28 19:44:56
44岁彭于晏伦敦街头被偶遇,染银发戴粉帽,真人185小奶狗既视感

44岁彭于晏伦敦街头被偶遇,染银发戴粉帽,真人185小奶狗既视感

木子爱娱乐大号
2026-06-27 19:04:02
皮蛋被关注!研究发现:吃越多,或对动脉硬化患者血管有大影响?

皮蛋被关注!研究发现:吃越多,或对动脉硬化患者血管有大影响?

鬼菜生活
2026-06-28 20:11:12
2026-06-28 22:43:00
Java精选
Java精选
一场永远也演不完的戏
1795文章数 3859关注度
往期回顾 全部

科技要闻

DeepSeek最新论文:如何让大模型跑得更快

头条要闻

养老院取名"如家" 没被如家酒店投诉反被一女子投诉

头条要闻

养老院取名"如家" 没被如家酒店投诉反被一女子投诉

体育要闻

韩国可算确定被淘汰了

娱乐要闻

曾沛慈拿下《乘风2026》年度总冠军

财经要闻

省钱,我只服梁文锋

汽车要闻

搭载华为乾崑六件套 东风奕派M8预售19.98万起

态度原创

教育
艺术
本地
游戏
公开课

教育要闻

明日提前批第1次志愿填报!注意事项来啦↘

艺术要闻

她不用笔,她用刀

本地新闻

世界杯球迷节:比球赛更好玩的派对

分析师:跟风《GTA6》卖80刀?先想想自己配不配

公开课

李玫瑾:为什么性格比能力更重要?

无障碍浏览 进入关怀版