IOS逆向笔记之重新签名(非越狱)

   近期准备入手学习IOS的逆向开发,在博客上写上笔记方便以后查看,也说说自己在其中遇到的坑。(提示:因为我的iphone没有越狱,因此我只研究非越狱设备的逆向工作。逆向设备:iphone7 10.3.1 + Mac Pro 17)

   逆向的第一步,也是最重要的一步,给应用重新签名。

   1. 获取应用的压缩包文件IPA文件。

   由于我的iphone没有越狱,因此,不能通过砸壳的方法重新签名Appstore上加密的应用;因此,我选择的是PP助手上已经破壳的应用。首先,要在电脑上安装PP助手,打开后选择越狱应用,如下图:

IOS逆向笔记之重新签名(非越狱)


  然后选择你想要重新签名的应用,点开后选择立即下载:(注意下载应用时,电脑不要连接手机,否则将显示立即安装,就无法下载应用了)

IOS逆向笔记之重新签名(非越狱)


 下载后的应用在下载-->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命名方式中,不能含有中文!!!)

  IOS逆向笔记之重新签名(非越狱)

  2). 提示选择开发者证书.输入完后回车,

  IOS逆向笔记之重新签名(非越狱)

  3). 提示输入描述文件(我用的是开发的描述文件不是发布的描述文件)

  IOS逆向笔记之重新签名(非越狱)

  4).成功后提示:

  IOS逆向笔记之重新签名(非越狱)


  5. 安装。使用PP助手将刚才重新签名的App,安装到自己的手机上。

IOS逆向笔记之重新签名(非越狱)

 

  (也可以使用ios-deploy安装到手机上)。

   至此应用就能安装到自己的手机上了。

  坑:

  最开始用的iOS_resign_scripts来重新签名,发现安装的时候总是报以下错误,entitlements错误,权限问题,我想可能是权限配置不对,然后手动配置。

IOS逆向笔记之重新签名(非越狱)

  使用codesign工具手动签名并配置好entitlements.plist,发现能签名成功,安装的时候还是报错。最后只能放弃上面两种方法了。