本来在 android 逆向组 ,摸鱼摸的好好的,结果 boss 说要我去轮岗搞 iOS 逆向相关的。因为 iOS 逆向市场不是很大,不怎么赚钱。不过难度还是有的,我之前只接触过 iOS 的正向开发啊。iOS 的逆向 从来没搞过,我这个二十五的老人家了。又要开始学新技术了
设备 & software
一台 iPhone 或者 iPad(因为公司有配好几台 各个版本的 iPhone ,不过我还是自己拿了个 iPad 来公司)
设备要越狱,推荐 爱思助手,简单不用动脑。
越狱之后需要安装的插件:
AFC2 (安装后可以全系统文件浏览)
AppSync (安装后可以安装没签名的 ipa,方便测试)
OpenSSH ( 安装后可以 ssh 登录到 iOS 系统命令行,可以装一些没有在源的 deb,或者一些 自己写的 插件)
ssl kill switch2 (安装后可以关闭 iOS 的 SSL Pain ,抓包一抓一个准)
Frida (安装后可以常驻 frida Server ,frida 是啥不用我说了吧。)
上面的都是必装的,有了这些插件才算是一个比较基础的开发环境。
Xcode 这是 iOS 开发的 IDE ,必须要有的。破解后 hook 注入的 framework,要用这个生成。
所以很明显你还需要一台 Mac 电脑,如果你没有。那么还做什么 iOS 逆向呢!
了解流程
流程比较简单,比如我们找到一个目标, 那就 从 appStore 下载它。比如有个 游戏,在 android 上做了乱七八糟的保护,抓包很困难。那你就可以试试在 iOS 上面抓包,一般来说 iOS 和 android 的 服务器地址一样。
下载下来后 ,如果要注入修改,或者说提取一些资源。那么需要 把 iPA dump 出来,我推荐用 这个 库。
https://github.com/AloneMonkey/frida-ios-dump
这个库 虽然已经不维护了,但是现在用效果依然很好。目前没有遇到过没办法 dump 的应用。
当你把 iPA dump 下来之后,就可以 分析他的 头文件。或者 把 Mach-O 文件丢到 IDA 里面去修改逻辑。
这些就属于逆向相关的工作了。
当你处理好之后,需要重新签名,才能安装在没越狱的设备上。