加固不是点了"开始加固"就完事了。上线前,你还需要确认:加固真的生效了吗?有没有漏掉什么?性能影响能不能接受?

验收项一:反编译效果确认

目的:验证加固后的代码是否真的不可读。

方法:用Jadx打开加固后的APK,确认核心业务代码是否可见。如果开启VMP/Java2C保护,对应的代码应该在Java层完全不可见。

验收标准:在Jadx中无法找到核心业务逻辑的Java代码。

验收项二:SO文件保护确认

目的:验证Native层的保护是否生效。

方法:用IDA Pro打开加固后的SO文件,检查关键函数是否被混淆或加密。原始函数名应该不可见,代码逻辑应该不可直接还原。

验收标准:关键函数在IDA Pro中显示为混淆/加密状态。

验收项三:二次打包防护

目的:验证签名校验和完整性保护是否生效。

方法:用APKTool解包加固后的APK,修改任意资源或代码,用apksigner重新签名后安装运行。

验收标准:修改后的APK无法正常运行(直接闪退)。

验收项四:动态调试对抗

目的:验证运行时保护能力。

方法:在测试设备上安装Frida Server,编写Frida脚本尝试Hook关键函数。观察是否能成功附加到进程。

验收标准:Frida无法附加到进程,或即使附加后Hook无效。

验收项五:内存Dump防护

目的:验证运行时内存数据是否被保护。

方法:使用脱壳工具尝试Dump运行时内存,检查Dump到的数据是否可以直接分析。

验收标准:Dump到的数据为加密格式或无法直接还原为可读代码。

验收项六:冷启动性能

目的:确认加固对启动速度的影响是否可接受。

方法:在至少3台测试设备上,对比加固前后冷启动时间。每台设备跑5次取平均值。

验收标准:冷启动时间增量建议控制在300ms以内。(来源:易盾内部测试基准,数据仅供参考,实际影响以具体App和机型的实测为准)

验收项七:包体积增量

目的:确认包体积增长是否在预期范围内。

方法:对比加固前后的APK文件大小。

验收标准:包体积增量建议控制在原包的5%以内。(来源:易盾加固默认配置下的参考数据,全量功能开启时增量可能在3-6MB,具体取决于App原始包大小和开启的功能项)

验收项八:热更新兼容性

目的:如果使用了热更新框架,验证加固后热更是否正常。

方法:基于加固后的APK生成补丁包,下发到测试设备,验证补丁加载和功能正常。

验收标准:补丁能正常生成、下发、加载,升级后的功能正常。

验收清单速查表

# 验收项 验收方法 合格标准
1 反编译效果 Jadx检查 核心代码不可读
2 SO保护 IDA Pro检查 关键函数混淆/加密
3 二次打包 篡改后重签 无法正常运行
4 动态调试 Frida Hook 无法附加/Hook无效
5 内存Dump 脱壳工具 数据不可还原
6 冷启动 性能对比测试 增量≤300ms
7 包体积 APK大小对比 增量≤5%
8 热更新 补丁加载测试 正常加载运行

申请试用可访问易盾应用加固产品页

Logo

网易易盾是国内领先的数字内容风控服务商,依托网易二十余年的先进技术和一线实践经验沉淀,为客户提供专业可靠的安全服务,涵盖内容安全、业务安全、应用安全、安全专家服务四大领域,全方位保障客户业务合规、稳健和安全运营。

更多推荐