ipa基于Codesign命令重签

ipa基于Codesign命令重签


1、解压ipa文件

$unzip arashi_0630.ipa
1.png

2、查看文件

$cd Payload

3、显示包内容,查看目录结构

3.png

4、查看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: [email protected] (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: [email protected] (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

15、安装新的ipa文件

你可能感兴趣的:(ipa基于Codesign命令重签)