IPA重签名

IPA重签名,网上的教程已经很多了,这里就不详细介绍了,下面是根据网上教程的一次实践步骤。

IPA: 如果是AppStore下载的,需要砸壳后才能签名成功;
另外,如果app中有PlugIn,WatchNative App, WatchNative App的PlugIn,xx.dylib, 这些也需要签名。

前期准备:
ipa:Yalu103.ipa
bundleID:com.iosre.repackage

1、生成new_embedded.mobileprovision配置文件。
可以去苹果开发者中心(developer.apple.com)去生成;
如果在Xcode中已经配置好了,可以运行一次Project,在生成的xxx.app中拷贝出embedded.mobileprovision文件;
这里为了区分将新生成的embedded.mobileprovision重命名为new_embedded.mobileprovision。

2、生成entitlements.plist文件
根据new_embedded.mobileprovision生成签名时使用的entitlements.plist文件。
IPA重签名_第1张图片

3、删除xxx.app/_CodeSignature、替换xxx.app/embedded.mobileprovision文件、修改xxx.app/Info.plist的bundleid
这里写图片描述

IPA重签名_第2张图片

4、签名
IPA重签名_第3张图片
5、打包&安装
IPA重签名_第4张图片

签名的技巧<引自蒸米大神的冰与火之歌>:
签名的时候我们需要提供entitlement的信息,这个entitlement是什么呢?其实这个entitlement是用来做iOS权限管理的,通过声明不同的entitlement就能得到不同的权限。并且这个信息已经保存到了二进制文件里。比如我们可以通过”ldid –e”来查看一个二进制文件的entitlement。
理论上需要给app签上原app对应的所有entitlement才行。

参考

https://github.com/zhengmin1989/MyArticles/tree/master/iOS%E5%86%B0%E4%B8%8E%E7%81%AB%E4%B9%8B%E6%AD%8C
http://bbs.pediy.com/thread-219743.htm
http://swiftyper.com/2017/07/02/attach-third-app-using-xcode/
http://swiftyper.com/2017/06/27/ios-app-signer-source-code/
https://github.com/aDreamCatcher/ios-app-signer

你可能感兴趣的:(iOS安全)