iOS App 重签名步骤

2021-04-22  本文已影响0人  glView

1.准备材料:

1、本机中可用于签名的证书,个人证书就可以了,以下简称SignA
    查询本机中可用于签名的证书,终端命令:security find-identity -v -p codesigning,效果如下,双引号内部的就是签名证书的名称,此处假设签名证书名称为"SignA

截屏2021-04-22 上午10.25.19.png
2、myzip软件
3、砸过壳的ipa包;此处使用的ipa包为"微信-7.0.8.ipa
4、用SignA签名可在真机运行的任意demoA

2.删除插件

1.使用myzip解压ipa,进入到Payload/WeChat.app/
2.删除PlugIns文件夹中的所有文件
3.删除Watch文件夹中的所有文件

3.重签名framework

进入到Payload/WeChat.app/Frameworks/文件夹,用SignA对Frameworks文件夹中的所有.framework重签名,终端命令:
codesign -fs "签名证书名称(SignA)" 文件名

4.真机信任证书

1.运行demoA,在设置-通用-设备管理-信任证书SignA即可

5.描述文件

1.demoA编译成功后,在demoA.app中会生成描述文件embedded.mobileprovision
2.将embedded.mobileprovision拷贝到Payload/WeChat.app/目录下
3.获取embedded.mobileprovision中的权限信息,终端命令:security cms -D -i embedded.mobileprovision
4.找到key为Entitlements对应的值,如下:

截屏2021-04-22 上午11.18.18.png

5.新建一个entitlements.plist文件,将图2中的内容复制到其中,并将entitlements.plist放到Payload文件夹中,与WeChat.app 同层级

6.Bundle identifier

进入到Payload/WeChat.app/文件夹,找到Info.plist,修改其中的Bundle identifier为demoABundle identifier的

7.重签名app

1.进入到Payload文件夹
2.重签名app,终端命令:codesign -fs "SignA(签名证书名)" --no-strict --entitlements=entitlements.plist(步骤5-5对应的权限文件名) WeChat.app(app名)
。出现replacing existing signature便代表签名成功

8.Xcode安装重签名后的app

Xcode -> Window -> Device And Simulators -> Devices -> INSTALLED APPS -> + -> open


截屏2021-04-22 上午11.42.16.png
上一篇下一篇

猜你喜欢

热点阅读