首页 / 新闻资讯 / 签代码防逆向加固合同前,这4个技术承诺必须写进补充协议
风险提示:本文提供的模板要点需根据具体项目调整,不构成法律意见,正式签约前建议由执业律师审核。
销售常说的话术是“我们的加固能防住IDA Pro、防住Frida Hook”。但实际交付后你会发现,所谓的“防住”往往没有明确标准——被脱壳了算不算“防住”?用Frida绕过检测了算不算?合同里根本没写。
1. 明确禁止的逆向行为清单
不要只写“禁止逆向工程”,要穷举具体行为。建议条款:
乙方承诺:经加固后的应用,能够有效阻止以下任何一种获取或还原原始代码的行为:
- 静态分析:使用IDA Pro、Ghidra、Hopper等反汇编工具还原原始逻辑;
- 动态调试:使用GDB、LLDB、Xposed、Frida、Objection等工具进行运行时Hook、内存Dump或方法替换;
- 内存提取:通过Dump运行时内存获取解密后的DEX、SO或可执行文件;
- 二次打包:对加固后的APK/IPA进行解包、修改、重新打包并签名运行。
2. 攻击测试验收标准
要求商家配合完成标准化渗透测试:
双方同意,以OWASP Mobile Top 10及MSTG(移动安全测试指南)中的逆向工程测试项为验收基准。乙方需提供至少一次由第三方安全机构出具的渗透测试报告,报告中应明确记载:使用Frida、Objection、MobSF等工具对加固后应用进行不少于40小时的定向攻击测试,未成功获取核心算法源码或完整性校验密钥。
“零性能损耗”是销售最常用的口头承诺之一。但你得知道:任何加固都会带来一定的性能开销,关键在于损耗是否在可接受范围内。问题在于,合同里如果没有明确基线,事后扯皮的成本极高。
1. 性能损耗上限
乙方承诺,加固后的应用相较于加固前(同一版本、同一编译配置),满足以下性能指标:
- 冷启动时间增加不超过200ms(以高端机Pixel/小米旗舰和低端机Redmi 9A分别测试取均值);
- 包体积增加不超过原包的15%;
- 运行时内存占用峰值增加不超过20MB;
- UI渲染帧率(游戏场景60fps基准)下降不超过3fps。
若任意一项超过约定上限,甲方有权要求乙方在15个工作日内提供优化版本;若优化后仍不达标,甲方有权按合同约定比例核减服务费或解除合同。
2. 兼容性覆盖范围
乙方承诺加固后的应用在以下设备及系统版本上正常运行,无闪退、无功能异常:
- Android:覆盖华为、小米、OPPO、vivo、荣耀Top20机型,系统版本覆盖Android 10~15;
- iOS:覆盖iPhone X~iPhone 16系列,系统版本覆盖iOS 13~18。
乙方需在交付前提供在上述清单设备上的兼容性测试报告。若上线后出现因加固导致的闪退(排除应用自身代码缺陷),乙方应在24小时内响应并修复。
销售可能会说“我们有专人7x24小时响应”——但这个“响应”到底是指有人接电话,还是承诺修复时效?区别很大。
1. 应急响应SLA
参考行业通行标准:
乙方建立安全事件应急响应机制,承诺以下时效:
- P0级(核心防护被突破,加固完全失效):2小时内响应,24小时内提供修复方案;
- P1级(部分防护可绕过,但核心资产未完全暴露):4小时内响应,48小时内提供修复方案;
- P2级(存在潜在风险但当前未被利用):24小时内确认,7个工作日内排期修复。
若因乙方未在约定时效内响应或修复,导致甲方遭受直接经济损失(如因破解导致收入流失),乙方应承担相应赔偿责任,单次事件赔偿上限不低于合同总金额的30%。
2. 持续监测与主动通知
合同有效期内,乙方应持续监测主流逆向论坛(如看雪、吾爱破解、GitHub公开仓库)、威胁情报源及第三方渠道,发现针对甲方应用的破解工具、脱壳教程或盗版分发渠道时,应在48小时内书面通知甲方,并协助甲方进行取证与下线处理。
加固技术在不断演进,攻击手段也在升级。更麻烦的是——Android、iOS系统一升级,原来的加固方案可能直接失效。如果不把技术迭代写进合同,第二年系统大版本更新后,你可能得重新付费升级。
1. 系统版本兼容义务

合同期内,乙方承诺跟踪Android和iOS的每个大版本更新(如Android 16、iOS 19),在官方正式版发布后30个工作日内,完成加固方案对新系统的兼容性适配,确保加固后的应用在新系统上正常运行且防护能力不降级。因未及时适配导致甲方应用在新系统上无法加固或无法上架的,乙方应承担违约责任。
2. 技术升级权利
参考常见SaaS服务条款:
乙方承诺合同期内持续更新加固引擎,应对新型攻击手法(包括但不限于:新型Hook框架、内存Dump工具、AI辅助逆向工具等)。甲方有权要求乙方每季度提供一次加固引擎更新说明,包括但不限于新增防护能力、已修复漏洞、性能优化等。
3. 版本归档与回滚
乙方应为甲方保留最近3个稳定版本的加固工具/服务接口。当新版本出现兼容性问题时,甲方有权回退至前一稳定版本,乙方应继续提供技术支持直至问题修复。
以下为补充协议的核心条款框架,可根据实际项目增删:
第X条 技术性能承诺
- X.1 防护能力:(引用第一条中的具体禁止行为清单)
- X.2 性能基线:(引用第二条中的具体数值)
- X.3 兼容性范围:(引用第二条中的机型/系统清单)
第X+1条 验收标准
- (X+1).1 甲方有权在收到加固包后15个工作日内,使用本合同附件约定的测试工具集进行验收测试。
- (X+1).2 验收不合格的,乙方应在10个工作日内完成整改。经两次整改仍不合格的,甲方有权解除合同并要求全额退款。
第X+2条 安全事件响应
- (X+2).1 通报机制:乙方发现安全事件后,应按第三条约定时效书面通知甲方。
- (X+2).2 赔偿责任:因乙方加固产品自身漏洞导致甲方应用被批量破解,且乙方未在约定时效内修复的,乙方应按【合同总额×实际损失比例】向甲方支付赔偿金,最低不低于合同总额的30%。
第X+3条 审计权
- 甲方有权每12个月一次,委托第三方独立安全审计机构对乙方加固产品的有效性进行复核审计,审计费用由【甲方/乙方/双方平摊】承担。若审计发现乙方存在虚假陈述,甲方有权追索全部已付费用并要求合同总金额50%的惩罚性赔偿。
1. 把“反向工程”定义写死
很多合同只写“不得反向工程”,但这个词在法律上存在解释空间。你要做的,是把“反向工程”拆解成具体动作:反编译、反汇编、内存Dump、网络流量嗅探、硬件调试接口读取——全部列进去,不给对方留任何狡辩余地。
2. 争议解决条款别忽略
建议约定“被告所在地”或“甲方所在地”法院管辖。如果你是甲方,争取写成甲方所在地——真打官司的时候,不用跑到对方城市去折腾。
3. 责任限制条款重点审查
几乎所有加固合同里都有一条“责任限制”,把赔偿金额压得很低。这一条必须谈判:如果是因为乙方加固产品自身的漏洞或虚假宣传导致你受损,这条限制不应该适用,或者至少要把赔偿上限提高到合同总额的3-5倍。
4. 保留更换供应商的权利
避免签“独家绑定”条款。可以约定:如果乙方连续两次验收不合格,或者出现严重安全事件且未及时修复,甲方有权提前终止合同并使用其他供应商的加固方案,乙方不得以技术锁定为由阻拦——这个条款能帮你省下后续换供应商时可能面临的数十万迁移成本。
5. 所有附件都要求盖章
技术承诺清单、测试工具列表、兼容性机型清单——这些附件要和主合同一起盖章,成为不可分割的一部分。单独给一份没盖章的“技术说明”,在法律上等于废纸。