认证加密
AES-256-GCM 同时保护内容机密性与完整性,篡改后的密文无法正常加载。
JAVA BYTECODE PROTECTION
为 .class 与 .jar 提供在线加密封装。每位用户独立设置加密口令,可选择部署时注入口令,或由专属 DLL / SO 在进程内提供密钥。
java -javaagent:runtime/classguard-agent.jar -jar app.jarBUILT FOR DELIVERY
只对 Java 字节码进行加密,资源文件与清单结构继续保留。运行时由 Agent 在类加载阶段完成解密,不产生落地明文 Class。
AES-256-GCM 同时保护内容机密性与完整性,篡改后的密文无法正常加载。
多用户任务相互隔离,每次保护均由用户自己的口令派生密钥。
下载包内附 Java Agent 与清晰的启动说明,无需改动应用业务代码。
THREE STEPS
选择构件、设置口令、下载保护包。口令运行和 DLL / SO 本地加载的部署步骤不同,请按所选模式操作。
支持批量上传 .class 或 .jar;单个最大 100 MiB,总计 300 MiB。
至少 8 位;同一用户也可以为不同项目设置不同口令。
口令模式设置环境变量;本地模式先编译 DLL / SO,再进入 delivery 目录启动。
RUN THE BUNDLE
以下以可执行 JAR 为例;将文件名替换为实际生成的名称,单独的 .class 请以保护包内 README.txt 为准。
$env:CLASSGUARD_PASSWORD='你的加密口令'
java -javaagent:runtime/classguard-agent.jar -jar "protected/app-protected.jar"
Remove-Item Env:CLASSGUARD_PASSWORDexport CLASSGUARD_PASSWORD='你的加密口令'
java -javaagent:runtime/classguard-agent.jar -jar "protected/app-protected.jar"
unset CLASSGUARD_PASSWORD.\native-builder\build-windows.cmd
Set-Location delivery
java "-javaagent:runtime/classguard-agent.jar=mode=native" -jar "protected/app-protected.jar"sh native-builder/build-linux.sh
cd delivery
java -javaagent:runtime/classguard-agent.jar=mode=native -jar "protected/app-protected.jar"从解压后的保护包根目录开始执行。DLL / SO 构建方需要完整 JDK、JAVA_HOME 与 GCC;只交付生成的 delivery 目录,不要交付包含密钥材料的 native-builder。
PRIVATE WORKSPACE
账号用于隔离任务和下载记录;登录密码与构件加密口令相互独立。
● 加密口令不会作为账号信息保存
FAQ
先解压保护包。口令模式设置 CLASSGUARD_PASSWORD 后通过 Java Agent 启动,运行结束后清除该环境变量;本地模式由保护包所有者先构建专属 DLL / SO,再进入 delivery 目录执行 README 给出的命令。每个保护包都有准确的文件名和启动参数,请优先查看包内 README.txt。
可从 MSYS2 官网安装 MSYS2,在 UCRT64 终端运行 pacman -S mingw-w64-ucrt-x86_64-gcc。随后让 PowerShell 的 PATH 包含 UCRT64 的 bin 目录(默认 C:\msys64\ucrt64\bin),运行 gcc -dumpmachine 确认是 x86_64。还需安装完整的 Windows JDK,将 JAVA_HOME 指向 JDK 根目录,确认其下存在 include\jni.h,再运行 .\native-builder\build-windows.cmd。不要使用 MSYS 环境的 Cygwin GCC 或 32 位 GCC。
Ubuntu / Debian 可运行 sudo apt update 和 sudo apt install gcc(参见 Ubuntu 官方说明);其他发行版使用自己的包管理器安装 GCC。另需安装完整 JDK,设置 JAVA_HOME 指向 JDK 根目录,确认 $JAVA_HOME/include/jni.h 存在,再从保护包根目录运行 sh native-builder/build-linux.sh。本地库应在与部署目标相同的操作系统和 CPU 架构上构建。
不需要。口令模式只需与应用兼容的 Java 运行环境及包内 Agent。当前 DLL / SO 构建脚本只覆盖 Windows 和 Linux;macOS 可使用口令模式。
批量上传会得到多个相互独立的保护包,请分别解压和运行。单个 .class 使用 -cp protected 和类的完整名称启动,不使用 -jar;准确命令见该包内的 README.txt。
无效。字节码加密会改变 JAR 内容,保护过程会移除原签名文件和清单中的摘要。若交付流程要求签名,请在保护完成后对最终产物重新评估签名与验证方案。
不会写入数据库或任务记录。口令模式不把口令装入保护包;本地模式会生成含专属密钥材料的构建源码,请勿将 native-builder 提供给部署方。
没有客户端运行方案能承诺绝对不可破解。本工具提高静态提取和直接反编译的成本,但运行环境仍应配合授权、混淆和服务器端校验。
可以。保护包会保留 JAR 的资源和清单结构,仍使用 -jar 启动,只需增加 -javaagent 参数。