2018開篇,這回要講的是iOS重簽名,網上重簽名的工具太多了,我試用了一下,都還挺好使。但是,你不知道,我是個喜歡裝逼的人嗎?用工具怎么夠酷呢?對,裝逼得用終端。接下來的操作都是在終端中進行,開始你的裝逼之旅吧!
一、重簽名準備工作:
•找到開發者證書和配置文件:
列出所有開發者證書文件:
security find-identity -p codesigning -v
•找一個開發環境配置文件生成entitlements.plist文件,后面簽名要用到:
security cms -D -i XX.mobileprovision > profile.plist/usr/libexec/PlistBuddy -x -c 'Print :Entitlements' profile.plist > entitlements.plistcat entitlements.plist
•把準備好的開發環境配置文件復制到XX.app文件夾下:
cp XX.mobileprovision Payload/XX.app/embedded.mobileprovision
•修改包Info.plist中的Bundle Identifier與配置文件中的Bundle Identifier保持一致:
/usr/libexec/PlistBuddy -c "Set :CFBundleIdentifier com.XX.XX" Payload/XX.app/Info.plist
•移除之前的簽名文件夾:
rm -rf Payload/XX.app/_CodeSignature
二、iOS重簽名:
•重簽名framework:
/usr/bin/codesign --force --sign 84A4B9F1F902462CC33D01E9FF72C1BA04A97653 --entitlements entitlements.plist /Payload/XX.app/Frameworks/JSONModel.framework
•重簽名app執行文件:
/usr/bin/codesign --force --sign 84A4B9F1F902462CC33D01E9FF72C1BA04A97653 --entitlements entitlements.plist Payload/XX.app/XX
•查看app簽名信息:
codesign -vv -d Payload/XX.app
注意:重簽名有順序,先把framework和dylib簽名,最后再簽名:XX.app/XX,順序弄錯了,就算簽名成功也可能會安裝失敗!
三、調試和打包:
•ios-deploy 安裝與調試:
ios-deploy -d -b Payload/XX.app
出現如下success字樣,就證明成功了!
過程中如果遇到錯誤提示:“Error 0xe8000067: There was an internal API error. AMDeviceSecureInstallApplication(0, device, url, options, install_callback, 0)”
錯誤原因:可能存在有framework或者dylib未簽名的情況。
解決方案:把app文件夾下面的framework全部簽名。
•打包(package):
zip -qry ppdest.ipa Payloadrm -rf Payload/
總結
以上所述是小編給大家介紹的iOS中的ipa重簽名(逆向必備),希望對大家有所幫助,如果大家有任何疑問歡迎給我留言,小編會及時回復大家的!
新聞熱點
疑難解答