Ruo Yi 系统 ClassFinal 加密 字节加密 SpringBoot 加密 代码加密 安全加密

环境准备

若依系统(Ruo Yi)

项目地址

若依开源框架 ,根据项目文档部署好项目即可。这里我使用的是前后端分离版本,微服务版本后续有需要再研究了。

加密工具(ClassFinal)

项目地址

ClassFinal 主要工作是运行该项目包,生成设备码,加密解密项目程序包和启动我们的项目

逆向工具

GitHub地址

JDK 环境

JDK 8下载

加密案例

该案例主要使用插件的方式进行加密,这也是比较推荐的加密方式。更多的方式请自行查看ClassFinal 文档学习。

1. 安装 JDK 8 及以上环境

2. 部署若依项目(此处不做描述)

3. 下载 ClassFinal jar 包 (classfinal-fatjar.jar)

下载描述

4. 生成机械码(可选)

通过以下指令在 ClassFinal jar 包目录运行项目生成当前设备的机械码

java -jar classfinal-fatjar.jar -C

生成机械码
5. pom 文件配置插件信息

ClassFinal 文档也有相关的配置代码,相关配置的说明详细可查看官方文档,此处举例列出若依框架(分离版)的配置。 ruoyi-admin 模块下的 pom.xml

<!-- 加密插件,防止反编译 -->
<plugin>
	<!-- https://gitee.com/roseboy/classfinal -->
	<groupId>net.roseboy</groupId>
	<artifactId>classfinal-maven-plugin</artifactId>
	<version>1.2.1</version>
	<configuration>
	<!-- 加密密码 -->
	<password>123456</password>
	<!-- 机器码 -->
	<code>
		A99A7DFA6738A99AC4814074C72B57F6D41D8CD98F00B204E9800998ECF8427ED41D8CD98F00B204E9800998ECF8427E
	</code>
	<!-- 需要加密的包名 -->
	<packages>com.ruoyi.*</packages>
	<!-- 需要加密的配置文件 -->
	<cfgfiles>*.properties,*Mapper.xml,*.yml</cfgfiles>
	</configuration>
		<executions>
			<execution>
				<phase>package</phase>
					<goals>
						<goal>classFinal</goal>
                    </goals>
            </execution>
        </executions>
</plugin>

6. 打包项目 通过反编译工具查看结果

选择 File , Open File 选择对应 jar 包即可反编译出来

  • 项目未加密前反编译结果

在这里插入图片描述

在这里插入图片描述

  • 项目加密后反编译结果

在这里插入图片描述
在这里插入图片描述

可见加密后的项目配置信息和类方法信息全部都被加密隐藏起来了

7. 运行项目

复制打包后的项目文件:ruoyi-admin.encrypted.jar 包到运行目录,并且把 classfinal-fatijar.jar 包复制过来,通过一下指令运行项目,启动后输入 pom 文件中设置的密码回车即可运行

java -javaagent:classfinal-fatjar.jar  -jar ruoyi-admin-encrypted.jar

程序运行
到此对于 Springboot 单机项目 ClassFinal 的加密方式介绍到这里,谢谢!

  • 26
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值