手动砸壳主要是了解下过程跟原理,以微信为例子
1. 获取砸壳后的ipa
参考iOS砸壳
2. 获取签名证书和entitlements权限文件
通过security find-identity -p codesigning -v
获取证书

新建一个工程,编译一下

show in finder


把这个embedded.mobileprovision拷贝出来,复制到解压出来的
微信.ipa -> Payload -> WeChat
里面
从embedded.mobileprovision文件中提取出entitlements.plist权限文件
security cms -D -i embedded.mobileprovision > temp.plist
/usr/libexec/PlistBuddy -x -c 'Print :Entitlements' temp.plist > entitlements.plist
把ipa包解压出来,进到Payload目录里面,将entitlements.plist放到里面

修改bunddle identifier

3. 对WeChat里面的Frameworks进行重签名
需要将PlugIns目录、Watch目录全部删除,这2个目录下免费开发者账号签不了

使用Xcode自带的 codesign进行重签名
codesign -fs A045DD673737AE67D691854647D3823D3DC18262 ConfSDK.framework

4.对WeChat.app包进行签名
codesign -fs A045DD673737AE67D691854647D3823D3DC18262 --entitlements entitlements.plist ~/Desktop/Payload/WeChat.app

5.打包成ipa包
zip -ry WeChat.ipa Payload/

6. 安装到手机
通过xocde安装到手机上
网友评论