5 分钟开始
第一次使用先走这四步。目标是先跑通一条最小链路,再按需加固,不要一开始把所有安全开关全打开。
安全配置:先基线,再逐级加固
软件编辑弹窗顶部有实时安全体检:它检查开放注入、构建令牌、公开注册、云变量写入、AES、机器码等明显缺口,并给出一键修复。评分只是检查表,不代表客户端已经兼容或绝对安全。
每次修改注册、AES、设备会话、开放注入等安全项,都会在验证日志写入 app_security_update,便于事后审计。
兼容优先
适合刚接入、旧客户端还在线。
- 关闭公开注册,或设置 3~7 天赠送
- 客户端写云变量保持关闭
- AES / 设备会话先不开
- 先用登录强制机器码约束新客户端
推荐防护 推荐
大多数收费软件的平衡点。
- AES 传输加密 + 登录强制机器码
- 注册赠送 3~7 天,按需限注一账
- 仅第三方开放注入时启用构建令牌
- 确认 SDK 迁移完成后开启设备会话
最高防护
适合强对抗、能控制客户端版本。
- AES + 设备会话 + 强制机器码
- Token 绑定 IP(移动网络慎用)
- 第三方开放注入 + 构建令牌 + Key Attestation(官方注入器登录态不需要令牌)
- 关闭公开注册与客户端写变量
| 开关 | 作用 | 客户端要求 / 注意 |
|---|---|---|
| 允许注册 | 决定新用户能否自助注册;默认关闭 | 开启后建议设置赠送天数,避免永久账号被批量注册 |
| 每设备限注一账 | 同一机器码只能注册一个账号 | 注册请求必须携带机器码;换号需后台重置机器 |
| AES 传输加密 | 业务请求/响应用 AES-256-GCM 加密 | 必须接入配套 SDK;开启后旧客户端会失败 |
| Token 绑定 IP | 窃取的登录 Token 换网络立即失效 | 移动网络、经常切换 Wi-Fi 的用户不建议开启 |
| 设备会话模式 | 已有账号业务必须用 sessionKey 签名,可按设备吊销 | 需接入 enroll → session;旧客户端会失败。注册、过期充值、自助解绑仍可凭账密/卡密完成 |
| 登录强制机器码 | 不带 machine 的登录一律拒绝 | 旧客户端必须升级,否则无法登录 |
| 开放注入(仅第三方) | 无登录的第三方注入器只填 AppKey 就能登记构建 | 仅此模式需要构建令牌;官方注入器登录后不受影响。建议再开设备会话与 Key Attestation |
| 客户端写云变量 | 任意登录用户可覆盖全局变量 | 默认保持关闭;关键开关只在后台写 |
| 强制更新 | 低版本客户端收到 need_update | 同时填写最低可用版本、更新地址和说明 |
设备会话上线顺序
- 客户端接入 enroll → session,并保留旧签名路径作为回退。
- 在测试软件开启「设备会话模式」,确认登录、心跳、云变量、卡密复查都正常。
- 在「设备」页验证吊销与恢复:吊销后旧 sid 必须立即 401。
- 存量客户端升级完成后再对正式软件开启;严格模式不是越早开越好。
上线前检查清单
- AppSecret 已保存到安全位置;不要提交到 Git、日志或公开仓库。
- 公开注册和生产账号策略已确认:不需要就关闭;需要就设置赠送天数与限注一账。
- 客户端已用测试软件跑通签名、错误码、重放保护和响应 rsign。
- 准备开启 AES / 设备会话时,已完成旧客户端迁移并保留回退方案。
- 设备会话已测试 enroll、session、吊销、重新注册,以及账号过期后的续费/解绑。
- 开放注入已开启时,构建令牌、注入器白名单、构建策略和 Key Attestation 已按风险配置。
- 客户端写云变量保持关闭;关键配置只从后台发布。
- 强制更新已填写版本号、最低可用版本、下载地址和更新说明。
- 验证日志、风控报表、月度额度预警已检查;知道 412/413/414/415/416/429/430 分别代表什么。
快速了解
NetcCheck 为你的软件提供账号验证、卡密授权、机器码绑定、云变量等能力。你只需在控制台创建软件、生成卡密,再把验证接口接进自己的软件(接入方法见控制台「开发文档」),即可向用户发放卡密收费。
| 授权模式 | 工作方式 | 适合场景 |
|---|---|---|
| 账号模式 | 用户注册账号,凭卡密充值续期;支持多设备数量上限 | 需要账号体系、用户可自助注册的软件 |
| 卡模式(卡密即授权) | 不需要账号,卡密绑定首台激活设备,凭卡密 + 机器码验证,到期/次数用尽即失效 | 一机一卡、即买即用的软件 |
两种模式可按软件并存:同一张卡只能用于其中一种。卡模式为基础版权益(免费版软件的卡密仅可用于账号模式充值)。
注册与登录
注册:控制台 /register,使用邮箱获取验证码完成注册,免费版即刻可用(无需付费)。注册即赠 7 天尊享版使用时长:尊享版功能、月度验证额度与软件/卡密/用户上限全部按尊享档生效;到期后回落免费版,数据与已创建资源保留,可随时升级继续使用。
体验期内升级:购买基础 / 专业 / 尊享套餐,所购套餐从尊享体验结束后生效,体验期不会提前降级;升级旗舰版则立即生效,赠送的 7 天体验时长会直接计入旗舰版总时长。
登录:/login 支持密码与邮箱验证码两种方式;忘记密码用邮箱验证码登录后到「设置」修改。
安全提示:登录后 Token 与你的网络环境绑定(可在「设置 → 会话安全」开启强制绑定),家庭网络 IP 变化后需重新登录属正常现象。
套餐与兑换
五档套餐权益累加(高档包含低档全部权益),完整对照见定价页权益对照表:
| 套餐 | 价格/月 | 软件位 | 验证次数/月 | 卡密存量 | 用户总量 |
|---|
上表由「网站配置」实时生成;未加载时的默认值:免费版 10 软件 / 3,000 次 / 1,000 卡 / 500 用户,基础版 ¥9.9,专业版 ¥19.9,尊享版 ¥59.9,旗舰版 ¥199。
免费版定位:10 个软件、1,000 张卡密存量足够真实起步;月验证额度(3,000 次)是免费与付费的核心分界——软件跑起来后按需升级,额度立即扩容。
购买与开通:在定价页点击「立即开通」→ 跳转发卡平台购买兑换码 → 回到弹窗输入兑换码即时生效。续费:同档未到期续费自动在原到期时间上叠加;升级:更高档随时可兑(从兑换时起算);更低档需等当前套餐到期。
次数加油包:临时爆量可在定价页「次数加油包」处直接在线购买(支付成功后自动到账,无需兑换码,按购买次数精确计入);从外部平台购买的兑换码也可在定价页输入兑换。额度当月有效,次月随额度一起重置。
到期与宽限:套餐到期后有 3 天宽限期(权益保留、仅提醒);超期后高级功能冻结、软件验证接口拒绝(客户端收到 418),续费立即恢复,数据全程保留。到期前 7 天起会收到邮件与站内信提醒。
控制台总览
登录后进入控制台 /admin,总览页包含:
| 模块 | 说明 |
|---|---|
| 额度卡 | 软件位 / 本月验证次数 / 用户总量 / 卡密存量四张卡,进度条达 80% 变黄、用尽变红并附升级入口;验证额度按自然月计,每月 1 日自动重置 |
| 近 14 天趋势 | 登录 / 注册 / 充值走势图 |
| 接入信息 | 你的验证接口地址与文档入口,接入时照抄即可 |
| 通知中心 | 侧栏铃铛:系统通知、套餐到期 / 额度预警、安全提醒(新网络环境登录等),打开面板即全部已读 |
| 自动刷新 | 页面可见时每 15 秒静默刷新当前页数据,也可点各页右上角「刷新」手动刷新 |
软件管理
每个接入验证的软件对应一条「软件」记录,拥有独立的 AppKey / AppSecret。
| 操作 | 说明 |
|---|---|
| 创建软件 | 填写名称与可选配置:用户公告、最新版本号、强制更新开关、机器码数量上限等。「允许注册」默认关闭(防收费软件被任意注册消耗额度),账号模式或需要测试时请勾选开启;开启时可设置「注册赠送天数」(如 3~7 天试用,0 = 注册即永久,正式收费软件建议配合卡密开通而非永久)。勾选「每设备限注一账」后:注册必须携带机器码且一台设备只能注册一个账号(防一人多号刷量),换设备注册需你在「用户管理 → 重置机器」释放旧绑定。创建成功后 AppSecret 只显示一次,请立即保存 |
| 查看 / 重置密钥 | 编辑弹窗内查看需输入密码确认(15 分钟内免重复验证);重置后旧密钥立即失效,需同步更新你的客户端。加密密钥默认由 AppSecret 自动派生(无需配置)——注意派生模式下重置 AppSecret 会让加密密钥连带变化;想让两者解耦,在密钥区点「重置为独立密钥」,此后 AppSecret 重置不再影响已发布客户端的加解密(重置瞬间旧加密密钥失效,需随新版本更新客户端) |
| 安全开关 | AES 传输加密、Token 绑定 IP 为专业版权益,按软件开启;「登录强制机器码」开启后客户端登录必须携带机器码(旧版未传机器码的客户端将无法登录,机器码上限才真正服务端可执行);客户端写云变量默认关闭(只读) |
| 版本管理 | 填入最新版本号 + 更新包地址 + 更新说明,配合强制更新开关实现发版强更(详见控制台「开发文档 · 版本发布」) |
| 删除软件 | 将级联删除其全部用户、卡密、云变量与日志,不可恢复,操作前请确认 |
支持搜索、批量启停、批量删除与导出备份(含密钥,请妥善保管)。
卡密管理
三种卡密类型(生成时选择,均绑定首台激活设备,换设备走解绑流程):
| 类型 | 规则 | 开放档位 |
|---|---|---|
| 限时卡 | 激活起算 N 天后到期;账号模式充值 = 到期时间累加 | 全部套餐 |
| 次数卡 | 共 N 次验证额度,每次登录验证扣 1 次(激活即扣第 1 次,客户端新启动/重新登录再扣;运行期间的会话内复查不扣),用尽即失效;仅支持卡模式,不能用于账号充值 | 基础版及以上 |
| 永久卡 | 激活后永久可用;账号模式充值 = 账号转为永久 | 专业版及以上 |
生成:选软件 → 类型 → 天数/次数 → 数量(单次 ≤500 张)→ 前缀与备注。批次号自动生成,可用于筛选与对账;支持导出未使用卡密 TXT(发卡上架用)。存量口径:只统计未使用卡密(售出或作废即释放名额),上限随套餐 1,000 → 5,000 → 20,000 → 100,000 → 不限。
筛选与排序:按软件 / 类型 / 状态 / 批次 / 卡密搜索,支持最近使用、到期临近、面值排序;状态含 未使用 / 已使用 / 已作废 / 已封禁 / 已过期。
生命周期操作:
| 操作 | 说明 |
|---|---|
| 作废 | 未使用卡不可再用(已使用卡不可作废,保留充值账目) |
| 删除 | 三种状态均可删(单删/批量)。已使用的卡删除后充值账目线索(使用者/使用时间)不可恢复,删除动作会记入验证日志留痕;确认框会强提示,请谨慎操作 |
| 封禁 / 解封 | 针对已激活卡:封禁后用户端立即不可用(有效期不变),可随时解封恢复;未使用卡请用「作废」 |
| 解绑设备 | 用户换机时可在原设备自助解绑(次数上限见软件设置,默认 3 次);额度用尽可由你在此后台解绑,免费且计数清零,用户在新设备重新激活即可(有效期/剩余次数不变) |
续期方式:用户在同一设备激活新卡密即可(限时卡与账号充值同口径:同设备未过期的剩余时长累加到新卡;次数卡扣新卡次数)。
扣减时机:次数卡只在客户端完成构建证明(attest)+ 授权校验 + 防篡改校验全部通过后扣减;验证失败、网络失败、卡密错误都不扣。首次激活与后续重新打开都遵循此顺序。
用户管理
管理各软件的终端用户(账号模式)。用户总量上限随套餐(500 → 2,000 → 10,000 → 50,000 → 不限),达上限只暂停新用户注册,存量用户不受影响。
| 功能 | 说明 |
|---|---|
| 筛选搜索 | 按软件 / 状态(含永久、7 天内到期)/ 注册时间范围 / 用户名或 IP 关键词;支持最近登录、到期临近排序 |
| 新增用户 | 后台直接开通账号(同样受总量上限约束) |
| 批量操作 | 批量删除(不可恢复)、批量续期(永久用户自动跳过)、导出 CSV |
| 封禁 | 封禁后用户端立即返回 416 无法登录 |
| 重置机器 | 清空该用户全部机器码绑定(用户换机/重装后无法自助解决时用)。同时清零其自助解绑计数;用户也可凭账号密码在客户端自行调 /user/unbind 解绑(次数上限在软件编辑弹窗设置,默认 3 次,0 = 关闭) |
| 永久用户 | 到期时间为 0 即永久;用户凭永久卡充值即可转为永久 |
设备管理
管理接入设备会话模式的终端设备。客户端调用 /device/enroll(用户凭账号密码 + 机器码注册)后,设备出现在此列表,每台设备持有独立的会话凭证——AppSecret 泄露也无法伪造请求,且可按设备精准吊销。
| 功能 | 说明 |
|---|---|
| 筛选搜索 | 按软件 / 状态(正常、已吊销)/ 设备名、机器码、用户名、设备 ID 关键词 |
| 状态徽章 | 在线 = 会话存活中;正常 = 已注册、会话未活跃(客户端下次换取会话即可用);已吊销(黑名单) = 会话立即失效、无法再换取,且同机重新注册也会被拒绝(416) |
| 吊销 | 处置问题设备的兜底手段:会话当场失效,且该设备被列入黑名单——用户凭账号密码重新注册也会被拒(416),只有你「恢复」后才能重新注册。适合共享/泄露/异常设备的精准封禁,不影响同账号其他设备 |
| 恢复 / 删除 | 恢复 = 解除黑名单,设备可重新换取会话/注册;删除后记录(含黑名单)消失,用户可在客户端重新注册。平台管理员吊销的设备开发者无法恢复(联系客服申诉) |
| 设备会话模式开关 | 软件编辑弹窗的「设备会话模式」(尊享版权益):开启后该软件所有业务请求必须携带会话签名,未携带的一律拒绝——AppSecret 从此不再参与业务请求。账号模式客户端走 /device/enroll,卡模式客户端走 /card/enroll(卡密即身份)。开启前请确认存量客户端已接入设备会话协议(见控制台「开发文档 · 设备会话」),否则旧版将无法验证 |
提示:用户账号被删除时,其名下设备一并删除;账号封禁不影响已注册设备(需要时手动吊销即可)。
注入构建(DAG)
不写接入代码也能授权:下载 NCC 注入器(Android 端),用开发者账号登录后自动列出你名下的软件,选软件 → 选 APK 即可一键注入,产物自带卡密/账号验证与防重打包能力。登录后不需要手动填 AppKey,也不需要构建令牌。完整说明见注入器说明。
| 控制台位置 | 用途 |
|---|---|
| 注入构建 | 查看/吊销/删除注入产物(构建);按包名或构建号搜索;可看每个构建的设备数与 attest 通过/拒绝次数 |
| 注入器构建令牌 | 只约束「开放注入」的第三方(无登录、只填 AppKey):软件开启「强制构建令牌」后,这些登记必须携带令牌。官方注入器登录态、你自己的登录态脚本都不需要。可设日配额、有效期、绑定注入器实例,随时吊销 |
| Key Attestation 信任根 | (平台管理员)粘贴厂商/Google 根证书 PEM;构建策略要求完整性证明时,设备硬件证书链必须签发自信任根 |
| 风控报表 | 疑似重打包告警、构建设备分布、IP 异常聚集、异常设备与事件明细,支持 1/7/30 天与 CSV 导出 |
| 注入器运营面板 | NCCinjector 登录后可查看风控报表、管理云变量、编辑受保护关键数据;客户端检测到 root/模拟器/调试/Hook/代理/VPN 时以上报事件展示(可在注入策略中关闭上报) |
| 注入配置文件名 | 按 AppKey + 包名 + 证书指纹 + 构建号派生,不再固定为同一个 assets 文件名;旧产物仍兼容 |
软件编辑弹窗的「开放注入(DAG)」开关:开启后第三方注入器只填 AppKey 即可注入(无需 AppSecret)。官方 NCCInjector 走登录态,不需要开启开放注入。建议开放注入时同时开启「设备会话模式」,产物内不再内置 AppSecret。
公告支持轻量格式:换行、[文字](https://链接)、;裸 https 链接/图片直链也会自动识别。图片必须用 https 直链,客户端最多展示 3 张。软件编辑弹窗的公告框下方有「插入链接 / 插入图片 / 插入换行」和实时预览。
注入器可勾选「开启心跳验证」:开启后注入产物会定期复查账号/卡密与授权;关闭后只在启动时验证一次(适合测试包或离线场景,但运行中不会感知过期/封禁)。运营面板与主界面共用登录态和设备号,可查看风控、云变量和受保护数据。
最强保护卡密:DEX 加密 + VMP 只接受 NCCInjector 软件下生成的次数卡,与当前选择的目标软件无关;每次注入任务扣 1 次(同批多 APK 只扣 1 次)。授权采用预授权 + 成功后提交:开始注入只占住 1 次容量,注入全部成功后才扣;失败/取消自动释放,不扣次数。
云变量
软件级全局键值存储:同一软件的所有登录用户共享同一份数据,适合远程开关、公告、配置下发——把关键配置放服务端,验证不过就拿不到。
| 要点 | 说明 |
|---|---|
| 写入入口 | 控制台「云变量」页或 NCCinjector「运营面板 → 云变量」新增 / 编辑(支持 JSON);客户端默认只读,如需客户端写入在软件编辑中开启(专业版权益,谨慎开启) |
| 受保护关键数据 | 在软件编辑或注入器「运营面板」设置 protected_data;attest 成功后随 grant 下发给客户端,剥离版拿不到,适合放加密种子/接口签名 key |
| 容量 | 单值上限 8192 字符 |
| 批量管理 | 导入 / 克隆(整软件复制到另一软件)/ 导出为尊享版权益 |
| 安全建议 | 关键配置由作者在控制台写入,不要把安全决策依赖在客户端可写的变量上 |
日志与风控
验证日志:按软件 / 动作(登录、注册、充值、卡激活、卡登录(次数卡扣次)、卡复查、抓包检测上报等)/ 用户 / IP 筛选,是排查「用户为什么登录不上」的第一入口。常见结论:412 已过期/次数用尽 / 413 卡密无效 / 414 设备不匹配 / 416 已封禁。次数卡每次扣 1 次都会记「卡登录」日志(含剩余次数),会话内免费复查记「卡复查」日志。
风控机制(自动运行,无需配置):
| 机制 | 行为 |
|---|---|
| 异常失败封禁 | 同一 IP 短时间大量失败(错卡密 / 错密码)会被自动临时封禁,管理员可在设置页查看与手动解封 |
| 账号保护 | 连续失败会临时锁定账号,稍后自动恢复 |
| 抓包检测上报 | 你的客户端调用上报接口后,记录会出现在日志中(检测逻辑由你在客户端实现,协议见控制台「开发文档」) |
正常用户不会触发风控;若用户反馈「请求频繁」,确认其网络环境后可等待自动解除。
计费与额度
你的「验证次数 / 月」按以下口径消耗(自然月计,每月 1 日重置;订阅多月期间每月都有完整额度):
| 动作 | 消耗 |
|---|---|
| 用户登录 | 1 次 |
| 用户注册 | 1 次 |
| 卡密激活(登录级) | 1 次 |
| 心跳续期(心跳级) | 10 次计 1 次 |
| 卡模式同设备复查(心跳级;次数卡会话复查不扣卡次) | 10 次计 1 次 |
| 开启了 AES 传输加密的软件 | 登录 / 注册 / 卡激活按 2 倍计(加密计算开销更高) |
| 卡密充值 / 解绑设备 / 卡密预检 | 不计费 |
额度用尽:验证接口返回 430 并提示升级,充值 / 解绑不受影响;每月 1 日自动恢复,也可用次数加油包当月立即补充。预警:用量达 80% 与 100% 时会收到站内信与邮件提醒。
心跳建议间隔 10 分钟,既省额度又够用(口径详见用量计算方式)。
常见问题
| 问题 | 处理 |
|---|---|
| 安全体检怎么用 | 在软件编辑弹窗顶部查看风险项,优先处理「开放注入(仅第三方)未强制构建令牌」「公开注册赠送永久」「客户端写云变量」;AES/设备会话/强制机器码会中断旧客户端,先确认版本兼容再开启。详见安全配置指南 |
| 严格模式下为什么注册/充值还能用 | 设备会话保护的是已有账号的登录、心跳、云变量等业务请求;注册仍受「允许注册」开关控制,过期充值与自助解绑必须同时提供账密/卡密,否则新用户和续费用户会被锁死 |
| 开启 AES / 设备会话后旧客户端登录失败 | 这是预期行为:旧客户端没有接入新协议。先在测试软件验证新客户端,再对正式软件开启;必要时先关闭对应开关恢复,完成升级后再开 |
| 开放注入怎么最安全 | 只在确实要把注入能力分发给第三方时才开「开放注入」,并同时开「强制构建令牌」+ Key Attestation + 设备会话。注意:只填 AppKey 的第三方必须持有 build_token;官方注入器登录后、以及你的登录态脚本都不需要令牌 |
| AppSecret 忘记保存了 | 控制台软件编辑弹窗可查看(需输入密码确认);若疑似泄露,直接重置密钥并更新客户端 |
| 用户报「卡密无效」(413) | 卡密页搜索该卡:已使用 / 已作废 / 已封禁都会报 413;次数卡不能用于账号充值(仅卡模式) |
| 用户换了电脑 / 设备 | 原设备还能启动 → 用户自助解绑后在新设备重新激活;原设备已无法启动 → 你在卡密页后台解绑(免费、计数清零) |
| 用户报「已过期」(412) | 让用户在原设备激活新卡密续期;账号模式也可充值续费 |
| 接口返回 430 | 本月验证额度已用尽:等每月 1 日重置、兑换加油包或升级套餐 |
| 接口返回 418 | 你的套餐已超宽限期,续费后立即恢复 |
| 用户说「请求频繁」(429) | 触发了防刷保护,稍等即可恢复;若某 IP 频繁试错卡密会被临时封禁,可在设置页解封 |
| 想给不同渠道发不同的卡 | 生成时用「前缀 + 备注」区分渠道,用批次号筛选对账 |
| 降级套餐后已开的功能还在吗 | 已生成 / 已开启的存量可继续维持或关闭,但不能再新增开启;已售出的卡密不受影响 |
| 怎么卖卡给用户 | 定价页购买套餐兑换码开通权益;卡密由你在控制台生成后通过自己的渠道发放(可上架发卡平台) |
还有问题?客服QQ:1937507267(邮箱同号)。接入与技术细节见控制台「开发文档」。