SpringBoot 集成安全加密运行工具,防止反编译代码泄露

文章目录

  • 背景
  • springboot集成xjar方法(maven项目)
    • 在pom文件中配置xjar插件
    • 在idea中指定模块maven命令参数设置密码打包
    • Linux安装go环境编译启动器
    • 运行项目

背景

众所周知,原生Java程序编译后的.class文件可以被反编译,反编译就是针对编译生成的 jar/war 包 里面的 .class 文件 逆向还原回来,造成比较常用的反编译工具 JD-GUI ,直接把编译好的jar丢进去,大部分都能反编译看到源码,源码是重要的知识产权,这样让代码裸奔的方式 给个人和公司都会造成巨大的损失。而传统的代码混淆工具 如ProGuard、Allatori 有缺陷,配置繁琐 如果配置不正确可能导致正常业务代码和接口不可用,另外只是对当前工程的代码进行混淆,无法对相关的依赖包都进行混淆,对多模块和微服务的项目来说安全性相对弱

xjar 是基于对JAR包内资源的加密以及拓展ClassLoader来构建的一套程序加密启动, 动态解密运行的方案, 避免源码泄露以及反编译.
具有以下特性:
无代码侵入, 只需要把编译好的JAR包通过工具加密即可.
完全内存解密, 降低源码以及字节码泄露或反编译的风险.
支持所有JDK内置加解密算法.
可选择需要加解密的字节码或其他资源文件.
支持Maven插件, 加密更加便捷.
动态生成Go启动器, 保护密码不泄露.

springboot集成xjar方法(maven项目)

在pom文件中配置xjar插件

Maven项目可通过集成 xjar-maven-plugin 以免去每次加密都要执行一次上述的代码, 随着Maven构建自动生成加密后的JAR和Go启动器源码文件.

由于使用了阿里云Maven镜像导致无法从 jitpack.io 下载 XJar 依赖的问题,需要配置插件仓库

<project><!-- 设置 jitpack.io 插件仓库 --><pluginRepositories><pluginRepository><id>jitpack.io</id><url>https://jitpack.io

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/29259.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

海南云亿商务咨询有限公司抖店开店怎么样?

在数字化浪潮席卷全球的今天&#xff0c;电商行业日新月异&#xff0c;其中抖音电商以其独特的短视频直播模式&#xff0c;迅速崛起成为电商领域的新贵。海南云亿商务咨询有限公司&#xff0c;作为抖音电商服务的佼佼者&#xff0c;凭借专业的团队和丰富的经验&#xff0c;致力…

openlayers之ImageWMS监听事件

ol.source.ImageWMS&#xff0c;WMS 服务提供的单一的图片数据&#xff0c;继承自 ol.source.Image&#xff0c;触发 ol.source.ImageEvent&#xff1b; 触发事件 imageloadstart&#xff0c;图片地图开始加载触发的事件&#xff1b;imageloadend&#xff0c;图片地图加载完毕…

qt里面的moc文件是什么,有什么作用,它是自动生成的文件吗

在Qt框架中&#xff0c;MOC&#xff08;Meta-Object Compiler&#xff0c;元对象编译器&#xff09;是一个特殊的预处理器&#xff0c;用于扩展C语言&#xff0c;使其支持信号与槽机制、运行时类型信息、动态属性系统以及其他一些高级特性。Moc通过解析源代码中特定的Qt宏&…

代理配置SQUID

目录 SQUID代理服务器配置 监听浏览器访问记录 拒绝访问配置 SQUID代理服务器配置 实验系统 windows 10 xxxxx Roucky_linux9.4 192.168.226.22 监听浏览器访问记录 1. 安装squid yum install squid -y 2. 编辑squid配置文件 vim /etc/squid…

SAP 物料主数据 PRD覆盖QAS实现-货源同步

货源同步 EORD FORM FRM_SYNEORD.DATA:LTOKEN TYPE STRING.DATA: LL_LINES(10),"行数LL_TABIX(10),"循环标号LL_PECNT TYPE P LENGTH 6 DECIMALS 2, "百分比LL_PECET(6),"百分数LL_TEXT(40)."消息CLEAR: LL_LINES,LL_TABIX,LL_PECNT,LL_PECET,L…

一个很好用的地图工具的使用:思极地图,以及vue+思极地图的使用

前言&#xff1a; 随着现在国网等一部分公司的需求&#xff0c;在线地图-思极地图 出现在我们眼前&#xff0c;给我们带来了很多便利&#xff0c;这里分享下他的信息与使用。 实现效果&#xff1a; 相关资料&#xff1a; 1、官网地址 2、在线地址 3、官方api地址 实现步骤-js…

从Instance classifier重新思考多实例学习

弱监督的WSI分类通常被形式化为多实例学习&#xff08;MIL&#xff09;问题&#xff0c;其中每张slide都被视为一个bag&#xff0c;从中切出的patch被视为实例。现有的方法要么通过伪标记训练实例分类器&#xff0c;要么通过注意力机制将实例特征聚合为bag特征&#xff0c;然后…

新能源汽车的能源动脉:中国星坤汽车电缆在新能源汽车电气化中的应用!

随着新能源汽车行业的蓬勃发展&#xff0c;汽车电缆组件作为汽车电气系统的核心组成部分&#xff0c;其重要性日益凸显。中国星坤汽车电缆组件以其卓越的性能和创新技术&#xff0c;为汽车的电能传输、信号传递和控制提供了坚实的保障。本文将深入解析星坤汽车电缆组件的特性、…

从社交网络到元宇宙:Facebook的战略转型

随着科技的迅猛发展和数字化时代的深入&#xff0c;社交网络已不再局限于简单的信息交流和社交互动&#xff0c;而是逐步向更广阔、更深远的虚拟现实空间——元宇宙&#xff08;Metaverse&#xff09;转变。作为全球最大的社交网络平台之一&#xff0c;Facebook正在积极推动这一…

和服务器建立联系——6.10山大软院项目实训1

下面介绍我如何在自己的项目中&#xff0c;根据aigc组的接口&#xff08;如下图&#xff09;&#xff0c;在Unity中和服务器建立联系并发出接受请求的&#xff1a; 这是一个通过HTTP POST方法调用的接口&#xff0c;需要发送JSON格式的数据。在Unity中实现这样的功能&#xff0…

tkinter 电子时钟 实现时间日期 可实现透明 无标题栏

使用tkinter库实现的电子时钟&#xff0c;包含时间和日期&#xff0c;可以设置透明和无标题栏&#xff1a; import tkinter as tk import timeclass DigitalClock(tk.Tk):def __init__(self):super().__init__()self.title("Digital Clock")self.configure(bgblack)…

C++语法15 多分支结构(if多分支与switch结构)

if else if else 多分支结构基本框架 if&#xff08;条件1&#xff09;语句1; //满足条件1就执行 else if&#xff08;条件2&#xff09;语句2; //不满足条件1&#xff0c;但是满足条件2执行 else if (条件3&#xff09;语句3; //不满足条件1和条件2&#x…

HACH哈希紫外可见光分光光度计维修DR6000

DR3900可见分光光度计内置准双光束光学系统&#xff0c;自动校准波长&#xff0c;该可见光分光光度计预置200多个用户程序&#xff0c;几乎覆盖常规水质参数&#xff0c;彩色触屏搭载中文操作界面&#xff0c;可自动分析检测并存储2000组实验数据&#xff0c;是一款测量准确的可…

掌控Linux-Conda环境安装终极指南

Linux-Conda环境安装教程 一、引言1.1. conda的作用与优势优势&#xff1a; 1.2. 简述conda在Linux系统中的重要性重要性&#xff1a; 二、准备工作2.1. 系统要求与兼容性Linux发行版支持情况硬件资源需求 2.2. 安装前的必要工具wget或curl的安装必要的开发库 三、下载与安装Mi…

编程二进制教案怎么写:深入解析与实战指南

编程二进制教案怎么写&#xff1a;深入解析与实战指南 在数字时代&#xff0c;二进制作为计算机语言的基础&#xff0c;对于编程学习者来说至关重要。如何编写一份既深入又易懂的二进制编程教案&#xff0c;是每位教育者都需要面临的挑战。本文将从四个方面、五个方面、六个方…

HTTP 415错误状态码

HTTP 415错误状态码是指"Unsupported Media Type"&#xff08;不支持的媒体类型&#xff09;。这通常发生在客户端向服务器发送请求时&#xff0c;请求中包含的媒体类型&#xff08;例如Content-Type头部&#xff09;不被服务器支持或识别的情况下。 解决方法&#…

python-开学?

[题目描述] 小执&#xff1a;终于可以开学啦&#xff01;好开心啊&#xff01; 小理&#xff1a;你没看新闻吗&#xff0c;开学日期又延后了。 小执&#xff1a;&#x1d441;&#x1d442;&#x1d442;&#x1d442;&#x1d442;&#x1d442;&#x1d442;&#x1d442;&am…

Ubuntu基础-vim编辑器

目录 前言: 一. 安装 二. 配置 三. 基本使用 1.使用 Vim 编辑文本文件 2.代码编辑 3.多窗口编辑 四. 总结 前言: Vim 是从 VI 发展出来的一个文本编辑器&#xff0c;具有代码补充、错误跳转等功能&#xff0c;在程序员中被广泛使用。它的设计理念是命令的组合&#xff…

编程软件批量注册怎么弄:深入探索与实战指南

编程软件批量注册怎么弄&#xff1a;深入探索与实战指南 在数字化时代&#xff0c;编程软件已成为众多开发者和企业的得力助手。然而&#xff0c;对于需要大规模使用或部署编程软件的用户来说&#xff0c;批量注册往往成为一项繁琐而复杂的任务。本文将围绕四个方面、五个方面…

APS-SCM联动:开创生产调度与供应链管理新篇章

在当今激烈的市场产品竞争环境下&#xff0c;企业不仅需要灵活高效的内部生产流程&#xff0c;更需具备对外部环境快速响应的能力&#xff0c;从而保证产品保质保量的生产完成&#xff0c;快速占据更多的市场份额。正是在这样的背景下&#xff0c;APS&#xff08;Advanced Plan…