常见加固服务提供商
市面上有很多家公司、厂家提供了免费或收费的加固方案:
各家加固方案的总结和对比
此处先列出:
总体效果对比
- 体积(体积小的为优):
360 > 腾讯 > 爱加密 > 阿里 > 梆梆
- 兼容性:
阿里 > 腾讯 > 360 = 梆梆 > 爱加密
- 启动速度(时间短为优):
阿里 > 爱加密 > 360 = 梆梆 > 腾讯
- 漏洞:
腾讯 > 爱加密 > 360 > 梆梆 > 阿里
实现原理对比
引用别人总结的(截至2015年)各家加固方案的技术原理,供参考:
- 360:基本上是把原始的
dex
加密存在了一个so
中,加载之前解密 - 阿里:把一些
class_data_item
和code_item
拆出去了,打开dex
时会修复之间的关系。同时一些annotation_off
是无效的的来防止静态解析 - 百度:把一些
class_data_item
拆走了,与阿里很像,同时它还会抹去dex
文件的头部;它也会选择个别方法重新包装,达到调用前还原,调用后抹去的效果。我们可以通过对DoInvoke
(ART
)和dvmMterp_invokeMethod
(DVM
)监控来获取到相关代码 - 梆梆和爱加密:与360的做法很像,梆梆把一堆
read
、write
、mmap
等libc
函数hook
了,防止读取相关dex
的区域,爱加密的字符串会变,但是只是文件名变目录不变 - 腾讯:针对于被保护的类或方法造了一个假的
class_data_item
,不包含被保护的内容。真正的class_data_item
会在运行的时候释放并连接上去,但是code_item
却始终存在于dex
文件里,它用无效数据填充annotation_off
和debug_info_off
来实现干扰反编译
各家加固方案详解
360加固宝
- 主页:http://jiagu.360.cn/
- 还有其他产品:
- 针对手游的:
- 360手游保
- http://shouyoubao.360.cn
- 针对网页的:
- H5加固
- 针对手游的:
- 还有其他产品:
腾讯乐固legu
- 主页:http://legu.qcloud.com/
应用安全
=Mobile Security
=MS
- 功能:为用户提供移动应用(APP)全生命周期的一站式安全解决方案
- 涵盖服务
- 应用加固
- 安全测评
- 兼容性测试
- 盗版监控
- 崩溃监测
- 安全组件
- 特点
- 坚固
- 应用加固在不改 Android 应用源代码的情况下,将针对应用各种安全缺陷的加固保护技术集成到应用 APK,从而提升应用的整体安全水平,力保应用不被盗版侵权
- 稳定
- 应用安全提供的安全能力可在复杂环境下稳定运行,兼容性高、崩溃率低;不仅支持 arm、aarch64、x86、x64,还支持 android 2.0 到 android N 等几乎全系统全机型
- 坚固
- 机制和原理分析:
- 乐固做了一些反调试的东西,很多情况并不是反调试越厉害加固就越好
- 乐固仍然是常规规的函数调用和返回方式,流程清晰很多
- 腾讯云 移动应用安全 购买指南 产品文档
- 加壳 保护 功能
- 反编译保护
- DEX 反编译保护
- 壳加密算法保护
- AndroidManifest.xml 防篡改
- DEX 文件整体加固保护
- DEX 虚拟化加固(VMP)
- SO 反编译保护
- SO 库加壳保护
- SO 库内存动态清除
- SO 库与应用绑定保护
- 高级 SO 混淆保护
- SO 库字符串加密
- DEX 反编译保护
- 防篡改保护
- APK 防篡改保护
- APK 防二次打包保护
- APK 签名文件校验保护
- 源代码防篡改保护
- DEX 文件防篡改
- SO 库防篡改
- 资源防篡改保护
- assets 资源防篡改
- res 资源防篡改
- raw 资源防篡改
- 配置文件防篡改
- APK 防篡改保护
- 防调试保护
- 防调试保护
- 防模拟器保护
- 加固壳防动态调试
- 防线程动态调试保护
- 防进程动态调试保护
- 防 JDWP 调试
- 防注入保护
- 防内存 dump 保护
- 防内存数据读取
- 防内存数据修改
- 防调试保护
- 数据与资源保护
- 资源防窃取保护
- assets 资源防窃取
- res 资源防窃取
- raw 资源防窃取
- SSL 证书防窃取
- 本地数据保护
- 本地 databases 目录数据库文件加密
- 防日志泄漏
- 应用防截屏/录屏
- 资源防窃取保护
- 反编译保护
- 加壳 保护 功能
网易易盾
- 网易易盾
- 主页:Android应用加固APK加固防篡改APP加固网易易盾
- 产品介绍
- 防逆向
- 多重指令转换VMP虚拟机保护技术,对关键代码、核心逻辑进行加密保护,避免通过IDA,Readelf等逆向工具分析获取源码
- 防篡改
- 对APP应用每个文件分配唯一识别指纹,替换任何一个文件会导致无法运行,防止广告病毒植入、二次打包、功能屏蔽等恶意破解
- 防调试
- 多重加密技术防止代码注入,防止JAVA层/C层动态调试,可有效抵挡动态调试、内存DUMP、代码注入、HOOK等恶意攻击
- 数据保护
- 提供安全键盘、通讯协议加密、数据存储加密、异常进程动态跟踪等功能技术,在各个环节有效阻止数据被捕获、劫持和篡改
- 防逆向
- 功能介绍
- DEX安全保护
- VMP虚拟机保护
- Java2C保护
- DEX函数抽取加密
- SO库加密保护
- SO代码高级加密
- SO函数动态加密
- 防HOOK攻击
- 防脱壳
- 资源文件加密
- assets资源文件加密
- H5文件加密
- XML配置文件保护
- 防调试
- 防动态调试
- 防内存DUMP
- 防动态注入
- 数据保护
- 日志防泄露
- 防截屏保护
- 数据文件加密
- DEX安全保护
- 应用场景
- 应用程序被破解
- 核心代码被窃取
- 恶意代码注入
- 核心数据泄露
- 安全检测未合规
- 核心优势
- 高安全性
- 加固强度高,有效对抗多种反编译逆向工具,防止APP被破解剽窃
- 高兼容性
- 支持arm、x86及64位多种CPU架构,完美支持Android4.0到最新系统
- 高稳定性
- 积累丰富的网易内部APP服务经验,加固后性能几乎无影响
- 极速便捷
- 提供工具和命令行操作,编译、加壳一体化快速完成
- 灵活定制
- 提供多种加固项和定制加固服务,自由选取灵活定制,满足不同行业需求
- 国际认证
- 拥有ISO27001、CSA-STAR国际权威标准认证,安全合规双重保障
- 高安全性
爱加密
- http://ijiami.cn
- 移动应用安全加固
- 安卓:http://ijiami.cn/android
- 核心技术
- 防逆向
- 通过DEX加花和加壳、SO文件高级混淆和加壳等技术对DEX和SO文件进行保护,防止被IDA等逆向工具分析
- 防调试
- 多重加密技术防止代码注入,防JAVA层/C层动态调试、防代码注入和防HOOK攻击
- 页面数据防护
- 应用防劫持、应用防截屏、虚拟键盘SDK产品和技术,防界面劫持插件对组件进行全方位监听
- 防篡改
- 在加固时提取APP内各文件的文件特征值,当文件运行时,系统解密加密文件提取特征值进行文件校验
- 数据防泄漏
- 使用多种加密算法,包括国际通用算法及自主研发的加密算法等,保护本地数据
- 传输数据防护
- 在客户端和服务器分别嵌入数据加密SDK,保证通道中传输的数据为高强度加密后的数据
- 防逆向
- 主要功能
- 概述
- 提升APP安全性
- 源代码保护、SO库保护、DEX 文件保护、数据加密保护
- 确保APP业务安全
- 防盗版保护、防纂改、页面防劫持技术、防截屏技术、 环境清场、短信防劫持
- 保障APP数据安全
- 密钥白盒技术、APP通讯链路加密、数据本地加密技术、安全键盘
- 确保APP的整体优化
- APP包体大小不超过原包“±5%”、全面的兼容性测试、全面的性能测试
- 提升APP安全性
- 功能点
- 防逆向
- DEX整体加密保护
- DEX代码分离保护
- DEX混合加密保护
- DEX VMP保护
- 双重VMP保护
- Java2CPP
- SO加壳
- SO Linker
- SO防调用
- SO VMP
- 防篡改
- DEX文件防篡改
- SO库文件防篡改
- H5文件防篡改
- 资源文件防篡改
- 资源文件加密
- 签名保护
- 防调试
- 防动态调试
- 防内存代码注入
- 防模拟器
- 防加速器
- 数据防泄漏
- 防内存数据读取
- 防内存数据修改
- 防日志泄漏
- 本地sharepferences数据加密
- 本地SQLite数据加密
- 页面数据防护
- 防劫持
- 防截屏
- 安全键盘SDK
- 传输数据防护
- 通信协议加密SDK
- 密钥白盒
- 防逆向
- 概述
- 产品优势
- 最新第六代高级双重VMP加密技术
- 6种加密方式满足不同用户、行业的使用需求
- 加密后包增量大小不超过原包“±5%”
- 兼容性高达99%,实现ART全面兼容
- 交付方式灵活,支持本地部署或者云部署,云部署支持私有云和公有云
- 通过密钥白盒技术实现最强的加密强度
- 获得上千家知名行业客户认可的移动安全技术方案
- 核心技术
- iOS:http://ijiami.cn/iosProtect
- SDK:http://ijiami.cn/sdkProtection
- SO库:http://ijiami.cn/soProtect
- SO文件加壳保护
- 对SO文件进行加壳保护,加壳后使用ida工具无法看出SO库文件的导入导出函数以及定位源码,有效防止黑客反编译,解包后看到真正源码
- SO文件混淆保护
- 爱加密基于移动安全领域的先进的技术和经验,针对黑客在分析阶段的攻击手段和行为进行分析,利用SO混淆编译器,可以有效的增加黑客信息搜集的难度和复杂度,防止应用被破解,降低APP安全风险
- SO文件加壳保护
- 安卓:http://ijiami.cn/android
梆梆安全
- 主页
- 产品
- 泰固
- 移动应用安全加固
- 针对目前移动应用普遍存在的破解、篡改、盗版、钓鱼欺诈、内存调试、数据窃取等各类安全风险,梆梆安全为开发者提供全面的移动应用加固加密技术和攻击防范服务
- 核心加固技术
- 防逆向(Anti-RE):抽取classes.dex中的所有代码,剥离敏感函数功能,混淆关键逻辑代码,整体文件深度加密加壳,防止通过apktool,dex2jar,JEB等静态工具来查看应用的Java层代码,防止通过IDA,readelf等工具对so里面的逻辑进行分析,保护native代码。
- 防篡改(Anti-tamper):每个代码文件、资源文件、配置文件都会分配唯一识别指纹,替换任何一个文件,将会导致应用无法运行,存档替换、病毒广告植入、内购破解、功能屏蔽等恶意行为将无法实施。
- 防调试(Anti-debug):多重加密技术防止代码注入,彻底屏蔽游戏外挂、应用辅助工具,避免钓鱼攻击、交易劫持、数据修改等调试行为。
- 防窃取(Storage Encryption):支持存储数据加密,提供输入键盘保护、通讯协议加密、内存数据变换、异常进程动态跟踪等安防技术,有效防止针对应用动、静态数据的捕获、劫持和篡改。
- 加固服务策略
- 提供灵活多样的App加固方案
- 防逆向保护
- DEX文件加壳保护
- DEX函数抽取加密
- HTML开发框架保护
- SO文件加壳保护
- SO代码压缩及加密
- SO库设备绑定
- 源代码深度混淆
- 防篡改保护
- 开发者签名校验
- 代码、资源文件、配置文件完整性校验
- 数据透明加密及设备绑定
- 配置文件、数据库文件加密
- 视频、音频、图像等文件加密
- 防调试保护
- 防止进程/线程附加
- 防止进程注入
- 防HOOK攻击
- 防内存Dump
- App完整性保护
- SO数据动态清除
- 防窃取保护
- 本地数据文件加密
- 键盘数据加密
- 通讯协议加密
- 密钥白盒加密
- 防逆向保护
- 提供灵活多样的App加固方案
- 移动应用源代码加固
- 未经混淆的源代码受到攻击后,易暴露程序中关键算法、核心业务逻辑、数据结构和模块的控制流布局等敏感内容
- 移动应用安全加固
- 泰固
顶象安全
- 主页
- 功能
- Android加固保护 - 顶象技术
- 一套纵深防御体系
- 分别从防逆向、防调试和防篡改等几个维度提供安全保护
- 同时针对每个维度提供又进行了不同层次的划分,加固策可依据实际场景进行动态调配,安全和性能达到完美平衡。
- 对APK提供DEX保护、SO保护、数据加密、资源防篡改、运行时保护等多角度全方位的保护
- 一套纵深防御体系
- 核心功能
- Dex加壳保护
- 对dex文件整体进行加密隐藏,并进行反编译保护处理
- Dex VMP保护
- 将函数方法指令翻译为自定义指令集并加密存储,在运行过程中交由顶象dex虚拟机解释执行
- SO加壳保护
- 加密隐藏SO文件中的导入导出符号表以及常量字符串,同时对SO进行反编译保护处理
- SO VMP保护
- 对二进制函数指令翻译为自定义指令集并加密存储,在运行过程中交由顶象dex虚拟机解释执行
- Dex加壳保护
- 特点与优势
- 平台兼容性高
- 支持ARM, ARM64, x86, x86_64, mips等多种cpu框架
- 语言支持丰富
- 支持包括Java,Kotlin,C/C++,Objective-C,Swift等在内的多种源码类型或混合型项目
- 操作流程便捷
- 把编译好的App上传并选择好加固方案即可完成整个加固流程,操作简单易懂,非技术人员也能轻松掌握
- 体积增量小
- 整体加固增量不会超过100kb,一般情况下是80kb
- 平台兼容性高
- 应对风险
- 程序逻辑被破解
- 核心代码被窃取
- API接口暴露
- 恶意代码注入
- Android加固保护 - 顶象技术
几维安全
- 主页
- 功能
- APP应用加固
- 重点
- 高效、专业、兼容好
- 5分钟极速加密,轻松集成DEX加密、反调试、防盗版等多重安全防护
- 产品简介
- 移动应用安全加固是一项面向互联网企业和个人开发者的在线加密服务, 现支持安卓应用加密,用户只需提供APK包即可快速集成防静态工具分析、Dex文件保护、So文件加壳、内存保护、反调试、防二次打包等多项安全功能。 支持对金融、手游、电商、社交等多个行业的应用做加固保护,避免核心代码被反编译, 请求协议被伪造,APK包被植入恶意代码等诸多安全问题。
- 功能特点
- Dex文件保护
- 对DEX文件进行加密保护,防止被Dex2Jar等工具逆向破解
- Dex-Java2C
- 将Java代码翻译为C代码,并实施Native层的代码混淆保护
- SO文件加壳
- 对SO文件进行整体加壳保护,防止IDA Pro等工具逆向分析
- 防二次打包
- 集成正版签名校验功能,运行时动态校验,防止被植入恶意代码
- 内存加密
- 防止内存数据被篡改或Dump,比如Dump解密后的Java代码
- 反调试
- 拒绝调试器对当前应用的附加操作,防止程序被恶意调试分析
- 自身虚拟化保护
- 专业版采用代码虚拟化技术对自身代码进行保护,防止逆向分析
- 兼容性良好
- 测试覆盖200+机型,兼容性达到99%,支持ART模式
- Dex文件保护
- 应对风险
- Dex文件反编译
- So文件反编译
- 核心技术窃取
- 通信模块破解
- API接口暴露
- 密钥窃取
- 注入恶意代码
- 伪造盗版应用
- 重点
- SO源码混淆保护
- 重点
- 基于NDK项目源码,通过安装NDK插件即可集成代码混淆、轻量虚拟化、字符串加密等多项高强度的安全保护
- 产品简介
- SO库源代码保护是一款离线的安全编译器工具,主要用于保护Android NDK项目中的核心代码,避免因逆向工程或破解,造成核心技术被泄漏、代码执行流程被分析等安全问题。该安全编译器和普通编译器相似,基于项目源代码可将C、C++代码编译成二进制代码,不同之处在于,安全编译器在编译的时,能够对代码进行混淆、轻量虚拟化、字符串加密等安全保护。从而避免攻击者通过IDA Pro等逆向工具反编译二进制代码,分析业务代码执行流程,进一步篡改或窃取核心技术。
- 重点
- APP应用加固
阿里聚安全
- http://jaq.alibaba.com/
- 20180801已下线
- 原理分析:
- Ali 利用 SP 来储存返回地址和参数所以整个流程很混乱,基本看上去就是在各种 JUMP