jar-protect 代码加壳加密工具【开源】
开源地址:https://gitee.com/chejiangyi/jar-protect
介绍
java 本身是开放性极强的语言,代码也容易被反编译,没有语言层面的一些常规保护机制,jar包很容易被反编译和破解。 受classfinal(已停止维护)设计启发,针对springboot日常项目开发,重新编写安全可靠的jar包加壳加密技术,用于保护软件版权。
使用说明
- 使用jdk8编译,支持jdk8+版本
- 目前支持springboot打包的jar文件(其他未测)
- 目前支持class文件加密,支持properties,yml,xml等配置文件加密
加密设计

加密命令
jdk17 需要加--add-opens java.base/java.lang=ALL-UNNAMED
#fromJar 待加密的jar包的地址,支持相对路径
#excludeClass 排除(不加密)类文件,支持前后*进行模糊匹配
#includeJar 包含(需要加密)jar包,支持前后*进行模糊匹配
#includeConfig 包含(需要加密)文件,如.xml,.properties,.yml等配置文件,支持前后*进行模糊匹配
java -jar jar-project.jar --fromJar "c:\\tool\\a.jar" --excludeClass "*EurekaApplication*" --includeJar "lmc-*" --includeConfig "*.properties"
加密配置
文件名: jar-project.security.properties
#过期时间,为空则不限制过期时间(默认到9999-01-01)
expireTime=2023-07-01
#加密密码,为空则随机生成动态密码
password=
#加密解密文件地址(加密java代码源码),为空则使用自带des加密
myEncryptCodeFile=加密.java
#加密方写入的版权信息声明,为空则无
myVersionInfo=请正规渠道获得版本授权文件,严禁进行反编译修改或破解,一经发现会追溯法律责任!
加密.java模板
package com.free.bsf.jarprotect.core.encrypt;
import com.free.bsf.jarprotect.core.base.BsfException;
import com.free.bsf.jarprotect.core.base.Context;
import com.free.bsf.jarprotect.core.encrypt.IEncrypt; /*MyEncrypt类名不能更改,注意引用相应的包(仅支持jdk自身的类库,不能使用第三方类库)*/
public class MyEncrypt implements IEncrypt {
@Override
public byte[] e(byte[] d) {
try {
//Context.Default.getPassword()
/*加密逻辑代码*/
}catch (Exception e){
throw new BsfException(e);
}
} @Override
public byte[] d(byte[] d) {
try {
//Context.Default.getPassword()
/*解密逻辑代码*/
}catch (Exception e){
throw new BsfException(e);
}
}
}
- 自定义编码案例Base64+DES
- 自定义编码案例RSA
解密设计

解密命令
jdk17 需要加--add-opens java.base/java.lang=ALL-UNNAMED
java -javaagent:encrypt-lmc-demo-provider-1.0-SNAPSHOT.jar -jar encrypt-lmc-demo-provider-1.0-SNAPSHOT.jar
解密配置
一般为加密jar包后自动生成,文件名为{jar包名}.security.properties,解密jar需要配套此解密配置文件
#加密密码
password=
#解密秘钥代码
myDecryptCode=
未来扩展
- 增加远程授权管理端
by 车江毅
技术vp
2023-7-3
jar-protect 代码加壳加密工具【开源】的更多相关文章
- ASProtect注册码使用教程|ASProtect SKE(加壳脱壳工具) 2.56 汉化注册版
ASProtect 是功能非常完善的加壳.加密保护工具.能够在对软件加壳的同时进行各种保护.如:反调试跟踪.自校验及用密钥加密保护等:还有多种限制使用措施,如:使用天数限制.次数限制及对应的注册提醒信 ...
- 【网鼎杯】jocker--部分代码加壳逆向处理
Main函数,用户输入flag,长度为24位 Wrong函数进行了简单的异或操作 Omg函数进行异或操作,根据提示来看应该是假check Encrypt无法生成伪代码 发现有加壳以及自修改,下断点动调 ...
- Unity3D项目程序加密-VirboxProtector加壳工具
各位Unity3D的开发者,你还为你的代码被反编译而头疼, 混淆和加密已经失效,为内存dump代码而烦恼?是否辛苦制作的游戏被盗版被抄袭而烦恼? 是否害怕算法被别人参考要把算法写成C++而费劲周折? ...
- 防反编译的加壳工具-Virbox Protector
通过Virbox Protector可快速对您的软件进行加壳,可防调试,防挂钩,防反编译. 首先,你要有一个云平台(www.sense.com.cn)的帐号,登录后,只需将你的dll或者exe拖入到加 ...
- 加壳工具-Virbox Protector Standalone
深思数盾自动保护工具Virbox Protector Standalone,是深思数盾科技股份有限公司经过多年技术深耕开发的一款高强度自动保护(加密)工具. 该工具集混淆.虚拟化.外壳加密.数据加密于 ...
- MD5加密工具代码
找到一个开源的MD5加密工具代码,收藏起来 /** * MD5加密工具 */ public class MD5Utils { /** * byte[]字节数组 转换成 十六进制字符串 * @param ...
- .NET DLL 保护措施详解(非混淆加密加壳)
为什么要保护DLL,我就不多说了,各人有各人的理由.总的来说,就是不想核心逻辑泄露及授权验证被破解两大方面的因素.市面上的混淆加密工具对.NET源码保护的效果天差地别,很多网上下到的混淆工具破解版对. ...
- .Net 程序代码混淆加密工具 ILProtector
我的项目中某一部分信息比较敏感,但是.Net程序反编译之后连注释都看得到.需要把exe保护起来,如:代码混淆之后再加壳. Bing到一款.Net混淆工具 ILProtector 作为资深工具党, ...
- NET程序的代码混淆、加壳与脱壳
通常我们通过代码混淆.加密的形式达到软件保护的目的.在Web开发里我们接触过的可能就是JS代码加密了,可以通过对JS代码进行混淆.加密从而实现对核心JS代码的保护.如果没有接触过的可以在这里简单了解一 ...
- 标记下 'net 查壳/脱壳/加壳' 工具
net查壳工具 DotNet Id v1.0.0.3 该net程序集被“MaxToCode”加壳了(也不能完全相信). 加壳工具就是列表中列出的了. de4Net.exe脱壳工具版本de4dot-v3 ...
随机推荐
- centos6分区要点
安装centos6系统时,为了以后能够扩展存储,分区时要注意几点: 1.boot引导分区要选固定分区类型存储,大小是500M 2.其余分区全部做成物理卷lvm pyshiic类型存储 3.在这个物理 ...
- HarmonyOS数据防泄漏服务(DLP)开发实战
系统级数据防护的核心能力解析 在企业级文档管理.教育课件分发.金融合同处理等场景中,数据泄露风险贯穿文件生命周期.HarmonyOS提供的数据防泄漏服务(DLP),通过沙箱隔离.端云协同认证.细粒度权 ...
- 【FAQ】HarmonyOS SDK 闭源开放能力 —Share Kit(2)
1.问题描述: 在app相册点击图片分享,分享模态框能改变样式吗? 解决方案: 分享模态框不能只展示下半部分,分享面板由四部分构成,其中内容预览区提供两种模板供应用选择,参考:https://deve ...
- 去除string前面或后面的空白符
去除string前面或后面的空白符 // trim from start (construct new string) inline std::string ltrim(const std::stri ...
- java Stream之Optional API
摘要:介绍Stream的容器类中 Optional 方法. 综述 仰慕 Stream 流久矣,终于有机会彻底的了解其特性以及用法了,关于源码的理解还需要持续增加深度.在学习 Stream 的时候, ...
- AtCoder Beginner Contest 341-F
AtCoder Beginner Contest 341-F F - Breakdown Problem 给你一个由 \(N\) 个顶点和 \(M\) 条边组成的简单无向图.每个顶点拥有权重\(W_i ...
- 洛谷 P3945 三体问题
洛谷 P3945 三体问题 在物竞dalao的帮助下(简化下?)终于A了此题,于是在他的提议下来喷出题人. 接下来看题. 题意分析 模拟三维空间中\(n\)个星体的运动,求\(Ts\)后\(n\)个星 ...
- Linux下安装并配置VSCode(Visual Studio Code)
众所周知,微软官方推出的开源编辑器VSCode轻量.易用.美观(微软没有给我广告费哈_),在程序员界享有盛誉,今天就带着大家在Linux下快速下载并使用VCode编辑器. 1.下载VSCode包 下载 ...
- VitePress 集成 Waline
转载自我的个人博客:小树 VitePress 本身基于 Vue3,可以通过组件将 Waline 集成到页面中,关于 VitePress 中的组件可以看这篇文章:组件 | VitePress 首先在 . ...
- 【语义分割专栏】4:deeplab系列原理篇
目录 前言 背景介绍 Deeplab系列讲解 Deeplabv1 去池化和全连接层 空洞卷积(Atrous Convolution) 全连接条件随机场(Fully - connected Condit ...