mysql不带加密模式jar包_Spring boot jar包加密(防止放在客户端反编译)

前言

需求常用但是时间不常有。有些能客户接触到jar包就很尴尬了。不要问为什么尴尬。

混淆?? 测试了下 ProGuard maven 插件。嗯,放弃了。不言弃的朋友可以试试。

加固!! 可以的给钱就行

重点,jar包不给钱加密了---xjar

解决方案

第一步,新建一个maven项目。(不来操作演示了)

pom添加内容如下,缺一不可不要问为什么,看github地址介绍

com.github.core-lib

xjar

4.0.2

jitpack.io

https://jitpack.io

新建一个类XJarController随意

public class XJarController {

//文件地址

private static final String inPath = "D:\\project\\spring boot\\xmlProject\\xmlSpring\\target\\z-0.0.1-SNAPSHOT.jar";

//输出地址

private static final String outPath = "C:\\Users\\klzy\\Desktop\\outPath\\new.jar";

//加密秘钥

private static final String secret = "123456";

public static void main(String[] args) throws Exception {

hanlderEncryptionJar();

System.out.println("完成输出");

}

/**

* 加密jar

*

* @throws Exception

*/

private static void hanlderEncryptionJar() throws Exception {

XCryptos.encryption()

.from(inPath)

.use(secret)

.include("/**.class")

.include("/**/*.xml")

.to(outPath);

}

}

运行,得到如下图

a05b4dc49868

文件夹

分环境介绍。

Linux环境

1.首先目标系统-阿里镜像 Centos8.2 不重要 有yum就行,主要环境是golang俗称go

2.上操作

# yum list | gep golang // 没有的就要自己搞repo或者直接wget安装吧 --- golang.x86_64

# yum install -y golang

3.版本确认,检查

# go version

go version go1.14.12 linux/amd64 //我的是

4.把文件传到linux上,注意需要两个文件!重点别漏了new.jar和xjar.go

5.cd到目录,操作

# go build xjar.go

6.得到如下文件

a05b4dc49868

image.png

7.运行jar,普通运行

./xjar java -jar new.jar

写成sh

#!/bin/sh

cd /路径

nohup ./xjar java -jar new.jar > new.out & //需要日志,二选一(一般都有logger了,不用这个了)

./xjar java -jar new.jar & //不需要日志,二选一

9.打成系统服务systemctl这个不讲了,百度,或者我其他文章有

windows

首先目标系统-windows10 ,嗯没毛病吧

百度golang windows安装,添加环境,emmm

操作

# go build xjar.go

4.得到xjar.exe,跟linux差不多操作了

5.cd到目录,然后操作

xjar.exe java -jar new.jar

Ps

混淆踩了很多坑,发现web jar 果然不适合混淆。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
众所周知,java开发语言提供了很方便的开发平台,而且开发出来的程序很容易在不同的平台上面进行移植,现在越来越多的人使用它开发软件。 Java有了它方便的一个方面,但是他同时也带给了开发者一个烦恼,这就是保护的办法不多,而且大多数不是很好用,这样自己辛苦开发出来的程序很容易被人反编译过来而据为己有,一般情况下,大多数的人都是用混编器(java obfuscator)来把开发出来的程序进行打乱以达到没有办法来反编译观看源代码,但是这种办法在网上很容易找到相关的软件来重新整理,那么这个混编只能控制一些本来也没有办法动您的软件的人,而对于一些掌握工具的人几乎是透明的,还有就是利用硬件加密锁,但大多数公司提供的硬件加密锁只是提供了一些dll的连接或简单的api调用,只要反编译他们,就很容易把一些api调用去掉,这样硬件加密锁也就不起作用了,但是现在到底有没有好的办法呢? 市场上现有的几款防止反编译工具其实都是改进了加载过程。但是加载到JAVA虚拟机后一样可以得到CLASS字节码的。 只要懂JAVA原理的人其实很用意破解的. JAVACOMPILE 这款工具就不一样了,javacompile 它是修改了虚拟机内核, 用户目录里没有需要的JAVA字节码,而是当JAVA需要调用函数的时候才通过网络下载相对应的已经二次编译的字节码,就算用户通过 CLASS.getClass 也得不到可以用来反编译字节码。 真正意义上保护了JAVA知识产权。 个人版限制编译30个CLASS文件,文件打包方式下载。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值