ios第三方ipa重签名以及xcode附加调试

先dump出ipa,解压出app然后查看是否加密(加壳),如图所示。
ios第三方ipa重签名以及xcode附加调试
0表示没有加密。
ios第三方ipa重签名以及xcode附加调试
打开包,查看有多少frameworks,因为这些全部要签名的。
ios第三方ipa重签名以及xcode附加调试
查看自己的证书信息。
security find-identity -v -p codesigning
ios第三方ipa重签名以及xcode附加调试
一个个签名。
codesign -fs "iPhone Developer:xxxxxxx" libswiftAVFoundation.dylib
ios第三方ipa重签名以及xcode附加调试
然后用xcode新创建一个项目生成。
ios第三方ipa重签名以及xcode附加调试
打开项目包。
拷贝描述文件到要重签名的app下面。
ios第三方ipa重签名以及xcode附加调试
ios第三方ipa重签名以及xcode附加调试
然后修改重新签名的id,为新创建的id。
ios第三方ipa重签名以及xcode附加调试
ios第三方ipa重签名以及xcode附加调试
ios第三方ipa重签名以及xcode附加调试
在刚刚的embedded.mobileprovision文件中提取权限plist文件。名称必须是entitlements.plist
因为这个文件是加密的所以要用工具看。

security cms -D -i /Users/haidragon/Library/Devcode/DerivedData/test_text-awscmazqxiqnebdunrgyqmtpejxx/Build/Products/Debug-iphoneos/test_text.app/embedded.mobileprovision 

ios第三方ipa重签名以及xcode附加调试
把下面这一段拷贝出来。
ios第三方ipa重签名以及xcode附加调试
我们可以借用xcode创建entitlements.plist,打开xcode创建plist文件。
ios第三方ipa重签名以及xcode附加调试
代码方式打开。
ios第三方ipa重签名以及xcode附加调试
拷贝
ios第三方ipa重签名以及xcode附加调试
一定要能这样查看,不行说明拷贝错了。
ios第三方ipa重签名以及xcode附加调试
还一个容易忘记的是查看二进制文件是否可以执行。不然 777修改它。
ios第三方ipa重签名以及xcode附加调试
最后一步是用plist文件签名app包。

 codesign -fs "iPhone Developer: xxxxxxx" --no-strict --entitlements entitlements.plist ./iRime.app

ios第三方ipa重签名以及xcode附加调试
查看签名信息。
codesign -d -vv ./iRime.app/
ios第三方ipa重签名以及xcode附加调试
最后是压缩成ipa包 刚刚plist文件不要一起打包。
zip -ry iRime.ipa Payload
ios第三方ipa重签名以及xcode附加调试
现在安装到手机上。同样借用xcode 也可以用其它工具,比如 ios-deploy
ios第三方ipa重签名以及xcode附加调试
添加ipa
ios第三方ipa重签名以及xcode附加调试
发现无法安装,还得把插件,Watch也得签名。然后重新签名打包。我这直接删除了。
ios第三方ipa重签名以及xcode附加调试
这样就可以了。
ios第三方ipa重签名以及xcode附加调试
然后可以xcode附加调试了。
ios第三方ipa重签名以及xcode附加调试

转载于:https://blog.51cto.com/haidragon/2406169

猜你喜欢

转载自blog.csdn.net/weixin_34297300/article/details/93088359