iOS中的ipa重签名(逆向必备)
2019/7/9 22:45:11
本文主要是介绍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 安装与调试:
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重签名(逆向必备),希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!
这篇关于iOS中的ipa重签名(逆向必备)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-08-29Axios库资料:新手入门指南与基本使用教程
- 2024-03-14system bios shadowed
- 2024-03-14gabios
- 2024-02-07iOS应用提交上架的最新流程
- 2024-02-06打包 iOS 的 IPA 文件
- 2023-12-07uniapp打包iOS应用并通过审核:代码混淆的终极解决方案 ?
- 2023-11-25uniapp IOS从打包到上架流程(详细简单) 原创
- 2023-11-10【iOS开发】iOS App的加固保护原理:使用ipaguard混淆加固
- 2023-09-30最强大的iOS应用源码保护工具:Ipa Guard,保护你的商业机密代码
- 2023-09-07iOS安全加固探讨:代码混淆、类名方法名混淆等方法