重签名
破解后的APP如何安装到其他非越狱手机上?
准备一个embedded.mobileprovision文件(必须是付费证书产生的,appid,device一定要匹配),并放入app包中
可以通过Xcode自动生成,然后在编译后的app包中找到;可以去开发者证书网站生成下载。
从embedded.mobileprovision文件中提取出entitlements.plist权限文件。
security cms -D -i embedded.mobileprovision > temp.plist
/usr/libexec/PlistBuddy -x -c 'Print :Entitlements' temp.plist > entitlements.plist
br
查看可用的证书
security find-identity -v -p codesigning
对.app内部的动态库、AppExtension等进行签名
codesign -fs 证书ID xxx.dylib
对.app包进行签名
codesign -fs 证书ID --entitlements entitlements.plist xxx.app
众所周知,苹果的分发渠道只有appstore,而且审核尤其严格,蛮多App因不符合其审核规则,导致不允许上架,延期审核等。比如,一些棋牌类、视频交友类的App,但由于iOS用户的转化比较高,甚至占有大部分营收,导致开发商不可能放弃这块用户群体,迫不得已寻找其他办法,于是类似企业签、超级签、TF签便成为了开发商选择的对象。这背后的原理,便是重签名,只要拥有一个企业开发者账号,便可以利用其证书,对应用进行重签名,然后上传到蒲公英、fir等三方平台提供无限下载。由于企业开发者账号申请渠道已被苹果关闭,利用公司开发者账号进行重签名,采用testflight分发方式,也成为了一种选择,因其支持10000部安装设备,且是苹果官方渠道分发,稳定可靠,不少的应用采用了这种分发方式,也导致公司开发者账号的申请变得比较困难,testflight分发也有了审核流程。
一门技术催生了一个产业;现在一些个人或公司 专门利用重签名进行分发实现盈利,不在少数,技术也比较成熟,甚至形成了按月、按季收费,提供技术支持这样的产业链。一门技术产生的初衷,也许是为了解决某个棘手的问题,我们在认真学习其知识时,也要考虑其商业逻辑,为什么会有这门技术?它能解决什么问题?它能赚钱吗?
在证书领域,签名能保证信息的完整性没有被篡改过,不能保证它的机密性,为了防止中间人攻击,而有了CA机构,颁发证书这么一说。