一种高效的安卓apk加固工具

常见APK应用加固主要有DEX文件、SDK文件、SO文件加固这三类。本文介绍了3种APK加固的策略和1种APK加固工具。

1.DEX加固


上图为DEX加固技术演化,几种方式加固程度不同:

混淆代码:最原始也是最基础的防护措施;

整体DEX加固(加壳);

拆分DEX加固:函数抽取及动态恢复,增加内存Dump的难度;

虚拟机加固:自定义指令虚拟机解释器,指令可混淆;

Java2C加固:将DEX指令转换为native指令执行,可增加混淆、字符串加密功能。

整体DEX加固,拆分DEX加固,均有相应的脱壳机,当前的防护程度几乎为零。当前性能最强的加固方案是Java2c,将java指令转成c/c++指令,并做虚假控制流、字符串加密等处理,逆向难度最高。如下图所示,即为Java2c加固前后的区分:


2.SO加固

SO库文件一般存放着核心算法、重要协议等重要信息。根据so结构特点,在二进制层面进行局部函数加解密。如下图所示案例,SO加固前导出函数有369个函数,加固后只有42个函数,其他的都是可以做加密的隐藏的。


3.SDK加固

SDK的加固策略和DEX类似,这里不做详细说明。想要了解更多SDK加固信息,可以点击以下文章《为什么SDK加固那么重要?网易易盾专家的四点解读》

4.网易易盾APK加固工具

网易易盾提供专业的Android APK加固服务,有效防止应用被逆向分析、反编译、二次打包,防止嵌入各类病毒、广告等恶意代码,保障开发者和用户的利益。网易易盾提供游戏类、非游戏类、通用类APK加固工具,Android APK加固点击免费试用,下载和使用流程如下:


相关阅读:

如何提升手游APK加固强度?

代码混淆的原理是什么?常见代码混淆方法介绍

Android应用破解及防护秘籍