加载中...

开放 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_keystring必填控制台中生成的应用 AppKey
app_secretstring必填控制台中生成的应用 AppSecret(严禁直接明文网络传输)
timestampstring必填当前 10 位 UNIX 秒级时间戳(服务端校验偏差±10分钟)
noncestring必填随机 8~32 位字符串(防重放攻击)
signstring必填签名摘要:Lua/轻量平台建议使用小写 MD5,Windows/iOS/Android 原生平台建议使用小写 SHA256
POST /api/init

3. 应用初始化 / 状态同步与静默登录

客户端启动时调用的第一个接口。用于获取公告、全局提醒、更新提示,若同时传入 `card_code` 可直接完成静默登录。
字段名类型必填描述
app_keystring必填应用识别 AppKey
timestampstring必填当前 UNIX 时间戳
noncestring必填随机字符串
signstring必填哈希签名结果
device_idstring必填设备唯一机器识别码
platformstring选填客户端平台标识: lua | windows | ios | android
card_codestring选填客户端保存的历史卡密(若传入将自动静默验证)
current_versionstring选填客户端当前软件版本号(用于检测热更新)
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_keystring必填应用 AppKey
codestring必填待激活的卡密串(如 `VIP-8888-9999`)
device_idstring必填设备机器码
timestampstring必填UNIX 时间戳
noncestring必填随机串
signstring必填签名摘要
成功返回 JSON 示例:
{
    "code": 0,
    "msg": "激活成功",
    "data": {
        "expire_time": "2026-08-25 12:00:00",
        "card_type": "月卡"
    }
}
POST /api/heartbeat

5. 客户端在线心跳监测

客户端在后台以固定间隔(如 60 秒)定时上报心跳。服务端校验卡密是否过期、解绑或被管理员实时冻结。若发生异常,直接返回 `code: 1` 提示客户端退出。
字段名类型必填说明
app_keystring必填应用识别码
codestring必填当前正在使用的卡密串
device_idstring必填设备机器码
timestampstring必填UNIX 时间戳
noncestring必填随机字符串
signstring必填签名摘要
POST /api/check_update

6. 版本与热更新检测

查询指定平台(windows / lua / ios / android)的云端最新版本号、更新日志及二进制热更新下载地址。
字段名类型必填说明
app_keystring必填应用 AppKey
platformstring必填平台标识 (windows / lua / ios / android)
current_versionstring必填当前本地版本 (如 `1.0.0`)
POST /api/unbind

7. 签名授权卡密解绑 (API Unbind)

供客户端程序内自主触发的卡密解绑接口(通常会按控制台设置扣除一定的惩罚时长,如 2 小时)。
字段名类型必填说明
app_keystring必填应用识别码
card_codestring必填需要解绑的卡密串
signstring必填签名摘要
POST /api/public/unbind

8. 用户网页自助解绑 (公开接口)

无需签名校验与登录,专门供普通用户在网页端(如 `/unbind` 页面)输入卡密执行自助更换设备绑定。
字段名类型必填说明
card_codestring必填需解绑的卡密串
GET /api/public/announcement

9. 获取系统全局公告 (公开接口)

获取系统后台设置的首页滚动全局公告与广播通知信息。
POST /build/generate

11. 动态插件在线构建引擎 API

后台自动调用编译器(Javac / D8 / MSBuild),根据传入的应用参数在线打包编译平台插件。
字段名类型必填说明
app_idinteger必填目标应用 ID
platformstring必填目标平台: `windows` | `ios` | `android`
formatstring必填文件格式: `dll` | `exe` | `dylib` | `framework` | `dex` | `so`
POST /build/exe_protector

12. EXE 一键加壳保护器 API

支持把用户上传的原始 Windows EXE(如 PyInstaller 打包程序)与授权 Stub 二进制结合,实现无需改动源码的“零门槛一键加壳”。
字段名类型必填说明
exe_filefile必填原始 EXE 文件二进制流 (支持最大 100MB 上传)
app_idinteger必填关联的系统应用 ID
custom_filenamestring选填保护后的下载文件自定义名称

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` 动态加载,实现高防逆向保护。