美文网首页
iOS 重签名并修改内容

iOS 重签名并修改内容

作者: 树羽咕 | 来源:发表于2021-12-16 10:42 被阅读0次

注:此手段仅用于iOS开发技术交流,请勿用于商业及非法用途,如产生法律纠纷与本人无关。

作者最初研究这个的原因是,因为Xcode升级,出现了一些意想不到的bug,而排查、修复bug又太花时间,情况紧急。因为只需要替换地址和版本号,于是考虑采用更新旧安装包的方式。


需要准备的内容

  1. iOS安装包一个(ipa文件)
  2. 发布证书(导入在钥匙串中)
    一般自己开发的都会有吧
  3. 描述文件
    同上

原理

  1. ipa文件可以通过修改后缀名为zip解压,得到app的资源文件和一个可执行文件。

我们能修改的只有资源文件,比如plist,图片,多语言strings等,包括bundle里的资源文件。
如果是cordova项目有本地h5文件的,也可以替换(作者没有试过)
但是如果修改了里面的文件,再压缩改回去,这个安装包是没有办法安装的,因为签名验证不通过。

  1. 一般enterprise安装包和adhoc安装包在证书过期之后是需要重新打包/重签名的,过期的安装包重签名之后就可以重新使用了。

所以,我们可以通过修改资源文件,再将修改后的不可用的安装包通过重签名的方式使其可用
比如版本号,一般直接重签名的话,版本号是不会变的,但是有些分发平台要求新版本必须版本号+1(比如Air Watch),这样的话重签名的安装包是没有办法上传的。
而App版本号一般都放在Info.plist文件里,我们只需要修改这个文件里的版本号,重新压缩,改回ipa,再重签名,就能得到一个新版本的App了。

重签名工具(Github):iResign

关于App安全保护

鉴于以上操作可以修改App的资源文件,考虑安全的话,可以在打包前检测一下资源文件的md5,并将校验写到代码中,可以防止恶意修改,禁止启动app,甚至上报。
由于解压包可以查看资源文件,建议敏感信息(比如secret)不要直接放到资源文件里。

相关文章

  • iOS 重签名并修改内容

    注:此手段仅用于iOS开发技术交流,请勿用于商业及非法用途,如产生法律纠纷与本人无关。 作者最初研究这个的原因是,...

  • 使用xcode调试其他应用

    首先使用iOS App Signer重签名第三方应用并修改bundleId为你开发者账号已经存在的id。 新建工程...

  • 完善改写重签名Mac工具

    参考: iOS App 签名的原理 iOS企业重签名问题及经验 iOS重签名工具开发之路(介绍篇) ios-app...

  • iOS重签名

    重组 IPA (打包再签名) - 窥打包签名流程 iOS数字签名及ipa重签名 ipa重签名的四种方式 ios 企...

  • iOS应用重签名

    说到iOS重签,那么就应该了解iOS正常签名流程是什么,然后才能知道,我们重签名从哪几个地方入手。 iOS签名 代...

  • 逆向学习笔记

    重签名:iOS App 签名的原理--总结的非常细,一看就明白逆向学习笔记9——代码重签名ios-app-sign...

  • iOS开发逆向之应用重签名(上)

    本文主要介绍重签名的几种方式,以及如何对应用进行重签名, 应用重签名 从之前《iOS逆向应用签名》中可知,签名是指...

  • 【iOS开发】ipa 包修改及重签名

    iOS逆向 ipa包重签名

  • iOS自动打包脚本

    iOS自动打包脚本 iOS自动打包脚本,并实现图片素材、文字资源、部分代码的替换和重签名,基于python实现。 ...

  • APP手动重签

    APP的重签名是一个博弈的过程, 重签名的步骤随着Apple签名细节的修改也会有所改变对APP的重签名, 目前并不...

网友评论

      本文标题:iOS 重签名并修改内容

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