重簽名
破解后的APP如何安裝到其他非越獄手機(jī)上?
準(zhǔn)備一個(gè)embedded.mobileprovision文件(必須是付費(fèi)證書(shū)產(chǎn)生的,appid,device一定要匹配),并放入app包中
可以通過(guò)Xcode自動(dòng)生成,然后在編譯后的app包中找到;可以去開(kāi)發(fā)者證書(shū)網(wǎng)站生成下載。
從embedded.mobileprovision文件中提取出entitlements.plist權(quán)限文件。
security?cms?-D?-i?embedded.mobileprovision?>?temp.plist/usr/libexec/PlistBuddy -x -c?'Print :Entitlements' temp.plist >?entitlements.plist
br查看可用的證書(shū)
security?find-identity -v -p codesigning對(duì).app內(nèi)部的動(dòng)態(tài)庫(kù)、AppExtension等進(jìn)行簽名
codesign?-fs?證書(shū)ID?xxx.dylib對(duì).app包進(jìn)行簽名
codesign -fs 證書(shū)ID --entitlements entitlements.plist xxx.app
眾所周知,蘋(píng)果的分發(fā)渠道只有appstore,而且審核尤其嚴(yán)格,蠻多App因不符合其審核規(guī)則,導(dǎo)致不允許上架,延期審核等。比如,一些棋牌類(lèi)、視頻交友類(lèi)的App,但由于iOS用戶(hù)的轉(zhuǎn)化比較高,甚至占有大部分營(yíng)收,導(dǎo)致開(kāi)發(fā)商不可能放棄這塊用戶(hù)群體,迫不得已尋找其他辦法,于是類(lèi)似企業(yè)簽、超級(jí)簽、TF簽便成為了開(kāi)發(fā)商選擇的對(duì)象。這背后的原理,便是重簽名,只要擁有一個(gè)企業(yè)開(kāi)發(fā)者賬號(hào),便可以利用其證書(shū),對(duì)應(yīng)用進(jìn)行重簽名,然后上傳到蒲公英、fir等三方平臺(tái)提供無(wú)限下載。由于企業(yè)開(kāi)發(fā)者賬號(hào)申請(qǐng)渠道已被蘋(píng)果關(guān)閉,利用公司開(kāi)發(fā)者賬號(hào)進(jìn)行重簽名,采用testflight分發(fā)方式,也成為了一種選擇,因其支持10000部安裝設(shè)備,且是蘋(píng)果官方渠道分發(fā),穩(wěn)定可靠,不少的應(yīng)用采用了這種分發(fā)方式,也導(dǎo)致公司開(kāi)發(fā)者賬號(hào)的申請(qǐng)變得比較困難,testflight分發(fā)也有了審核流程。

一門(mén)技術(shù)催生了一個(gè)產(chǎn)業(yè);現(xiàn)在一些個(gè)人或公司 專(zhuān)門(mén)利用重簽名進(jìn)行分發(fā)實(shí)現(xiàn)盈利,不在少數(shù),技術(shù)也比較成熟,甚至形成了按月、按季收費(fèi),提供技術(shù)支持這樣的產(chǎn)業(yè)鏈。一門(mén)技術(shù)產(chǎn)生的初衷,也許是為了解決某個(gè)棘手的問(wèn)題,我們?cè)谡J(rèn)真學(xué)習(xí)其知識(shí)時(shí),也要考慮其商業(yè)邏輯,為什么會(huì)有這門(mén)技術(shù)?它能解決什么問(wèn)題?它能賺錢(qián)嗎?
在證書(shū)領(lǐng)域,簽名能保證信息的完整性沒(méi)有被篡改過(guò),不能保證它的機(jī)密性,為了防止中間人攻擊,而有了CA機(jī)構(gòu),頒發(fā)證書(shū)這么一說(shuō)。
