8 Star 38 Fork 6

迷梦/CodeFort

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
AGPL-3.0


CodeFort v1.1.0

Java 字节码加密插件,配置简单、多种方式、远程管理!

个人精力有限,如果加密异常请自行源码排查除非是Bug!

https://gitee.com/anoraks/codefort

Maven AGPL-3.0 jdk-8
gitee star



简介

CodeFort是一个用于class加密的Maven插件,通过诸多实用的策略配置,旨在帮助开发者简便,快捷的保护代码安全。

CodeFort名称的由来

CodeFort = Code + Fort,Code是代码的表示,Fort表示堡垒。CodeFort寓意保卫代码安全。

🛠️包含组件

一个字节码加密的Maven插件,项目以下组件:

模块 介绍
codefort-core 核心代码模块
codefort-plugin 加密插件模块
codefort-web 远程控制模块

版本

1.1.0

  • win系统下打包异常修复

1.0.9

  • 支持外部lib配置参数relyLibPath
  • 代理Agent加密配置,增加代理校验逻辑

1.0.7

  • 移除父项目pom继承

1.0.6

  • 启动时默认密码自动匹配
  • Attach侵入检测以及代码校验

安装

Maven

在项目的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>

提供bug反馈或建议

提交问题反馈请说明正在使用的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

空文件

简介

CodeFort致力于保卫您的字节码安全 展开 收起
README
AGPL-3.0
取消

发行版

暂无发行版

贡献者

全部

近期动态

不能加载更多了
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Java
1
https://gitee.com/anoraks/codefort.git
git@gitee.com:anoraks/codefort.git
anoraks
codefort
CodeFort
master

搜索帮助