iOS的ipa重签名

为什么重签名###

重签名可以把越狱市场上的app重新用我们自己的开发者证书进行签名,然后我们就可以在我们不越狱的手机上安装越狱应用了。

如何重签名###

在网上找重签名,很多都说使用IResin,但是不知道为什么总是重签名失败。提示:warning: --resource-rules has been deprecated in Mac OS X >= 10.10!


错误信息

找了很久终于在iOS应用逆向工程论坛里看到有一篇最简单的重签名应用的方法。使用的是fastlane/sign脚本

  • 使用方法

安装好brew,先用brew安装ruby,然后用gem安装sigh。
1、brew install ruby
2、sudo gem install sigh

使用就非常简单了:
1、输入sigh resign,回车
2、把要签名的ipa文件拖到窗口上,回车
3、填写用来签名的证书,回车
4、把embedded.mobileprovision文件拖到窗口上,回车
5、好了,resign脚本会自动更改bundel id,签名并重新打包。

  • 注意
    1、ipa包名不要有中文。

2、像微信这样多targets的ipa无法用上述方法签名,文章里说用resign.sh进行签名。
./resign.sh YourApp.ipa "iPhone Distribution: YourCompanyOrDeveloperName" -p <path_to_provisioning_profile_for_app>.mobileprovision -p <path_to_provisioning_profile_for_watchkitextension>.mobileprovision -p <path_to_provisioning_profile_for_watchkitapp>.mobileprovision -p <path_to_provisioning_profile_for_todayextension>.mobileprovision resignedYourApp.ipa

举个例子说明:重签名一个叫乐动力的应用,里面包含一个XQTodayExtension.appex的通知栏插件,我们来看怎么签名:
1、先去导出两个mobileprovision文件,分别是应用和Plugin的,这里我导出了1.mobileprovision和2.mobileprovision,分别对应cc.fenzi.xiaoqin和cc.fenzi.xiaoqin.XQTodayExtension。
其中1.mobileprovision和2.mobileprovision这两个配置文件从你自己的开发者账户里面导出。

2、在1.4这个版本的sigh里,resigh.sh的位置是:
/usr/local/lib/ruby/gems/2.3.0/gems/sigh-1.4.0/lib/assets/resign.sh
运行resign.sh进行签名:
resign.sh /Users/Dylan/Code/LDL/xiaoqin.ipa "iPhone Distribution: YourCompanyOrDeveloperName" -p cc.fenzi.xiaoqin=/Users/Dylan/Code/LDL/1.mobileprovision -p cc.fenzi.xiaoqin.XQTodayExtension=/Users/Dylan/Code/LDL/2.mobileprovision /Users/Dylan/Code/LDL/xiaoqin2.ipa

3、很多人安装后sigh的版本是1.3.1,而且更新不了。可能gem用的是淘宝的源。可以换一个源,我这里换成的是 http://rubygems.org/,可以更新到1.4.1

  国外的源
  http://rubygems.org/
  http://gems.github.com
  http://gems.rubyforge.org
  国内的源
  http://ruby.taobao.org 

  显示当前使用的
  sourcesgem sources

  添加一个
  sourcegem sources -a url地址

  删除一个
  sourcegem sources -r url地址

  更新
  source cachegem sources -u

参考###

iOS证书及ipa包重签名探究
利用iReSign和开发者账号对ipa文件重签
最简单的重签名应用的方法

推荐阅读更多精彩内容

  • 重签名可以把越狱市场上的app重新用我们自己的开发者证书进行签名,然后我们就可以在我们不越狱的手机上安装越狱应用了...
    pzhpengpeng阅读 1,575评论 0 0
  • ipa 包重签名最新最简单教程 重签名的意义:ipa 重签名最大的用处是,不必重新打包,和配置其它第三方获取 ap...
    红发_KVO阅读 49,639评论 13 52
  • 安装重签工具 fastlane -> sigh brew install rubysudo gem install...
    洪哥阅读 4,908评论 9 3
  • 在工作中分发内测应用是经常遇见的,常见的方式有:TestFlight,用企业级开发者账号,搜集UDID打包等方式,...
    MarkMiao阅读 1,268评论 1 3
  • 一.理解iOS签名机制 网上有很多资料,这里不展开细说,重点参考这三篇文章: https://www.objccn...
    huig游影阅读 487评论 0 0