jsjiami 在线 JS 加密 API

统一入口 /api.php?act=… · 响应 {code, info, data} · 引擎 cerk-jsenc · API.md

鉴权

js.upload / js.submit / download 需要卡密令牌。先 auth.verify 换令牌, 再用 auth_token 字段或 X-Auth-Token 请求头携带(24 小时有效)。

curl -s "https://jsjiami.xueyuanpie.com/api.php?act=auth.verify" -d "card_key=<卡密>"

接口

act方法参数说明
auth.verifyPOSTcard_key卡密验证,返回 token 与卡密信息
auth.infoGETauth_token查询当前令牌 / 卡密剩余额度
js.versionsGET—引擎版本、参数说明、限额(公开)
js.uploadPOSTfile, auth_token上传 .js/.mjs/.cjs 或 .zip,返回 space
js.submitPOSTspace, seed, engine, …调用本机引擎加密(同步返回结果)
downloadGETtype=js, space, auth_token下载产物(单文件回 JS,多文件回 ZIP)

完整流程(单文件)

TOKEN=$(curl -s "https://jsjiami.xueyuanpie.com/api.php?act=auth.verify" \
        -d "card_key=<卡密>" | sed 's/.*"token":"\([^"]*\)".*/\1/')

SPACE=$(curl -s "https://jsjiami.xueyuanpie.com/api.php?act=js.upload" \
        -F "file=@app.js" -F "auth_token=$TOKEN" \
        | sed 's/.*"space":"\([^"]*\)".*/\1/')

curl -s "https://jsjiami.xueyuanpie.com/api.php?act=js.submit" \
     -F "space=$SPACE" -F "auth_token=$TOKEN" \
     -F "seed=20261014" -F "engine=vm"

curl -s "https://jsjiami.xueyuanpie.com/api.php?act=download&type=js&space=$SPACE&auth_token=$TOKEN" \
     -o app.enc.js

加密参数

参数默认说明
seed00 = 每次形态随机;>0 可复现;批量按 seed, seed+1… 逐文件派生
enginevmvm 自研字节码(最强,不需要 eval)/auto 先试 vm 再兜底/pack 整文件 CFF 打包
blobFormatbase64base64 / hex
scriptGlobals1顶层 var/function 落到全局对象(经典 <script> 语义)
junk / mba / opaque0.06 / 0.25 / 0.35垃圾指令 / MBA / 不透明谓词强度(0–1)
junkBlocks4不可达垃圾块数量(0–64)
antiDebug / antiFormat / antiFeed / encryptCode1反调试 / 反格式化 / 反 AI 喂料 / 代码段加密(不传 = 默认开启)
hard0完整性校验失败是否直接抛错(默认静默降级)
banner空产物首行注释(单行 ≤200 字符)

产物与运行环境

常见报错

info处理
鉴权失败:请先验证卡密重新 auth.verify 并带 auth_token
ZIP 中没有 JS 文件!压缩包里没有 .js/.mjs/.cjs
Fallback: 模块语法 ExportNamedDeclaration…ESM 顶层 import/export:改 engine=auto,或先打包成单文件
Fallback: 严格降级函数需要捕获外层变量…VM 暂不支持的语法且无法安全降级:改 engine=auto
文件数量超限,当前卡密单次最多支持 N 个文件!拆包或换卡密