当前位置: 首页 > news >正文

Proguard代码混淆-springboot3

一、背景介绍

我们交付软件的时候,有时候不想把源代码程序泄露出去,就需要对软件产品做一些机器混淆处理,以降低其可读性和被破解的风险。

以java软件开发为例子,目前java开发用的最多的框架技术是springboot,而现如今springboot最流行的版本已经达到了3.0以上。

本文作者亲测打包部署,springboot jar包,并使用proguard-maven-plugin插件,对编译后的代码进行再次混淆,而不改变jar包的功能特性,从而有效保护了开发者的劳动成果。

本次测试的软件开发环境:

java版本:17

springboot:3.2

mysql:8.0

二、关于proguard

据proguard官网介绍,其可以对java字节码文件进行优化、压缩、混淆等。

但是proguard官网并未提供Java idea开发工具的maven插件,proguard官网也标注了下载相关maven插件的其它网站:

Some open-source implementations:

  • https://github.com/wvengen/proguard-maven-plugin
  • https://github.com/dingxin/proguard-maven-plugin

如果下载有问题,可以添加文末微信好,免费领取。

三、proguard混淆jar包实操

 1 pom文件添加proguard 相关plugin

2 配置代码混淆相关属性(几个关键配置)

2.1 保留springboot main方法入口

2.2 如果项目是多模块(modal)的

如果项目是多模块(modal)的,将其它相关依赖模块也进行代码混淆,而不是让其它模块以jar包的形式,存放在lib目录中。

首先,在configuration中增添inclusion

其次,在原sprongbootmaven-plugin下排除掉lib选项

2.3 指定java版本17

本文,是在springboot3项目中实操proguard用法,其中项目使用maven工具管理依赖文件,项目采用父子modal的多modal形式,最终打包成了一个主modal文件,即整个工程最终通过一个jar文件来运行。

完整proguard代码混淆配置示例在工程的pom文件中,

示例程序获取通道请点击这里

更多问题咨询,请添加小编wx好友👇👇👇

相关文章:

  • spring4第3课-ioc控制反转-详解依赖注入的4种方式
  • SpringBoot项目快速打包与部署,War包⽅式打包部署与Jar包⽅式打包部署两种方式
  • 基于Vue3.0的【Vis.js】库基本使用教程(002):图片知识图谱的基本构建和设置
  • SpringBoot Controller接收参数方式
  • SpringBoot使用ffmpeg实现视频压缩
  • vue+elementUi+axios实现分页(MyBatis、Servlet)
  • Baklib内容中台驱动资源高效整合
  • matlab中绘图函数plot
  • 《vue.js快速入门》链接摘抄整理
  • DBeaver 连接 OceanBase Oracle 租户
  • vscode 终端 PATH 和python pip 不对
  • 压缩包方式在Linux和Windows下安装mongodb
  • 前端面经 React常见的生命周期
  • D2000平台上Centos使用mmap函数遇到的陷阱
  • 多模态大语言模型arxiv论文略读(九十六)
  • MCU与CPU时钟概念详解:从基础到面试高频问题
  • 嵌入式学习笔记 - 新版Keil软件模拟时钟Xtal灰色不可更改的问题
  • 回归算法模型之线性回归
  • 【Qt开发】布局管理器
  • 《活法》
  • 手机网站和pc网站的区别/长沙关键词优化首选
  • 做电商海报的网站/网站seo 优化
  • wordpress相关文章tag/洛阳seo博客
  • 好网站制作公司/网络营销方案有哪些
  • 网站建设合同需要缴纳印花税/查排名
  • seo搜索营销分析方案/我们seo