本文档用于说明当前版本的功能范围和使用边界。不同 APK、ABI、Android 版本、签名方式和所选模块会导致结果不同,请以实际加固包测试结果为准。
后续版本可能优化实现、兼容性和检测策略,具体行为以实际加固包和版本说明为准;升级不会改变“保护应用自身完整性、关键代码和关键数据,尽量保持业务兼容”的核心主旨。
不承诺绝对安全、绝对兼容或对所有工具有效。本核心默认纯本地运行,不采集、不上传业务数据、设备隐私或检测证据。
必须特别说明:启用“防手机抓包”时会进行网络连通性/证书探针,该项不能理解为绝对“不联网”;动态对抗模块不在本文档范围。
Matrix v1 面向开发者普惠,当前不收取任何费用。上传 APK 后由云端完成加固,业务代码中不需要接入 SDK、客户端初始化或事件上报。
加固策略由技术人员结合游戏生态和目标设备进行专项调优,以原生级兼容性与稳定运行优先。不采用面向所有应用场景的全量加固或全量加密,主要聚焦自身应用的防篡改和关键代码保护;不介入项目编译前的业务代码和开发环境,按常规 APK 加固流水线完成处理。
Matrix v1 奉行新一代流水线加固方式,平台只处理客户提交的 APK,无法可靠判断玩家是否已经完成隐私协议流程或账号登录。如果这类可能产生风险提示、限制运行或应用退出的环境检测在登录前自动启动,容易造成启动时机不当和不必要的合规争议。
因此,包名看门狗、运行环境检测以及可能触发处置的动态对抗能力仅在 Matrix v3 中提供。Matrix v3 采用流水线植入与少量原生接入相结合的方式,由项目方在玩家账号登录成功后向 FairWatch 2 核心模块发送明确启动信号。收到信号前不启动相关检测;收到信号后,环境对抗能力才按照项目策略开始运行。这样既保留自动化加固的便利,也让项目方掌握合规启动时机。
安全对抗人员持续关注底层公开安全社区、常见技术交流渠道及经授权取得的工具样本,对应用态可识别、可阻断的常见修改器和特种工具进行适配研究。Matrix v1 保留适合纯流水线交付的基础保护能力,具体范围以后续页面和实际加固版本为准。
开发者应根据实际业务、引擎版本、热更新方式和发布标准选择加固选项。针对经过技术评估的 Unity、UE 等主流引擎及常见版本,我们会提供默认适配的保护方式;特殊引擎、深度定制运行时或未覆盖版本仍需以真机测试为准。官网可选项不代表全部能力,Matrix v1 不提供单独定制,但开发者可先与技术团队交流,常规咨询与基础适配沟通不以付费为前提,也可在未覆盖的关键业务链路中保留自身保护。
相关能力与市场上的商业化安全产品在部分保护目标和技术路线方面存在重合,实际覆盖范围取决于所选策略、APK 结构、设备环境和版本测试结果,不作绝对效果承诺。为便于任务追踪、问题排查和版本管理,您明确使用云端加固后,相关任务信息及必要的处理记录会按平台规则留档。提交前请完成自身业务和目标设备测试,并由使用方确认包体、策略和发布安排;如遇适配、升级或异常问题,可通过工单或联系微信、QQ 管理人员及技术人员沟通处理。因业务接入、配置或测试不充分产生的兼容、闪退、误报等情况,请以实际版本测试结果和双方沟通的处理范围为准。策略会根据 Android 系统、设备环境和检测标准变化进行调整,具体能力可能优化、替换或升级;Matrix v1 的实际能力范围以当前页面和加固版本为准。
| 模块 | 实际作用 | 权限/联网 | 包体增量 |
|---|---|---|---|
| SO签名校验 | 校验自身 Native SO 的签名与完整性,发现异常时按策略处理。 | 不申请权限;本地处理 | 需以本次 APK 前后实际产物大小核算 |
| DEX完整性封印 | 对自身 DEX 建立完整性封印,降低运行时篡改风险。 | 不申请权限;本地处理 | 需以本次 APK 前后实际产物大小核算 |
| Unity IL2CPP元数据保护 | 保护自身 Unity IL2CPP 元数据,增加静态还原与分析难度。 | 不申请权限;本地处理 | 需以本次 APK 前后实际产物大小核算 |
| Unity内存Dump防御 | 提高自身运行时关键数据对内存转储的抵抗能力。 | 不申请权限;本地处理 | 需以本次 APK 前后实际产物大小核算 |
| 防截屏与录屏 | 按策略保护自身页面,降低截屏与录屏暴露风险。 | 不申请权限;本地处理 | 需以本次 APK 前后实际产物大小核算 |
| 反调试 | 识别针对自身进程的调试环境与反调试证据,并按策略响应;不检测私有目录 SO 注入。 | 不申请权限;本地处理 | 需以本次 APK 前后实际产物大小核算 |
| 关键链路防Hook | 保护自身关键调用链路,降低关键函数被 Hook 的风险。 | 不申请权限;本地处理 | 需以本次 APK 前后实际产物大小核算 |
| 反游戏变速 | 保护自身时间与速度相关关键逻辑,识别异常变速影响。 | 不申请权限;本地处理 | 需以本次 APK 前后实际产物大小核算 |
| 防手机抓包 | 按实际配置进行自身网络连通性与证书探针,识别异常抓包环境。 | 不新增权限;以宿主已有网络权限和实际配置为准;会有探针联网行为 | 需以本次 APK 前后实际产物大小核算 |
| 反SRPatch | 提高自身关键代码与数据对 SRPatch 类修改的抵抗能力。 | 不申请权限;本地处理 | 需以本次 APK 前后实际产物大小核算 |
| 原生注入封锁 | 封锁针对自身进程的异常原生注入路径。 | 不申请权限;本地处理 | 需以本次 APK 前后实际产物大小核算 |
| 动态偏移迷雾 | 动态调整自身关键数据布局或访问偏移,增加定位难度。 | 不申请权限;本地处理 | 需以本次 APK 前后实际产物大小核算 |
| 虚拟内存性能陷阱 | 设置面向自身关键访问的虚拟内存性能陷阱,干扰异常读取分析。 | 不申请权限;本地处理 | 需以本次 APK 前后实际产物大小核算 |
| 数值篡改陷阱 | 在自身关键数值链路设置校验与诱导机制,识别异常篡改。 | 不申请权限;本地处理 | 需以本次 APK 前后实际产物大小核算 |
| 批量读取诱捕 | 对自身关键区域的批量读取行为设置诱捕与识别。 | 不申请权限;本地处理 | 需以本次 APK 前后实际产物大小核算 |
包体增量统一需以本次 APK 前后实际产物大小核算;共享 Native 桩、ABI 数量、重构/对齐/签名都会影响最终结果。
仅说明真实启用的模块,作用范围仅限自身应用;不读取、修改或终止其他应用,不修改系统设置。遇到不确定行为以记录/降级优先,具体以产品策略为准。
Matrix v3 是由金丝雀安全团队持续维护的通用型高阶反作弊体系,面向已开通企业服务的客户提供多维度保护、动态策略管理、拦截统计和技术支持。动态对抗模块目前未公开,当前页面不展示具体实现、策略、接口、权限或检测细节。
针对外挂形态持续变化的特点,Matrix v3 以云端签名策略下发、策略开关和拦截统计为主要协同方式。由于纯 APK 流水线无法可靠判断玩家是否已经完成隐私协议流程或账号登录,项目方需要在账号登录成功后向 FairWatch 2 核心模块发送明确启动信号。收到信号前不拉取策略、不执行环境检测、不上报安全事件;收到信号后,包名看门狗、运行环境检测及其他动态对抗能力才按照项目策略启动。Matrix v3 以无侵入方式提供环境安全保障,确认高风险作弊环境后将直接提示并退出游戏。
接入过程中,我们会协助项目方梳理安全检测所需的隐私政策说明、必要数据范围和启动时机。FairWatch 2 不介入玩家账号体系,不要求项目方传递账号、角色、登录凭证等业务数据,也不具备封禁玩家账号的权力;模块只接收“账号已登录”的启动信号,并负责本地环境检测、必要安全事件上报及风险提示退出。该机制不用于热更新客户业务代码,本地产物在加固阶段完成,云端仅按项目授权管理对抗策略和安全事件。模块不读取 IMEI、Android ID、MAC 等隐私标识,具体数据范围、用途和保留规则以合同、项目说明及隐私政策为准。
如有特殊引擎、定制保护或未在官网展示的能力需求,可在业务边界清晰且具备实际部署条件时申请 Matrix v3 项目评估。企业服务费用会结合年度服务周期、日活规模、适配范围和技术投入综合确定;当前暂不提供私有化部署。
在客户明确授权及合法合规边界内,可提供安全评估、样本分析和对抗支持。若业务不接受动态策略下发、必要事件上报或云端策略管理,请在接入前与技术团队确认方案适配性;必要时建议继续使用 Matrix v1 或采用自身保护方案。
Matrix v1 文档内容不代表 Matrix v3。Matrix v3 的具体能力、数据范围、服务方式和责任边界,以双方确认的合同及项目文档为准。
QUERY_ALL_PACKAGES 权限。原包已有对应声明时不重复添加。哪些方法适合保护?
主要保护开发者自己写在 DEX 里的“最终判定方法”,不是第三方 SDK 本体。典型包括:广告是否允许发奖励/是否重复领取;内购订单是否到账/是否补单;支付结果是否有效/订单状态是否成功;登录 Token/渠道账号状态是否允许进入。
识别线索(不能直接当作 VMP 方法签名):广告位 ID/codeId/posID、userId、transId、rewardAmount、rewardName、extra、sign/isVerify;内购支付的商品 ID、订单号、金额、渠道、支付状态、签名验证结果;登录的 token 状态、渠道 UID、游客转正/设备绑定结果。
不要填写穿山甲/优量汇/快手/微信/支付宝等第三方 SDK 公开回调或 SDK 类,它们多为对象参数或 void 返回,当前方法 VMP 不支持,且 SDK 升级容易变化。应填写自有封装后的
static int 最终判定方法。当前兼容格式:仅 static、int 参数、int 返回;例如
com.example.security.PayGuard#isOrderValid(int,int),一行一个,最多 200 个。高级 Smali 格式
Lcom/example/security/PayGuard;->isOrderValid(II)I上线前:仅在获得项目方明确授权后,由内部安全技术人员在隔离测试环境对自有游戏包进行一轮免广告领奖与内购到账安全验证,结合加固前/试编译后包体摸排,定位真正控制奖励发放、订单到账、支付状态和登录认证的自有 DEX 判定方法,再填写保护。禁止测试第三方应用、真实交易或生产账号。
服务端能二次鉴权时,优先在服务端校验广告交易 ID/奖励资格、订单号/商品 ID/金额/支付状态、签名和幂等性;VMP 只做客户端纵深保护。支付和广告最终真实性仍应以服务端回调/异步通知为准。
金丝雀将全程守护您的应用安全
