看场电影

无越狱iphone安装多个同样应用的方法(一)

2018-05-22  本文已影响83人  struggle3g

引言

在工作之余,有人问想要安装多个某信、其他App 怎么办?
这个时候我的思想是:我凑 这都找我
不假思索的说:“越狱啊”
某人:“不想越狱”
“不想越狱你还想装多个App?”
某人:“是的”
“额,你想干嘛?”(其实心里没底,我也不清楚,但是装逼还是要全套的)
某人:“我业务多,比方说某信账号工作的时候一个、生活一个、玩有一个、行业交流有一个、还有一些其他账号”
....
不要爬来来来正题

正文

根据上一篇文章探究IPhone怎么验证App合法、开发怎么验证? , 自己重新签名App达到安装多个同样的App的目的,因为在IPhone中Bundle identifier这个标示(appleid)决定了你的app的标示唯一,so修改Bundle identifier重新将App打包成Bundle identifier、证书等就可以实现App多个安装,实际上是骗过Apple,这个不再是一样的app,目的达到 实现多开。

手动签名的方式

准备操作

分析包文件

一、查看App的签名的信息:

codesign -vv -d 路径/WeChat.app

二、列出我们所有的证书

security find-identity -v -p codesigning

三、越狱的App与正版的App有什么区别?

otool -l WeChat | grep crypt

手动重签名操作

一、目标文件


我们将要对WeChat进行重签名:

  1. 我们个人免费证书没法对Plugins里面的内容进行重签名,所以只能干掉
    干掉Plugins文件里面的内容


  2. watch文件干掉(因为里面也有Plugins,并且我们对于这个App也没用)
  3. 对Frameworks里面的动态库
    • 通过下面命令进行依次签名
   codesign -fs "你的证书"  签名的文件
  1. 给可执行文件可执行的权限,在App中可以看到WeChat是白色的不可执行
chmod +x WeChat
  1. 新建一个项目,build拿到release版本的App中的embedded.mobileprovision文件直接拷贝到我们刚才修改的越狱包里面
  2. 修改Info.plist中的Bundle identifier!越狱App的替换成新建项目的!
  3. 在越狱App中查看复制过去的embedded.mobileprovision的权限
security cms -D -i embedded.mobileprovision

将权限copy出来生成一个plist文件


  1. 签名整个App
codesign -fs "证书" --no-strict --entitlements=权限文件plist 你的应用.app

二用Xcode安装签名后的App

步骤

  1. 打包ipa 在*.app文件夹下
zip -ry WeChat.ipa Payload
  1. Xcode command + shift + 2找到我们的真机设备

结果

上一篇 下一篇

猜你喜欢

热点阅读