网站首页 > java教程 正文
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文件的内容了。
猜你喜欢
- 2024-12-28 maven 处理多版本 jar包依赖冲突 maven管理jar包冲突
- 2024-12-28 IDEA+Maven启动SpringBoot项目出现程序包XXX包不存在的解决方案
- 2024-12-28 如何避免多个jar通过maven打包成jar,同名配置文件发生覆盖问题
- 2024-12-28 AndroidStudio_使用Gradle来管理依赖jar包_刷新依赖
- 2024-12-28 如何将本地jar包打包到本地仓库 jar包本地怎么运行
- 2024-12-28 IntelliJ Idea下jar包引入失败的处理方法
- 2024-12-28 Jarboot-一个功能强大易用的Java进程启动器
- 2024-12-28 正确发布jar到maven central和避坑指南
- 2024-12-28 Eclipse导出Jar包(包含外部包) eclipse导出apk包方法
- 2024-12-28 Maven 项目构建打包,如何引入本地 Jar 包?
你 发表评论:
欢迎- 04-24Java Collections 工具类集合框架中常用算法解析
- 04-24桶排序的简单理解
- 04-24Java集合框架底层实现原理大揭秘
- 04-24Java 集合框架全面解析:选对数据结构,提升开发效率
- 04-24c#集合排序
- 04-24Java面试中常被问到的集合类深度解读
- 04-24VBA技术资料MF278:对集合进行排序
- 04-24Spring 最常用的 7 大类注解,史上最强整理
- 最近发表
- 标签列表
-
- java反编译工具 (77)
- java反射 (57)
- java接口 (61)
- java随机数 (63)
- java7下载 (59)
- java数据结构 (61)
- java 三目运算符 (65)
- java对象转map (63)
- Java继承 (69)
- java字符串替换 (60)
- 快速排序java (59)
- java并发编程 (58)
- java api文档 (60)
- centos安装java (57)
- java调用webservice接口 (61)
- java深拷贝 (61)
- 工厂模式java (59)
- java代理模式 (59)
- java.lang (57)
- java连接mysql数据库 (67)
- java重载 (68)
- java 循环语句 (66)
- java反序列化 (58)
- java时间函数 (60)
- java是值传递还是引用传递 (62)
本文暂时没有评论,来添加一个吧(●'◡'●)