由于业务需求所以需要把项目部署到客户那边,但是公司给我们的要求就是数据库要加密,代码要进行加密防止代码进行反编译,其实还是能够破解的但是时间很长,废话不多说了开始吧
1、在pom文件中假如属性和插件,不要直接复制粘贴注意看摆放位置
<dependencies>
<dependency>
<groupId>com.github.core-lib</groupId>
<artifactId>xjar</artifactId>
<version>4.0.0</version>
</dependency>
</dependencies>
<!-- 设置 jitpack.io 仓库,Xjar需要使用 -->
<repositories>
<repository>
<id>jitpack.io</id>
<url>https://jitpack.io</url>
</repository>
</repositories>
2、写main方法,其中的PeisBooking-0.0.1-SNAPSHOT.jar是通过maven install 打包好之后的jar在文件夹下面同时还会生成xjar.go文件,下面的test.jar指的是需要生成的jar名称和路径
public static void main(String[] args) throws Exception {
produs();
}
public static void produs() throws Exception {
XCryptos.encryption()
// 项目生成的jar
.from("E:\\aa\\PeisBooking-0.0.1-SNAPSHOT.jar")
// 加密的密码
.use("mtkj123!")
// 要加密的资源
.include("/**.class")
.include("/**/*.xml")
// 加密后的jar,此时:通过jd-gui反编译失败
.to("E:\\aa\\test.jar");
}
3、最不好弄得我觉得是这一步,需要安装GO环境安装教程
https://www.runoob.com/go/go-environment.html
4、第3步操作完之后需要在jar包所在的目录打开命令界面,输入go build xjar.go
windows系统会得到xjar.exe文件
linux系统会得到xjar文件
5、windows系统启动应用程序命输入命令
xjar.exe java -jar 生成的jar名称 项目就运行起来了
linux系统启动应用程序输入命令
./xjar java -jar 生成的jar名称
1、go环境安装时出错了,这个需要自己尝试
2、运行时由于参考的是其他博主的文档所以很多都看不懂,写的根本就算不上通俗易懂,其他博主写的是xjar java -jar XXXX ,但是根本就行不通,也可能是我看不懂文字叙述的原因,一定要记住windows下要使用xjar.exe开头后面运行的程序是通过main函数生成的jar
用最常用的jd-gui反编译得到的结果是编译错误,但是程序是能够正常运行的
联系客服