开放 API 接口文档 v2.1
基于 HMAC-SHA256 / MD5 防重放算法,支持全平台动态鉴权与自动化构建
Base URL:
https://newverify.9990066.xyz/api
1. 接入概览与三步上线
欢迎接入久伴验证。系统采用标准 RESTful 接口与 HMAC/MD5 防抓包校验体系,服务端时间自动校准至北京时间(UTC+8)。
步骤 1
获取 Key 与 Secret
登录控制台创建应用,获取分配给该应用的 `AppKey` 与 `AppSecret`。
步骤 2
选择接入方式
支持在控制台进行“一键插件构建/EXE加壳”,或者在源码中直接调用下述 API 接口。
步骤 3
配置发卡与支付
配置易支付/支付宝/微信通道,实现卡密自动销售、售完自动补库存与实时发放。
2. 安全鉴权算法 (Sign 计算公式)
为防止接口抓包篡改与重放攻击,受保护接口需要计算 `sign` 签名。按以下顺序拼接字符串后求哈希:
Sign 公式:
Hash( app_key + app_secret + timestamp + nonce )
| 参数名 | 类型 | 必填 | 详细说明 |
|---|---|---|---|
| app_key | string | 必填 | 控制台中生成的应用 AppKey |
| app_secret | string | 必填 | 控制台中生成的应用 AppSecret(严禁直接明文网络传输) |
| timestamp | string | 必填 | 当前 10 位 UNIX 秒级时间戳(服务端校验偏差±10分钟) |
| nonce | string | 必填 | 随机 8~32 位字符串(防重放攻击) |
| sign | string | 必填 | 签名摘要:Lua/轻量平台建议使用小写 MD5,Windows/iOS/Android 原生平台建议使用小写 SHA256 |
POST
/api/init
3. 应用初始化 / 状态同步与静默登录
客户端启动时调用的第一个接口。用于获取公告、全局提醒、更新提示,若同时传入 `card_code` 可直接完成静默登录。
| 字段名 | 类型 | 必填 | 描述 |
|---|---|---|---|
| app_key | string | 必填 | 应用识别 AppKey |
| timestamp | string | 必填 | 当前 UNIX 时间戳 |
| nonce | string | 必填 | 随机字符串 |
| sign | string | 必填 | 哈希签名结果 |
| device_id | string | 必填 | 设备唯一机器识别码 |
| platform | string | 选填 | 客户端平台标识: lua | windows | ios | android |
| card_code | string | 选填 | 客户端保存的历史卡密(若传入将自动静默验证) |
| current_version | string | 选填 | 客户端当前软件版本号(用于检测热更新) |
import requests, time, uuid, hashlib
url = "https://newverify.9990066.xyz/api/init"
app_key = "YOUR_APP_KEY"
app_secret = "YOUR_APP_SECRET"
ts = str(int(time.time()))
nonce = uuid.uuid4().hex[:16]
raw = f"{app_key}{app_secret}{ts}{nonce}"
sign = hashlib.sha256(raw.encode()).hexdigest()
payload = {
"app_key": app_key, "timestamp": ts, "nonce": nonce, "sign": sign,
"device_id": "WIN-DEVICE-ID-12345", "platform": "windows", "current_version": "1.0.0"
}
res = requests.post(url, json=payload).json()
print(res)
using System;
using System.Net;
using System.Security.Cryptography;
using System.Text;
string appKey = "YOUR_APP_KEY";
string appSecret = "YOUR_APP_SECRET";
string ts = ((long)(DateTime.UtcNow - new DateTime(1970, 1, 1)).TotalSeconds).ToString();
string nonce = new Random().Next(100000, 999999).ToString();
string raw = appKey + appSecret + ts + nonce;
byte[] hash = SHA256.Create().ComputeHash(Encoding.UTF8.GetBytes(raw));
string sign = BitConverter.ToString(hash).Replace("-", "").ToLower();
string json = "{\"app_key\":\"" + appKey + "\",\"timestamp\":\"" + ts + "\",\"nonce\":\"" + nonce + "\",\"sign\":\"" + sign + "\",\"device_id\":\"DEVICE123\",\"platform\":\"windows\"}";
WebClient client = new WebClient();
client.Headers[HttpRequestHeader.ContentType] = "application/json";
string response = client.UploadString("https://newverify.9990066.xyz/api/init", "POST", json);
curl -X POST "https://newverify.9990066.xyz/api/init" \
-H "Content-Type: application/json" \
-d '{
"app_key": "YOUR_APP_KEY",
"timestamp": "1710000000",
"nonce": "123456",
"sign": "SIGNATURE_HASH",
"device_id": "DEVICE123",
"platform": "windows"
}'
成功返回 JSON 示例 (code: 0):
{
"code": 0,
"msg": "验证成功",
"data": {
"status": "active",
"expire_time": "2026-12-31 23:59:59",
"notice": "软件运行正常",
"heartbeat_interval": 60,
"is_free": 0
},
"sign": "RESPONSE_SIGNATURE"
}
POST
/api/activate
4. 手动激活卡密
用户在客户端 UI 中手动输入新卡密时触发,完成卡密激活与设备号绑定。
| 字段名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| app_key | string | 必填 | 应用 AppKey |
| code | string | 必填 | 待激活的卡密串(如 `VIP-8888-9999`) |
| device_id | string | 必填 | 设备机器码 |
| timestamp | string | 必填 | UNIX 时间戳 |
| nonce | string | 必填 | 随机串 |
| sign | string | 必填 | 签名摘要 |
成功返回 JSON 示例:
{
"code": 0,
"msg": "激活成功",
"data": {
"expire_time": "2026-08-25 12:00:00",
"card_type": "月卡"
}
}
POST
/api/heartbeat
5. 客户端在线心跳监测
客户端在后台以固定间隔(如 60 秒)定时上报心跳。服务端校验卡密是否过期、解绑或被管理员实时冻结。若发生异常,直接返回 `code: 1` 提示客户端退出。
| 字段名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| app_key | string | 必填 | 应用识别码 |
| code | string | 必填 | 当前正在使用的卡密串 |
| device_id | string | 必填 | 设备机器码 |
| timestamp | string | 必填 | UNIX 时间戳 |
| nonce | string | 必填 | 随机字符串 |
| sign | string | 必填 | 签名摘要 |
POST
/api/check_update
6. 版本与热更新检测
查询指定平台(windows / lua / ios / android)的云端最新版本号、更新日志及二进制热更新下载地址。
| 字段名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| app_key | string | 必填 | 应用 AppKey |
| platform | string | 必填 | 平台标识 (windows / lua / ios / android) |
| current_version | string | 必填 | 当前本地版本 (如 `1.0.0`) |
POST
/api/unbind
7. 签名授权卡密解绑 (API Unbind)
供客户端程序内自主触发的卡密解绑接口(通常会按控制台设置扣除一定的惩罚时长,如 2 小时)。
| 字段名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| app_key | string | 必填 | 应用识别码 |
| card_code | string | 必填 | 需要解绑的卡密串 |
| sign | string | 必填 | 签名摘要 |
POST
/api/public/unbind
8. 用户网页自助解绑 (公开接口)
无需签名校验与登录,专门供普通用户在网页端(如 `/unbind` 页面)输入卡密执行自助更换设备绑定。
| 字段名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| card_code | string | 必填 | 需解绑的卡密串 |
GET
/api/public/announcement
9. 获取系统全局公告 (公开接口)
获取系统后台设置的首页滚动全局公告与广播通知信息。
POST
/build/generate
11. 动态插件在线构建引擎 API
后台自动调用编译器(Javac / D8 / MSBuild),根据传入的应用参数在线打包编译平台插件。
| 字段名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| app_id | integer | 必填 | 目标应用 ID |
| platform | string | 必填 | 目标平台: `windows` | `ios` | `android` |
| format | string | 必填 | 文件格式: `dll` | `exe` | `dylib` | `framework` | `dex` | `so` |
POST
/build/exe_protector
12. EXE 一键加壳保护器 API
支持把用户上传的原始 Windows EXE(如 PyInstaller 打包程序)与授权 Stub 二进制结合,实现无需改动源码的“零门槛一键加壳”。
| 字段名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| exe_file | file | 必填 | 原始 EXE 文件二进制流 (支持最大 100MB 上传) |
| app_id | integer | 必填 | 关联的系统应用 ID |
| custom_filename | string | 选填 | 保护后的下载文件自定义名称 |
13. C# / Windows SDK (`AuthSDK.dll`) 指南
纯 C# 编写的轻量 SDK。配合 **VMProtect (VMP)** 虚拟文件功能,可将 `AuthSDK.dll` 嵌入内存运行,做到真正的零文件释放。
using VerificationSDK;
// 1. 初始化配置 (程序启动时调用)
AuthClient.Init("https://newverify.9990066.xyz", "YOUR_APP_KEY", "YOUR_APP_SECRET");
// 2. 验证卡密
string result = AuthClient.Verify("USER-CARD-CODE");
// 3. 开启后台心跳守护线程 (异常时自动关闭程序)
AuthClient.StartHeartbeat();
14. C++ 原生 SDK 指南 (`auth_sdk.h`)
适用于 C++ / Win32 / MFC / ImGui 软件。通过 WinINet API 实现安全 HTTP 传输与 SHA256 算法签名。
#include "auth_sdk.h"
// 示例调用
AuthSDK sdk("https://newverify.9990066.xyz/api", "YOUR_APP_KEY", "YOUR_APP_SECRET");
if (sdk.InitAndVerify("CARD_CODE_STRING")) {
MessageBoxA(NULL, "授权成功!", "提示", MB_OK);
} else {
ExitProcess(0);
}
15. Lua 脚本混淆接入指南
适用于 GG 脚本与手游辅助脚本。在后台控制台上传源码,系统会自动在顶部插入 MD5 校验头与全功能 UI 弹窗并加密输出。
16. iOS (Dylib / Framework) SDK 指南
支持越狱 / 注入插件模式 (`.dylib`) 与 App 原生模式 (`.framework`)。内建越狱设备识别与防抓包防挂钩。
17. Android (DEX / SO) SDK 指南
旗舰级 DEX 动态构建支持。通过系统在线编译生成 `Verification.dex`,可通过 `DexClassLoader` 动态加载,实现高防逆向保护。