使用 XJar 对程序 jar 包加密,防止被破解
ninehua 2024-12-13 15:33 65 浏览
1.新建一个空的maven项目,并在pom文件中添加:
<dependencies>
<dependency>
<groupId>com.github.core-lib</groupId>
<artifactId>xjar</artifactId>
<version>4.0.2</version>
</dependency>
</dependencies>
<repositories>
<repository>
<id>jitpack.io</id>
<url>https://jitpack.io</url>
</repository>
</repositories>
2.新建一个XJarController执行类(此处随意)
public class XJarController {
//源文件地址
private static final String inPath = "D:\\project\\old.jar";
//新文件输出地址
private static final String outPath = "D:\\project\\new.jar";
//加密秘钥
private static final String secret = "123456";
public static void main(String[] args) throws Exception {
hanlderEncryptionJar();
System.out.println("完成输出");
}
/**
* 加密jar
*/
private static void hanlderEncryptionJar() throws Exception {
XCryptos.encryption()
.from(inPath)
.use(secret)
.include("/**.class")
.include("/**/*.xml")
.to(outPath);
}
}
3.运行,得到如下图:
4.linux 环境和 windows 分别介绍
Linux环境
4.1 首先目标系统-阿里镜像 Centos8.2 不重要 有yum就行,主要环境是golang俗称go
# yum list | grep golang // 没有的就要自己搞repo或者直接wget安装吧 --- golang.x86_64
# yum install -y golang
4.2 版本确认,检查
# go version
go version go1.14.12 linux/amd64
4.3 把文件传到linux上,注意需要两个文件!重点别漏了new.jar和xjar.go
4.4 cd到目录,操作
# go build xjar.go
得到如下文件
4.5 运行jar,普通运行
./xjar java -jar new.jar
4.6 写成sh脚本
#!/bin/sh
cd /路径
nohup ./xjar java -jar new.jar > new.out & //需要日志,二选一(一般都有logger了,不用这个了)
./xjar java -jar new.jar & //不需要日志,二选一
windows环境
4.1 本人windows10系统,首先安装golang windows服务
进入golang中文网下载地址:https://studygolang.com/dl
选择版本进行下载
解压语言包,将下载好 zip 文件解压到电脑中任意位置,解压后将得到如下 Go 环境文件夹,文件列表如下:
配置环境变量:
点击系统变量下的新建,在变量名一栏输入 GOROOT ,在变量值一栏输入 G:\Work\ProgramLang\go(这个就是你解压文件所在的目录)。最后点击确定,就将 GOROOT 新建完毕。
GOPATH和GOROOT的配置略有不同,我建议配置两个GOPATH目录,第一个用于放 Go 语言的第三方包,第二个用于放自己的开发代码。我们来新建GOPATH。点击系统变量下的新建,在变量名一栏输入GOPATH,在变量值一栏输入G:\Work\ProgramWorkSpace\go\library;G:\Work\ProgramWorkSpace\go\workspace(任意两个目录,中间用英文分号隔开)。最后点击确定,就将GOPATH新建完毕。
然后将新建的GOROOT配置到path这个环境变量中去,在系统变量中找到path,点击编辑->新建,输入%GOROOT%\bin,点击确定。并将所有母窗口的确定全部点下,确保环境变量生效。
最后一步,验证环境是否安装成功,windows+R 输入 cmd 打开终端,输入go version,如果输出如下图所示,则安装成功。
4.2 cd 进入new.jar 和xjar.go文件目录并使用CMD执行,得到xjar.exe
go build xjar.go4.3
最后使用 xjar.exe 运行加密后的 jar 包
xjar.exe java -jar new.jar
此时的 new.jar 在 jd-gui编译工具上就看不到任何class文件的内容了。
- 上一篇:maven 处理多版本 jar包依赖冲突
- 下一篇:idea maven 依赖包报红
相关推荐
- 魔兽世界9.2:元素萨是赎罪大厅最好治疗?30赎罪元素斗士队探索
-
作者:NGA-aaeehhhh前言众所周知,赎罪大厅是本赛季大秘境中治疗压力最小的副本。一众奶妈常在职业区发帖炫耀探讨赎罪大厅自身的输出,以及如何配装可以达到输出最大化。同时,又有一些链链橙元素萨...
- 「买买买」选办公装备,就要便宜还好用的
-
工欲善其事必先利其器,要想提高办公效率,很有必要准备一些小东西来节省繁琐的工作环节,或者是让办公舒适度大幅提升。今天小狮子就给大家推荐几款便宜又好用的工具,没准正好是你用得上的。精致小U盘,有大用处闪...
- 魔兽一秒学会惩戒骑:打地鼠WA(tbc惩戒骑有打断吗)
-
WeakAuras插件是魔兽世界中功能强大、高度可定制的法术计时和效果监控工具,它以其灵活性和用户友好的界面,为玩家提供了无与伦比的游戏体验优化。加载WA插件,进入游戏输入/WA呼出插件界面,点击导入...
- 手机上的腾讯视频下裁缓存后怎么在剪映上打开?
-
手机上的腾讯视频,爱奇艺等app下裁电影缓存后是没办法直接导入剪映的。剪映上支持的格式一般为MP4格式。腾讯视频,爱奇艺等由于缓存格式的不同一般都是需要先将下裁好的电影进行转码后才能在剪映上找到该电影...
- 大雨暴雨!考生注意,昆明将迎强降雨,最强时段在→
-
x+uPszetsZE0hW4Kus8ZBXIv2aDRkIfZ5gJS7lUPXMoBvX2xGtVvDhtZxbB9RTDIbj0Jgh0MmOkEfBiJDtHykQ2Qqj7fl20m2BSK...
- 金舟格式工厂好用吗?批量转换速度如何?
-
金舟格式工厂是一款集齐多种格式转换功能的格式转换工具,分别支持视频、音频、文档、图片等多种格式转换,而且还提供了批量处理功能,帮助我们多文件批量转换,超强的处理功能能节省不少时间,想要高效办公,非他莫...
- 如何将qlv格式的腾讯视频转换为mp4格式
-
1,在腾讯视频客户端搜索自己想要转换的视频,然后下载。如图(这里需要注意的是,一定要下载完成才能进行转换):2,找到缓存文件所在的位置(文件夹)在腾讯视频客户端中点击设置图标,然后就会看到跳出来的下载...
- 音频提取/无损音质一键拥有(音频提取下载什么软件)
-
经典影视台词、、突然火起来的音频、有趣的视频声音、好听但不知道歌名的视频音乐....大家有木有在这些时候很苦恼?如何将这些台词/声音/音乐从视频中提取出来呢?——视频转音频一键提取音频哦,一起来学习吧...
- 自己动手无需软件:将腾讯视频的QLV视频转化为MP4格式
-
自己动手丰衣足食,只要你有简单的动手能力,小编就能完成你的梦想!上一篇就是小编亲测的视频地址,大家可以点击看一下成品效果:胥渡吧新作:紫薇结婚了,皇阿玛都发话了大家平时可能会用到腾讯视频的下载功能,但...
- 怎么把腾讯视频的qlv格式转换为mp4格式
-
1、进入腾讯视频,将需要整理的视频下载,如图所示2、在下载页面的右侧位置,如图“设置”位置,点击打开,将视频存储的位置--复制(一定要保持全部复制,不要漏掉)3、在“我的电脑”搜索栏部分,将刚复制的存...
- 某证券项目软件测试面试过程总结(证券软件测试用例)
-
这家公司是做证券项目的,约的9点钟,路程还是有点遥远,转了一趟公交两趟地铁,精力都花在了路上,感觉有点累,以下是今天得面试流程。 到公司前台给我了一张面试表,写完之后就是等待面试。一共面试了两轮,第...
- 用ChatGPT高效学习:7天入门Python网络爬虫
-
用ChatGPT高效学习:7天入门Python网络爬虫以前不懂编程,但经常要从互联网上批量下载一些文件图片视频、收集整理数据等,手工操作耗时耗力。用ChatGPT入门了Python编程后,就寻思着可以...
- 微信小程序手机和电脑抓包实现(微信小程序如何抓包)
-
前言一.Charles抓包和配置:二.ProxyPin使用和总结:结尾前言微信小程序抓包可以帮助开发者分析小程序的网络请求,从而优化程序性能,解决程序的bug。同时,通过抓包还可以获取到一些有用的信...
- 难道只有我懂Nginx/OpenResty详解,Nginx的rewrite模块指令?
-
Nginx的rewrite模块指令Nginx的rewrite模块即ngx_http_rewrite_module标准模块,主要功能是重写请求URI,也是Nginx默认安装的模块。rewrite模块会根...
- 一文了解 Telerik Test Studio 测试神器
-
1.简介TelerikTestStudio(以下称TestStudio)是一个易于使用的自动化测试工具,可用于Web、WPF应用的界面功能测试,也可以用于API测试,以及负载和性能测试。Te...