关于iOS中的ipa重签名仅限于mac系统的流程

本文共有1823个字。 # / a

系统:Macos11.0.1
环境:Terminal
再次申明社群提供免费的重签名工具只为方便广大开发者网友,下面介绍mac纯手工Terminal重签名方式,逻辑完全一致,只是方便和繁琐的问题,如果你采用本贴提供的一键重签工具,可以省去你很多麻烦事,当然如果你没有Mac此本章对你可能没用,你可以尝试使用我们顶部导航的重签工具,跨平台使用(mac、iphone、windows)均可使用,实现了多平台一键重签的所有繁琐事务
一、重签名准备工作:

•找到开发者证书和配置文件:

列出所有开发者证书文件:

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 安装与调试:

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中的ipa重签名(逆向必备),希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!

版权声明:本文来源自网络,经修正后供个人鉴赏、娱乐,如若侵犯了您的版权,请及时联系我们进行删除!

暂时无法评论哦~

暂无评论