2018开篇,这回要讲的是ios重签名,网上重签名的工具太多了,我试用了一下,都还挺好使。但是,你不知道,我是个喜欢装逼的人吗?用工具怎么够酷呢?对,装逼得用终端。接下来的操作都是在终端中进行,开始你的装逼之旅吧!
一、重签名准备工作:
•找到开发者证书和配置文件:
列出所有开发者证书文件:
1
|
security find-identity -p codesigning -v |
•找一个开发环境配置文件生成entitlements.plist文件,后面签名要用到:
1
2
3
|
security cms -d -i xx.mobileprovision > profile.plist /usr/libexec/plistbuddy -x -c 'print :entitlements' profile.plist > entitlements.plist cat entitlements.plist |
•把准备好的开发环境配置文件复制到xx.app文件夹下:
1
|
cp xx.mobileprovision payload/xx.app/embedded.mobileprovision |
•修改包info.plist中的bundle identifier与配置文件中的bundle identifier保持一致:
1
|
/usr/libexec/plistbuddy -c "set :cfbundleidentifier com.xx.xx" payload/xx.app/info.plist |
•移除之前的签名文件夹:
1
|
rm -rf payload/xx.app/_codesignature |
二、ios重签名:
•重签名framework:
1
|
/usr/bin/codesign --force --sign 84a4b9f1f902462cc33d01e9ff72c1ba04a97653 --entitlements entitlements.plist /payload/xx.app/frameworks/jsonmodel.framework |
•重签名app执行文件:
1
|
/usr/bin/codesign --force --sign 84a4b9f1f902462cc33d01e9ff72c1ba04a97653 --entitlements entitlements.plist payload/xx.app/xx |
•查看app签名信息:
1
|
codesign -vv -d payload/xx.app |
注意:重签名有顺序,先把framework和dylib签名,最后再签名:xx.app/xx,顺序弄错了,就算签名成功也可能会安装失败!
三、调试和打包:
•ios-deploy 安装与调试:
1
|
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):
1
2
|
zip -qry ppdest.ipa payload rm -rf payload/ |
总结
以上所述是小编给大家介绍的ios中的ipa重签名(逆向必备),希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!
原文链接:http://www.yangshebing.com/