过签是什么意思:FPA 的签名校验处理能力
逛社区教程时高频出现的一个词:「过签」。理解它,就理解了 FPA 在很多应用上「能用」而在另一些应用上「闪退」的原因分野。
「过签」指什么
被 patch 的应用带着新签名运行,而不少应用启动时会校验自己的签名——发现「不是发布时那个签名」就拒绝运行(闪退、提示非正版等)。所谓「过签」,就是让改包后的应用通过这类自检:让应用内部的签名校验逻辑读到「正确」的结果,检查得以放行。
FPA 的框架代码在打包时会对应用的签名校验逻辑做处理,这就是它的过签能力。社区对能力边界的描述很直白:「框架仅实现简单的过签名验证」。
两个不同的「签名校验」别混淆
| 场景 | 校验方 | FPA 能否处理 |
|---|---|---|
| 应用自检自身签名(启动时检查自己) | 目标应用内部 | 能应付简单的校验 |
| 跨应用交互核对签名(登录/分享/支付) | 微信、QQ、支付渠道等外部应用 | 管不到,功能可能失灵 |
第一种的解法是过签;第二种是支付登录分享失灵里讲的固有代价。很多「过签了但登录不能用」的困惑,就是把这两种混为一谈。
过签能力的版本差异
过签方案本身在版本迭代中调整:v3.8 移除了 seccompv2 过签、新增了 mix(实验性)过签,并优化了打包时解析 axml 与资源复用的问题(详见v3.8 更新内容)。这意味着过签成功率与 FPA 版本强相关——旧版失败的目标,升级后再试有翻盘可能。汽水音乐案例就是实证:换到 3.8 版后五个版本全部成功(汽水音乐过签实例)。