iOS逆向工程【From腾讯玄武实验室】
原文链接:Reverse Engineering iOS Apps - iOS 11 Edition (Part 1) [详细的信息请阅读原文,超详细的步骤和丰富的外链]
这篇博客中详细描述了如何对iOS11版本进行逆向,共分为两部分,此为其一,主要内容为如何使用工具对iOS进行越狱以及app解密和文件提取。
首先需要了解的一点是,每次iOS升级,那么越狱的工具就需要更新,所以越狱工具的选取要看准iOS的版本。针对iOS11的越狱工具包括LiberiOS和Electra,本篇博客中作者使用的是LiberiOS。LiberiOS越狱是一种KPP-less的工具,即不会对KPP(Kernel Patch Protection,内核补丁保护)警戒的内核区域进行修改,而其他的大部分越狱工具都不支持这种方法。
Step 1:越狱
使用LiberiOS越狱,需要下载对应的IPA和Cydia Impactor工具。Cydia Impactor工具是一个自签名工具,可以将IPA直接安装在iOS上。
Step 2:准备必要的工具
安装工具iTunnel,该工具用于使用USB转发ssh。作者认为通过USB转发的ssh速度更快,如果不用USB的话,通过wifi也是完全可以的。
安装工具bfinject,该用具用于对iOS的apps进行解密。由App Store下载的app都使用Apple的FairPlay DRM进行了加密来保护版权和防止篡改,如果不进行解密的话无法提取文件。
Step 3:对app进行解密
根据安装时间找到目标app的UUID,进而找到.app的包名,然后命令行下使用bfinject进行解密。
Step4:提取文件
利用scp命令将解密后的ipa文件拷贝到电脑上,并解压,然后就可以得到该app的解密后的二进制文件。
PS. 由于手上没有用于实验的机器,所以无法练习上述步骤,只能留到之后有缘再见了~
After:
① 了解越狱工具的原理和基于的漏洞。
② 了解DRM数字版权管理。
补充:iOS逆向学习文档