iOS 重签名

    1. 准备
    • 1.1 获取一个破壳的 ipa 包
      可以通过 pp 助手下载现成的破壳 app, 我下载的 QQ 音乐.

      pp.png

      将 ipa 包中的 .app 文件 Copy 出来备用, 查看 .app 包是否被破壳:

       $ codesign -vv -d QQMusic.app
      
      codesign.png

查看 .app文件的加密状态, crypt==0可用! crypt==1, 未解密, 不可用!

   $ otool -l QQMusic | grep crypt
crypt.png
  • 1.2 Appledeveloper 开发者证书
    通过本地 CSR 从Appledeveloper 网站申请开发者证书, 安装到钥匙串.


    cer.png

    查看本地证书列表, 复制名称, 备用

    $ security find-identity -v -p codesigning
    
    cerlist.png
  • 1.2 描述文件(.provision profile)
    新建一个 xcode 工程, 编译后会在 app 包里生成一个.mobileprovision文件, 直接 copy 到跟.ipa 同级目录下.

    prov.png

    1. 配置
    • 2.1 删除插件
      .app中的插件全部删除

      plugin.png
      watch.png

    • 2.2 对 .framework 进行重签名
      如果 .app中有 Framework 文件夹, 需要对其中库进行重签名(QQ音乐没有)

      $ codesign -fs "iPhone Developer: xxx (J5HYSJ3F78)"  xxx.framework
      
    • 2.3 修改可执行文件为可执行

      $ chmod +x qqMusic
      
    exec.png
    • 2.4 配置描述文件
      查看本地描述文件信息:

      $ security cms -D -i embedded.mobileprovision
      
provision.png

将签名信息 copy, 生成一个 .plist 文件, 让后将.plist文件 Copy 到 .app 同级目录下.

plist.png

描述.png

  • 2.5 修改 bundleID
    .appInfo.plist文件中的 bundleid 与新建的 xcode 项目Info.plist文件中对应的bundleid设置成相同值.

  • 2.6 开始签名

$  codesign -fs "iPhone Developer: xxx (J5HYSJ3F78)" --no-strict --entitlements=em.plist QQMusic.app
sign.png
  • 2.7 生成 .ipa 包, 安装测试

亲测, 手动重签名成功, 🍺🍺🍺!!!

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 前言 由于最近做面向企业的SDK,经常会跟其它企业合作,公司同步需要测试他们的ipa包来验收功能,而好多公司并没有...
    he15his阅读 9,348评论 8 24
  • 一.理解iOS签名机制 网上有很多资料,这里不展开细说,重点参考这三篇文章: https://www.objccn...
    huig游影阅读 1,097评论 0 1
  • 一.理解iOS签名机制 网上有很多资料,这里不展开细说,重点参考这三篇文章: https://www.objccn...
    huig游影阅读 1,282评论 0 0
  • 文/Nichole 文学/情感 吃完饭慵懒地看着电视,杨先森在旁边做运动。 杨先森:北鼻吃西瓜不? 我:这取决于是...
    翁萍阅读 159评论 0 0
  • 宝宝,不到一周我们就要见面了,爸爸刚跟妈妈打完电话,现在躺在被窝里用手机给你写一封信。 全家人都在期待你的到来,看...
    纤蹄马阅读 340评论 1 2

友情链接更多精彩内容