接入指南 · 交付方式 · API 参考。商业交付完整文档随交付包(README-DELIVERY.md)提供。
jvmp 把 Java 类编译为自定义 VM 指令(纯 Java 实现的解释器内嵌进产物 jar), 原 bytecode 从产物中消失——逆向者面对的是一套每次构建形态都不同的虚拟机。 适用于 license 校验、核心算法、付费逻辑等高价值代码的保护。
先在 控制台 注册并创建 API token。
buildscript {
repositories { maven { url '<jvmp 交付仓库地址>' } }
dependencies { classpath 'org.jvmp:jvmp-gradle-plugin:<version>' }
}
apply plugin: 'org.jvmp'
jvmp {
input = tasks.jar
virtual = ['com/yourco/PriceEngine'] // fully-virtual 类清单
remote { server = 'https://jvmp.cn'; token = '<token>' }
}
<plugin>
<groupId>org.jvmp</groupId><artifactId>jvmp-maven-plugin</artifactId>
<configuration>
<server>https://jvmp.cn</server> <token>${env.JVMP_TOKEN}</token>
<virtual><param>com/yourco/PriceEngine</param></virtual>
</configuration>
</plugin>
buildscript {
dependencies { classpath 'org.jvmp:jvmp-agp-plugin:<version>' }
}
apply plugin: 'org.jvmp.android'
jvmpAndroid {
virtual = ['com/yourco/core/PriceEngine']
remote { server = 'https://jvmp.cn'; token = System.env.JVMP_TOKEN }
}
jvmp protect --in app.jar --out app-protected.jar \
--virtual com/yourco/PriceEngine \
--server https://jvmp.cn --token $JVMP_TOKEN
本地保护(不经服务端)需源码级授权的完整工具——见交付包说明。
jvmp 不发布公开仓库(Maven Central / Gradle Plugin Portal)。交付形态为 完整 maven 仓库布局包,三选一接入:
repo/ 到项目 libs/,
buildscript repositories 指向相对路径(零基础设施)细节见交付包内 README-DELIVERY.md。
| 键 | 默认 | 说明 |
|---|---|---|
| virtual | [] | fully-virtual 类(原类从产物消失,逻辑进 VM) |
| keepReal | [] | 原样保留字节码的类(API/DTO 等) |
| seed | 0(随机) | 构建种子——同 seed 同形态(可复现构建) |
| variants | 1 | 每方法等价语义变体数(2-3 推荐,抗差分) |
| minBytecodeVersion | 8 | ≥9 注入 module-info(JPMS 防篡改);≥11 启用 nestmate 访问器 |
| interpreters | 1 | 解释器实例数(多态分散) |
| shards / shardKey | 1 | 模块分片(shards>1 时密钥必填) |
| rules | "" | ProGuard keep 规则叠加 |
| 端点 | 说明 |
|---|---|
| POST /api/v1/auth/register | 注册(赠试用点数;token 仅显示一次) |
| POST /api/v1/auth/login | 登录签发 token |
| GET /api/v1/me | 账户/余额/构建记录/流水 |
| GET·POST·DELETE /api/v1/me/tokens[/{id}] | API token 管理 |
| POST /api/v1/protect | 上传 jar+config → protected.zip(Bearer token) |
| GET /api/v1/challenge/scenarios · /{id}/kit | 逆向挑战题目(公开) |
| POST /api/v1/coop | 合作意向登记(公开) |