1、準(zhǔn)備工作
- 1.1獲取破殼的ipa包
借助PP助手下載越獄的IPA包缕溉,一般的APP在上面都是有的考传。點(diǎn)擊下載可以找到對應(yīng)的ipa包。(小坑:本來連著手機(jī)证鸥,沒有下載兩個(gè)字伙菊,只有安裝。糾結(jié)半天敌土。镜硕。后來把手機(jī)退了就OK了)
- 1.2右鍵解壓出app文件,這里以微信為例
利用命令查看是否破殼 (codesign -vv -d 文件名)
$ codesign -vv -d WeChat.app
附加一張正版的執(zhí)行結(jié)果圖
- 1.3 查看可執(zhí)行文件的加密信息
cd到app文件里面
$ cd WeChat.app/
執(zhí)行命令
$ otool -l WeChat | grep crypt
cryptid==0越獄應(yīng)用 cryptid==1未越獄應(yīng)用 不可用!
- 1.4 開發(fā)者證書&描述文件
通過本地CSR證書獲取開發(fā)者證書返干,并安裝到鑰匙串(具體步驟就不演示了兴枯,自行百度)
執(zhí)行命令查看本機(jī)證書列表
$ security find-identity -v -p codesigning
隨便創(chuàng)建一個(gè)工程,選擇好證書之后矩欠,連接真機(jī)編譯财剖。
找到生成的app目錄,show in finder -->顯示包內(nèi)容(內(nèi)含描述文件)
2癌淮、進(jìn)入正題
- 2.1 刪除插件(在網(wǎng)上那些所謂的多開軟件都是將此刪除掉的)
右鍵顯示包內(nèi)容
將所有插件和watch.app刪除
-
2.2 對FrameWorks進(jìn)行簽名
對 .app文件中 Framework 文件夾中庫進(jìn)行重簽名,(沒有的跳過)
重簽名命令(codesign -fs "證書" 需要簽名的文件)
$ codesign -fs "iPhone Developer: xxx (4N7XH2PX6N)" xxx.framework
注:有幾個(gè)文件就要執(zhí)行幾遍躺坟,即對framework依次進(jìn)行重簽名!
下面是獲取證書名字的地方
- 2.3 給可執(zhí)行文件執(zhí)行權(quán)限
$ chmod +x WeChat
2.4 拷貝描述文件
將上面?zhèn)溆玫拿枋鑫募截惖絎eChat.app文件中乳蓄。2.5修改info.plist中的Bundle ID
將info.plist 文件中的Bundle ID拷貝咪橙,將WeChat中的info.plist中的Bundle ID替換2.6 生成plist權(quán)限文件
查看拷貝進(jìn)來的描述文件(security cms -D -i 描述文件名)
$ security cms -D -i embedded.mobileprovision
將權(quán)限文件復(fù)制,然后在xcode中生成一個(gè)plist文件虚倒,并復(fù)制到WeChat的同目錄下美侦。如圖
- 2.7 簽名整個(gè)APP!
$ codesign -fs "iPhone Developer: xxx (4N7XH2PX6N)" --no-strict --entitlements=lc.plist WeChat.app
- 2.8 生成ipa包(或者右擊直接改后綴為zip)
記得cd到上一級路徑(payload的上一級) 執(zhí)行命令(zip -ry 自定義名字.ipa Payload)
$ zip -ry WeChat.ipa Payload
最后通過Xcode或者其他方式將ipa包裝到自己手機(jī)就OK了魂奥。親測可用菠剩,手動簽名成功
注:很多地方需注意cd的路徑位置,沒有表明很清楚
第一次認(rèn)真的寫文章耻煤,想盡可能的寫詳細(xì)點(diǎn)具壮。