近期准备入手学习IOS的逆向开发,在博客上写上笔记方便以后查看,也说说自己在其中遇到的坑。(提示:因为我的iphone没有越狱,因此我只研究非越狱设备的逆向工作。逆向设备:iphone7 10.3.1 + Mac Pro 17)
逆向的第一步,也是最重要的一步,给应用重新签名。
1. 获取应用的压缩包文件IPA文件。
由于我的iphone没有越狱,因此,不能通过砸壳的方法重新签名Appstore上加密的应用;因此,我选择的是PP助手上已经破壳的应用。首先,要在电脑上安装PP助手,打开后选择越狱应用,如下图:
然后选择你想要重新签名的应用,点开后选择立即下载:(注意下载应用时,电脑不要连接手机,否则将显示立即安装,就无法下载应用了)
下载后的应用在下载-->PP下载-->应用中能找到对应的ipa文件。
2. 创建开发者证书(iOS Certificate)和描述文件(iOS Provisioning Profile)下载后双击。
3.安装 sigh
1). 通过 brew 安装ruby brew install ruby
2).通过 sudo gem install sigh 安装sigh,若为安装ruby则会报错。
(建议将描述文件和IPA文件放到同一目录,方便后面的操作!)
4.安装好sigh后,
1). 在终端输入sigh resign 回车,提示输入ipa文件的路径(ipa命名方式中,不能含有中文!!!)
2). 提示选择开发者证书.输入完后回车,
3). 提示输入描述文件(我用的是开发的描述文件不是发布的描述文件)
4).成功后提示:
5. 安装。使用PP助手将刚才重新签名的App,安装到自己的手机上。
(也可以使用ios-deploy安装到手机上)。
至此应用就能安装到自己的手机上了。
坑:
最开始用的iOS_resign_scripts来重新签名,发现安装的时候总是报以下错误,entitlements错误,权限问题,我想可能是权限配置不对,然后手动配置。
使用codesign工具手动签名并配置好entitlements.plist,发现能签名成功,安装的时候还是报错。最后只能放弃上面两种方法了。