应用的安全加固指对应用整体以及核心类进行加固,本节引导您完成创建加固任务的完整流程。
移动应用安全加固支持加固的对象包括:
APK/AAB 整体:对 APK/AAB 整体进行安全保护,提供 APK/AAB 防反编译保护、DEX 文件整体加壳保护、DEX 文件防篡改保护、防白盒攻击、壳加密算法保护、防调试保护、防内存篡改保护、防 Hook 保护、防模拟器保护、APK/AAB 防重打包保护、防内存 dump 保护。
核心类:对 Java 代码进行混淆,隐藏真实运行流程,防止 jadx-gui、jeb 工具的反编译,使加固后的代码难以被人工直接阅读。
So 文件:对 So 文件进行加密防护,以增加破解 So 文件的难度和成本。
Assets 文件:对 Assets 资源文件进行加密防护,使其满足监管要求。
对 APK/AAB 整体的加固是必需的,核心类、So 文件和 Assets 文件的加固是可选的,对 APK 可以根据需求加固项。
前置条件
在开始本任务之前,您需要先准备好待加固的应用,要求如下:
文件格式须为
.apk
或.aab
。应用须未加固,移动应用安全加固不支持对已加固的安装包进行重复加固。
APK/AAB 包已有签名。在加固过程中会进行 APK/AAB 的防二次打包处理,因此上传的应用包需要有签名。
如果要对应用中的 Assets 文件进行加固,则必须确保 minSdkVersion ≥ 21,即 Android 版本不低于 5.0。
APK/AAB 大小应 ≤ 300 MB。
正式下单购买后的首次加固会自动绑定使用的包名,后续只能加固使用此包名的 APK,且绑定后不支持更换包名。试用期间没有此规则限制。
操作步骤
创建加固任务的操作方法如下。
进入 mPaaS 控制台,在应用列表中选择目标应用。
单击左侧导航栏中的 移动应用安全 > 应用安全加固,进入 应用安全加固 页面。
单击页面上的 创建安全加固,进入 上传待加固应用 页面。
单击 上传应用,上传待加固的安装包。上传过程中,单击页面上的 取消上传,可取消上传,上传待加固应用 页面将回到初始状态(即未执行上传操作时的状态)。
说明当上传的 APK/AAB 不符合要求时,上传将会失败,此时,单击 重新上传 后,上传待加固应用 页面将回到初始状态。
上传成功后,页面跳转至 确认安全加固信息 页面,在该页面上,您需要完成以下操作:
确认应用信息:在 应用信息 栏下查看应用信息。
应用名称
应用包名
应用版本
应用大小
确认加固信息:在 加固信息 栏下,查看对 APK/AAB 整体提供的加固服务。
加壳保护
AndroidManifest 文件防篡改保护
签名文件保护
防调试保护
防原生应用调试
防内存 dump 保护
防模拟器运行保护
防 Root 设备运行保护
防内存数据读取保护
防内存数据修改保护
防 Hook 攻击保护
防内存代码注入保护
选择加壳模式:默认选择 快速模式。
快速模式:经该模式加壳后的应用启动速度较兼容模式加固后的应用快,但是在某些 Android 机型中可能会出现 Crash。
兼容模式:经该模式加壳后的应用启动速度较快速模式加固后的应用慢,但是兼容性更高,加壳后的应用在运行过程中一般不会出现异常。
说明推荐使用 兼容模式 对应用进行加壳。
添加需要安全保护的类(可选):选择需要加固的类,操作方法如下。
(可选)输入类名关键字,单击 搜索,搜索目标类。建议输入比较完整的类名进行搜索,当搜索结果超过 1000 个时,平台将无法展示搜索结果,此时,您需要输入完整的类名重新进行搜索。
单击与目标类对应的复选框,选择目标类。支持多选,最多支持 300 个类。
说明已选择的类名会出现在搜索框下方,单击 ×,可取消选择对应类名。
请选择要防护的 So 文件:选择需要加固的 So 文件,操作方法如下。
输入 So 文件名称中的关键字,单击 搜索,搜索目标文件。
单击待加固 So 文件前的复选框,可以选择一个或多个目标 So 文件。
重要在选择待加固的 So 文件时不建议选择第三方的 So 文件进行加固,因为加固第三方的 So 文件以提升应用安全的意义不大,且容易产生兼容性问题
请选择要防护的 Assets 文件:选择需要加固的 Assets 文件,操作方法如下。
输入 Assets 文件名称中的关键字,单击 搜索,搜索目标文件。
单击待加固 Assets 文件前的复选框,可以选择一个或多个目标 Assets 文件。
单击 确认加固,加固应用。 页面上显示 应用加固中 提示时,表示加固任务已创建完成。单击 查看加固列表 进入 应用安全加固 页面查看安全加固列表。列表中新增当前任务的卡片,在卡片中,您可查看任务的加固进度,并下载加固后的 APK/AAB。