ipa基于Codesign命令重签
1、解压ipa文件
$unzip arashi_0630.ipa
1.png
2、查看文件
$cd Payload
3、显示包内容,查看目录结构
3.png4、查看xxx.app文件
$cd arashi_0630.app
5、检查app文件是否加壳,如加壳需要进行脱壳处理
$otool -l arashi_0630 | grep crypt
5.png
cryptid 0:没有加密,非0代表加密,1用的某一种加密方式,为标示而已
5-2.png如果有两个 cryptid 0 表示含有两种架构,也叫胖二进制,可以拆分,
$file arashi_0630
5-3.png
6、干掉不能签名的东西【Pluglns】三方的,签不了,直接可以删除
7、需要重签的列表【Frameworks】
$cd Frameworks
$security find-identity -v -p codesigning
$codesign -fs "Apple Development: lixxxxxxx@163.com (373XXXXSRG)" IMSThingCapability.framework
7-2.png
7-3.png
8、拷贝描述文件
9、修改需要签名文件夹里面的Info.plist文件
10、查看描述文件,将entitlements拷贝出来
$security cms -D -i embedded.mobileprovision
10.png
11、重签
$cd Payload
$codesign -fs "Apple Development: linxxxx@163.com (373MXXXSRG)" --no-strict --entitlements=entitlements.plist arashi_0630.app
11.png
12、验签
$codesign -d -vv arashi_0630.app
12.png
13、app文件无法直接安装到手机,我们手机安装需要的是ipa,先将entitlements.plist 文件和.app拆分,
14、压缩成ipa文件,
$zip -ry arashi_0630.ipa Payload
14.png
网友评论