ipa签名对别人的应用重签名有啥用啊?
如果你有企业账号,可以拿这个签名卖钱啊,50-200元一次价格不等,详情淘宝去看看
应用重签名是破解别人app 的基础,如果你要搞逆向这个必须的会.
我不说,你懂的,装....
s1.在iTools中 右上角搜索你要找的app(手机要安装此app,连上手机),enter键,
会出现正在安装,安装完就可以导出ipa了!
Snip20160706_8.png
S2. 解压ipa安装包,可以右键直接以ZIP 打开
S3. 替换证书配置文件(文件名必须为embedded,不得自定义),embedded.mobileprovision来自于你打包上传到appstore之前的ipa,解包此ipa,里面有这个文件
cp embedded.mobileprovision Payload/olinone.app
S4. 重签名(certifierName为重签名证书文件名,可以加证书ID后缀)
certifierName="#你的Distribution证书名称#"codesign -f -s $certifierName --entitlements entitlements.plist Payload/olinone.app
S5. 打包ipa cd 到playgroud 目录下面
xcrun -sdk iphoneos PackageApplication -v FeiFan.app -o ~/FeiFan.ipa
s6,打包完丢到itool 里面安装
**很多人在重签名时会忽略第二步或者没有指定entitlements.plist,都会造成ipa包安装失败
装逼得用终端。接下来的操作都是在终端中进行,开始你的装逼之旅吧!
一、重签名准备工作:
•找到开发者证书和配置文件:
列出所有开发者证书文件:
security find-identity -p codesigning -v
•找一个开发环境配置文件生成entitlements.plist文件,后面签名要用到:
security cms -D -i XX.mobileprovision > profile.plist
/usr
bexec/PlistBuddy -x -c 'Print :Entitlements' profile.plist > entitlements.plist
cat entitlements.plist
•把准备好的开发环境配置文件复制到XX.app文件夹下:
cp XX.mobileprovision Payload/XX.app/embedded.mobileprovision
•修改包Info.plist中的Bundle Identifier与配置文件中的Bundle Identifier保持一致:
/usr
bexec/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 Payload
rm -rf Payload/