iOS重签名初探

iOS签名原理

截屏2021-06-09 下午8.26.47.png

如上图,iOS的app编译完后会有几次签名处理。具体原理自己去百度,这里不细说。因为Apple私钥只有苹果才有,所以mobileprovision文件我们是不可能修改的了,唯一能操作的就只有上图第一步了,可以修改App内容,然后用我们mac的私钥进行签名。然后替换对应的mobileprovision文件。

目标

修改ipa安装包内容或者一些配置,然后重签名,让它可以正常运行在非越狱的手机。

1、要重签名,可以拿原app的证书,p12私钥,这不可能拿到。所以这里可以用我们自己的证书,mobileprovision文件,我们mac有证书对应的p12私钥。

2、还有个问题,我们的mobileprovision的appid与app的不匹配。没关系,可以进到ipa包修改Info.plist的Bundle identifier,使之与我的mobileprovision的Bundle identifier匹配。

3、去哪里拿我的mobileprovision文件呢。可以随便编译一个项目,查看生成的app的包内容,里面有对应的mobileprovision文件。如下:
截屏2021-06-09 下午8.39.17.png

这里注意下,对于要重签名的ipa,也是进入到ipa的包内容,如上。用你的mobileprovision替换掉包里面的mobileprovision,然后修改那个Info.plist里面的bundle ID为你mobileprovision的bundle ID。

4、所有资料都准备了,如何重编译呢?
4.1、可以通过命令行(比较麻烦):


截屏2021-06-09 下午8.41.15.png

1、security cms -D -i embedded.mobileprovision > temp.plist
2、/usr/libexec/PlistBuddy -x -c 'Print:Entitlements' temp.plist > entitlements.plist

4.2、可以使用工具(推荐使用):


截屏2021-06-09 下午8.42.11.png

推荐使用第一款,打开后界面如下:


截屏2021-06-09 下午8.47.32.png

使用很简单,选中修改过的ipa,然后选择对应的证书就可以。Provisioning Profile选项可以默认,因为我们已经手动替换mobileprovision文件了。其他可以不写,直接start,就ok了。

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

相关阅读更多精彩内容

  • 一、APP签名原理 1、为什么要签名 先来看看苹果的签名机制是为了做什么。在 iOS 出来之前,在主流操作系统(M...
    枫叶情结阅读 5,292评论 3 11
  • 在了解代码重签名之前,可能我们需要先了解什么是代码签名. 一 什么是代码签名: 代码签名是指的对可执行文件进行数字...
    SharaYuki阅读 1,139评论 0 4
  • 1. 应用签名 应用签名原理回顾 上一篇博客“IOS 逆向开发(三)应用签名”中详细讲解了IOS 应用签名,证书的...
    孔雨露阅读 2,586评论 0 4
  • 表情是什么,我认为表情就是表现出来的情绪。表情可以传达很多信息。高兴了当然就笑了,难过就哭了。两者是相互影响密不可...
    Persistenc_6aea阅读 129,655评论 2 7
  • 16宿命:用概率思维提高你的胜算 以前的我是风险厌恶者,不喜欢去冒险,但是人生放弃了冒险,也就放弃了无数的可能。 ...
    yichen大刀阅读 7,828评论 0 4

友情链接更多精彩内容