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
1 2 3 | #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
1 2 3 4 5 6 7 8 | #过期时间,为空则不限制过期时间(默认到 9999 - 01 - 01 ) expireTime= 2023 - 07 - 01 #加密密码,为空则随机生成动态密码 password= #加密解密文件地址(加密java代码源码),为空则使用自带des加密 myEncryptCodeFile=加密.java #加密方写入的版权信息声明,为空则无 myVersionInfo=请正规渠道获得版本授权文件,严禁进行反编译修改或破解,一经发现会追溯法律责任! |
加密.java模板
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | 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
1 | java -javaagent:encrypt-lmc-demo-provider- 1.0 -SNAPSHOT.jar -jar encrypt-lmc-demo-provider- 1.0 -SNAPSHOT.jar |
解密配置
一般为加密jar包后自动生成,文件名为{jar包名}.security.properties,解密jar需要配套此解密配置文件
1 2 3 4 | #加密密码 password= #解密秘钥代码 myDecryptCode= |
未来扩展
- 增加远程授权管理端
by 车江毅
技术vp
2023-7-3
开源是一种态度,分享是一种精神,学习仍需坚持,进步仍需努力,.net生态圈因你我更加美好。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!