Ruo Yi 系统 ClassFinal 加密 字节加密 SpringBoot 加密 代码加密 安全加密
复制打包后的项目文件:ruoyi-admin.encrypted.jar 包到运行目录,并且把 classfinal-fatijar.jar 包复制过来,通过一下指令运行项目,启动后输入 pom 文件中设置的密码回车即可运行。ClassFinal 文档也有相关的配置代码,相关配置的说明详细可查看官方文档,此处举例列出若依框架(分离版)的配置。该案例主要使用插件的方式进行加密,这也是比较推荐的加密方
基于RuoYi系统的 ClassFinal 加密案例
环境准备
若依系统(Ruo Yi)
若依开源框架 ,根据项目文档部署好项目即可。这里我使用的是前后端分离版本,微服务版本后续有需要再研究了。
加密工具(ClassFinal)
ClassFinal 主要工作是运行该项目包,生成设备码,加密解密项目程序包和启动我们的项目
逆向工具
JDK 环境
加密案例
该案例主要使用插件的方式进行加密,这也是比较推荐的加密方式。更多的方式请自行查看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 的加密方式介绍到这里,谢谢!
更多推荐
所有评论(0)