为了保护公司的 App 安全,我用遍了市面上的加固产品

2018-09-12 20:23:34 +08:00
 wtfhaier
加固是保护 App 安全的重要手段之一,不仅能够保障 App 代码安全,防止被破解入侵篡改,更是等保、测试等合规性要求。
最近,公司开发了一款运动 App,主要面向苹果用户。我试遍了市场主流的 iOS 加固产品。虽然国内外的都有,但是差距很大。当然,能够拿出来单独说的不超过 6 款。以下是 iOS App 加固产品选型时的一点心得,主要有 Obfuscator-LLVM、网易 iOS 加固、360iOS 加固、顶象 iOS 加固和数字遁甲 iOS 加固。
Obfuscator-LLVM
Obfuscator-LLVM 是瑞士西北应用科技大学安全实验室于 2010 年 6 月份发起的一个项目,该项目旨在提供一套开源的针对 LLVM 的代码混淆工具,以增加对逆向工程的难度。后期转向商业项目 strong.protect。目前,OLLVM 已经支持 LLVM-4.0 版本。
作为代码混淆的优秀开源项目,Obfuscator-LLVM 提供控制流扁平化、指令替换、虚假控制流等功能,不支持 swift 和 Bitcode,加固强度比较低。

Obfuscator-LLVM 使用时必须集成到 xcode 上,也就是插件形式进行加固,开发调试很简单。
Obfuscator-LLVM 的混淆样式如下:

网易 iOS 加固
iOS 加固( dun.163.com/product/ios
是网易易盾下面的一个移动安全产品。主要提供字符串加密、代码逻辑混淆、字符串混淆和反调试等功能,也不支持 swift 和 Bitcode,加固强度中等。

网易 iOS 加固是一套独立工具,开发调试程度一般。
它提供了 15 天的企业免费试用。需要提供 bundleID 和邮箱。
使用过程如下:

360iOS 加固
360iOS 加固( jiagu.360.cn/#/global/in
是 360 加固保旗下的产品。主要提供源代码进行常量加密、逻辑混淆、结构替换、多路径执行等保护,同样也不支持 swift 和 Bitcode,加固强度中等。

360iOS 加固是在线加固的形式。在官网注册账号,上传文件即可使用。
开发调试程度比较麻烦。

数字遁甲 iOS 加固
数字遁甲是新崛起的一个加固厂商。其 iOS 加固产品主要提供二进制加固、字符串混淆和高级反调试等功能,不支持 swift 和 Bitcode,加固强度较低。

数字遁甲也是在线加固的形式,使用比较简单。直接上传 ipa 文件,然后获取提取码,再用提取码下载加固后的 ipa 文件。但是在开发调试方面同样不方便。

以下是一个加固后的结果。

顶象 iOS 加固
顶象 iOS 加固( www.dingxiang-inc.com/business/io
是顶象技术端安全旗下产品,主要提供代码虚拟化、字符串加密、代码混淆等功能。支持 swift 和 Bitcode 两种(这也是目前唯一支持该两类语言加固的工具),加固强度较高。
多说一句,该产品团队人员主要来自阿里巴巴移动安全产品团队。

顶象 iOS 加固比较有意思,提供两种在线和插件两种形式。
在线添加参加,然后直接上传文件即可使用。

为了文件上传方便,顶象还做了一个辅助工具,用来提取加固需要的文件和合并文件。

第二种方式是插件,与 Obfuscator-LLVM 类似,也是到 xcode 上。
使用流程如下:

加固效果如下(一个简单的计算器 demo )。

五款 iOS 加固工具比较


写在最后的总结
1、功能。这几款工具都具备了市面上目前常见的字符串加密、代码和符号混淆、代码混乱等基础功能。其中,网易 iOS 加固和数字遁甲 iOS 加固还提供了防调试功能,开启后自动注入防调试代码,省去了手写;而顶象 iOS 加固集成了代码虚拟化功能,开启后会使函数体消失,进入虚机运行,整体加固效果较佳。
2、操作。Obfuscator-LLVM 集成到新版 xcode(9.4.1)上,操作比较麻烦。网易 iOS 加固单独工具操作比较简单,但是不能集成到 xcode 使用; 360 加固和数字遁甲 iOS 加固是在线服务,也比较简单;顶象 iOS 加固既可以在线使用,也可以集成到 xcode 上,可谓两不误。
3、语言支持。swift 是苹果 2014 年发布一个新编程语言,bitcode 是编译的中间语言,都是比较常用的。但是除了顶象 iOS 加固外,其他均不支持。
4、配置方式。Obfuscator-LLVM、网易 iOS 加固、顶象 iOS 加固的配置方式类似。
5、版本更新。Obfuscator-LLVM 是全部免费的,但是已经停止了更新。其他产品都有更新。
6、加固文件。顶象 iOS 加固在线使用时,不需要上传源码,这与其他几个在线加固的产品不同。
5631 次点击
所在节点    macOS
8 条回复
wtfhaier
2018-09-12 20:25:11 +08:00
无法加图片...
des
2018-09-12 21:02:23 +08:00
有专门的推广节点,请发到这里 https://www.v2ex.com/go/promotions
@Livid
ponder
2018-09-12 21:09:15 +08:00
明显软文
mrchi
2018-09-12 21:15:41 +08:00
推广自己家产品,就不能站在自己产品的角度,好好讲讲自己家的优势吗?非要装成用户,跟地方电视台卖药的广告有什么区别,真当产品受众都是傻子,看不出这是软文。
beastk
2018-09-12 22:24:26 +08:00
你是卖茶叶的妹子吗?推广就写推广,搞这些花样干啥?
AEANWspPmj3FUhDc
2018-09-12 22:37:48 +08:00
不明白为什么要伪装成用户,认真看到后面,居然是推广,block 了。
Alexander321
2018-09-13 08:25:21 +08:00
标题太简书了,建议去简书
liuyinltemp
2018-09-13 08:43:26 +08:00
太假了,按理说第一是爱加密

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/488679

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX