0x0 获取
iTunes下载
现在iTunes已经没有下载ipa的功能了
第三方市场
目前大部分只能依靠第三方市场来下载,而且第三方市场的ipa其实有一个优势,大部分都是已经脱壳的,省去一个步骤
OTA安装的企业版app
这种就更好办了
首先拿到ota的url,基本上是itms-service之类的scheme
查看里面的一个url=的参数,就是plist配置的地址
下载或者查看这个plist,可以发现里面就有ipa的真正地址了
0x1 砸壳
如果你的包是appstore上的包,那么苹果会加壳,我们需要先砸了
主流的砸壳基本上都是在手机上操作,所以大前提是你有一台越狱的手机
现在我基本上都是第三方市场下载或者企业版证书的app,不过有兴趣还是可以了解一下的
0x2 分析
一般我们逆向一个app,还是先把头文件dump出来分析一下,主要还是利用 nygard/class-dump,具体用途看它的 readme 就差不多了
class-dump -H xxx.app -o /Users/Desktop/Header
如果有更深入的分析要求,可以利用hopper、ida分析,包括一些调用关系等
0x3 编写dylib
当目标分析完成,需求确定之后,就可以开始编写自己的dylib了
一个很常规的做法,就是随便创建一个类,添加一个+ (void)Load作为你的代码入口,或者在全局作用域上直接调用创建一个单例,如下
static