Java 字节码加密插件,配置简单、多种方式、远程管理!
个人精力有限,如果加密异常请自行源码排查除非是Bug!
https://gitee.com/anoraks/codefort
CodeFort
是一个用于class加密的Maven插件,通过诸多实用的策略配置,旨在帮助开发者简便,快捷的保护代码安全。
CodeFort = Code + Fort,Code是代码的表示,Fort表示堡垒。CodeFort寓意保卫代码安全。
一个字节码加密的Maven插件,项目以下组件:
模块 | 介绍 |
---|---|
codefort-core | 核心代码模块 |
codefort-plugin | 加密插件模块 |
codefort-web | 远程控制模块 |
在项目的pom.xml的plugins中加入以下内容:
<plugin>
<groupId>io.gitee.anoraks</groupId>
<artifactId>codefort-plugin</artifactId>
<version>1.1.0</version>
<configuration>
<password>123456</password>
<startTime>2017-03-01 22:33:23</startTime>
<endTime>2027-03-01 22:33:23</endTime>
<biosMark>FVFKD2YM1WFY</biosMark>
<availableTime>1000</availableTime>
<libs>license-client-2.0.jar</libs>
<packages>host.skiree.springdemo</packages>
<excludes>host.skiree.springdemo.excludes</excludes>
<host>127.0.0.1</host>
<port>7007</port>
<explain>示例项目</explain>
<isDebug>true</isDebug>
<rsaPublicKey>RSA公钥</rsaPublicKey>
<relyLibPath>外部依赖路径</relyLibPath>
</configuration>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>CodeFort</goal>
</goals>
</execution>
</executions>
</plugin>
提交问题反馈请说明正在使用的JDK版本、CodeFort版本和相关依赖库版本。
参数 | 说明 |
---|---|
password | 加密密码(默认为:cfasy) |
startTime | 开始时间 |
endTime | 结束时间 |
biosMark | CPU序列号 |
availableTime | 剩余可用时间(单位:毫秒,优先级小于时间区间判断) |
libs | 需要加密的依赖包,若多个逗号分隔 |
packages | 需要加密路径,若多个逗号分隔 |
excludes | 加密排除路径,若多个逗号分隔 |
host | 远程控制主机IP |
port | 远程控制主机端口 |
explain | 项目说明 |
isDebug | 是否开启Debug |
rsaPublicKey | 远程控制公钥 |
relyLibPath | 外部lib依赖,若多个逗号分隔 |
如果正常打包的项目为 springdemo.jar,则会在通路下生成springdemo-encrypted.jar,运行下边的命令执行。
java -javaagent:springdemo-encrypted.jar -jar springdemo-encrypted.jar
输入密码后,如果配置了远程控制就可以在管理页面进行操作。
_____ __ ____ __
/ ___/__ ___/ /__ / __/__ ____/ /_
/ /__/ _ \/ _ / -_) _// _ \/ __/ __/
\___/\___/\_,_/\__/_/ \___/_/ \__/
[13:45:07.217-INFO] 无法在运行参数中获取密码,将会从系统参数获取
[13:45:07.220-INFO] 无法在系统参数中获取密码,将会从控制台获取
[13:45:07.220-INFO] 提示: 如果未设置密码请直接回车键跳过
[13:45:07.220-INFO] 请输入密码 :
[13:47:30.250-DEBUG] Socket服务器IP: 127.0.0.1,端口: 7007
[13:47:30.260-DEBUG] 连接成功
[13:47:40.262-INFO] CodeFort 致力保卫您的代码安全, 联系微信号: Anroak
如下所示就是成功连接上了控制台
在控制台目前可以进行信息提示操作和强制下线操作,如下所示
[13:48:13.754-INFO] 这个先关闭了,有啥事儿,再联系我
[13:48:15.305-INFO] 此服务已被强制下线!如有疑问请联系管理员或开发者
如果要启用远程管理请注意codefort-web项目下的application.yml的codefort.port参数请注意和打包插件的端口一致, 其次是coffee.lucks.codefort.unit.ServerConst.rsaKey的值是私钥,需要和打包时的rsaPublicKey公钥对应。
codefort:
# socket端口
port: 7007
# 管理平台账号
user: admin
# 管理平台密码
password: 123456
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。