iOS应用重签名

作者: 涵元 | 来源:发表于2016-12-30 20:30 被阅读4163次

    网上关于签名的脚本有很多,我找了个本人觉得比较好用的脚步iOS_resign_scripts,下载脚步里面有三个脚本文件,这里我只用了 ios_resign_from_app_to_ipa 这个脚步就可以达到我的目的了。

    一、基础环境准备

    1.准备需要重签名的IPA包

    打开itunes 下载一个最新版本的微信ipa包,然后拷贝出来备用

    看图1:


    itunes.png

    2. 准备 mobileprovision文件
    mobileprovision 文件干嘛的,怎么创建这里就不详细说明了,搞iOS开发的都懂😏 这里将mobileprovision文件重命名 embedded.mobileprovision

    看图2:


    mobileprovision.png

    3.准备 Developer_code_sign

    找到步骤2中mobileprovision文件对应的证书,格式类似 iPhone Distribution: xxxx. (xxxxx) 搞iOS开发的都懂🤓,不懂是不是应该去找原因了🙄

    看图3:

    证书.png

    4.已经脱壳的二进制decrypted文件

    ipa脱壳也称砸壳,如何脱壳看这里不再解释了,微信砸壳会得到一个WeChat.decrypted文件, 重命名为WeChat,打开终端,输入 chmod 777 ,然后把 WeChat拖到终端上按回车 修改下权限。

    看图4:

    文件目录.png

    二、开始操刀修改文件,重签名

    搞iOS开发的都知道,在iOS系统上是通过 Bundle identifier 标识 APP 的唯一性的,那么要想在一个手机上装两个微信呢改下Bundle identifier 就可以实现了。

    1.解压ipa
    打开终端,cd 进入 图4所在目录,然后 运行命令:

     unzip WeChat_6.5.2.ipa -d WeChat_6.5.2_unzip
    

    图5:


    解压ipa.png

    图6:


    解压成功.png

    图7:


    解压的文件目录结构.png

    2.替换砸壳了的WeChat二进制文件

    图8:


    Snip20161229_21.png

    图9:

    Snip20161229_22.png

    3.修改 Bundle identifier

    找到 包内容的info.plist 文件,修改 Bundle identifier
    图10:


    Snip20161229_26.png

    Xcode 打开编辑修改 Bundle identifier 的内容
    图11:

    Snip20161229_25.png

    4.删除微信包里面的扩展插件(PS 目前没找到好的办法签名他们,所以暴力删除它们)

    图12:

    Snip20161229_23.png

    5.运行脚本,开始签名了,打开终端,cd 进入 图4所在目录,运行

    sh ios_resign_from_app_to_ipa WeChat_6.5.2_unzip "iPhone Distribution: xxxx xx., xx. (xxx)" embedded.mobileprovision WeChat_6.5.2-resig.ipa
    

    图13:

    Snip20161229_28.png

    签名成功:
    图14:


    Snip20161229_29.png

    图15:

    Snip20161229_30.png

    6.双击itunes 打开安装,测试打开不闪退。
    图16.

    IMG_1818.PNG

    相关文章

      网友评论

      • 演讲与写作:这个叫:
        威武霸气,
        霸气侧漏,
        侧漏满地,
        满地才华。
      • c03b04f6abd9:楼主,请教个问题,将一个ipa重签名,Bundle identifier可以不变吗?如何让app运行的时候知道自己是否被重新签名过呢?
      • 退役程序猿:签名重新打包之后安装不上DevicenotsupportedByt
      • d551c712efbe:重签名之后无法安装
        使用的和博主一样的那个脚本
        修改了BundID
      • MoMo鲸:我这边不行 按照步骤来的 作者能不能发一个ipa的包给我?
        MoMo鲸:@涵元 先看了很多人的重签名 我越狱的机可以装的上 不越狱的机在安装应用的时候就会失败
        涵元:发给你没用的按步骤来是可以的
      • Gawain__:mac10.12.3解压之后重签名失败 Bundle identifier都没改就不能签名了
      • Caolongs:直接从PP助手里下载的越狱应用可以直接替代砸壳么 ?
        涵元:没试过,理论上是不用砸的
      • 浅夏旧时光:重签名之后改cfdisplayName,不生效,有没有解决方案啊
        涵元:@浅夏旧时光 按我说的去做,我试过得
        浅夏旧时光:@涵元 加密了啊
        涵元:@浅夏旧时光 使用PlistEdit Pro 改下WeChat.app --> zh_CN.lproj --> InfoPlist.strings 文件的相关字符属性

      本文标题:iOS应用重签名

      本文链接:https://www.haomeiwen.com/subject/mrmpvttx.html