iOS逆向必备绝技之ipa重签名

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.plist

cat 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 -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/

四、iOS重签名工具介绍:

五、参考资料地址:

此文仅供学习交流,转载请注明出处!

更多好文推荐,扫描下方的二维码,关注《iOS开发秘籍》
在这里插入图片描述

原文地址:
iOS逆向必备绝技之ipa重签名

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值