这篇文章以目标为:
实现安装两个app,也就是修改info.plist中的Bundle identifier
对app重签名推荐使用iOS_resign_scripts,下载下来之后会有三个命令,对应不同的场景,接下里以第一个为例。
1.准备材料
开始之前需要准备:
-
有效的证书(可以在钥匙串中查找)
-
mobileprovision 文件,可以在xcode中找一个有效的,
右键show in finder
,将文件复制出来,重命名为embedded.mobileprovision
,备用
Paste_Image.png
-
ipa包
ipa包可以通过itunes下载,下载之后在这个路径下
ipa
-
脱壳的二进制文件,
decrypted
文件,ipa脱壳看这里,脱壳得到的是一个.decrypted
的文件,需要去掉后缀。
现在我们已经得到了所有想要的东西。

如果你的二进制文件看起来跟我的不一样?没关系,只是权限问题,想改的话可以试试用修改下权限
chmod 777 WeChat
2.开始修改内容并重签名
既然想要安装两个同样的app,那就修改Bundle identifier,接下来的步骤就没什么好说的了
解压ipa -> 找到APP文件,右键显示包内容 -> 找到info.plist文件 -> 修改Bundle identifier
再将脱壳的二进制文件复制进来,替换原来的二进制文件。修改工作就做好了,可以签名了!
接下来用iOS_resign_scripts 进行重新签名。
$ ios_resign_from_app_to_ipa app-extracted $Developer_code_sign $mobileprovision $target_ipa_related_path
app-extracted 是个文件夹,可以直接把解压的到的文件夹重命名成app-extracted
$ ls app-extracted
META-INF Payload iTunesArtwork iTunesMetadata.plist
签名完成之后会得到一个ipa文件,这个就是破解重签名的ipa了,可以用itools等工具进行安装测试。
这里会有一个问题,如果app中包含了扩展之类的东西就需要注意了,每个插件包里都会有一个info.plist文件,里面的Bundle identifier
也需要做相应的修改,不然后导致安装失败。
另外即使改了所有相关的Bundle identifier
,还需要对扩展插件进行砸壳才行。所以为了方便,我就把所有插件相关的东西都删了!


再次打包重签名,安装测试。终于可以了!

网友评论
ls: _floatsignTemp/Payload/: No such file or directory
find: _floatsignTemp/Payload/: No such file or directory
Expected file does not exist: '_floatsignTemp/Payload//Info.plist'
请问 为什么找不到这个路径啊