iOS APP重签名

作者: XPorter | 来源:发表于2016-09-22 16:04 被阅读3835次

这篇文章以目标为:
实现安装两个app,也就是修改info.plist中的Bundle identifier

对app重签名推荐使用iOS_resign_scripts,下载下来之后会有三个命令,对应不同的场景,接下里以第一个为例。

1.准备材料

开始之前需要准备:

  1. 有效的证书(可以在钥匙串中查找)

  2. mobileprovision 文件,可以在xcode中找一个有效的,
    右键 show in finder,将文件复制出来,重命名为embedded.mobileprovision,备用

    Paste_Image.png
  3. ipa包
    ipa包可以通过itunes下载,下载之后在这个路径下


    ipa
  4. 脱壳的二进制文件,decrypted文件,ipa脱壳看这里,脱壳得到的是一个.decrypted的文件,需要去掉后缀。

现在我们已经得到了所有想要的东西。

材料

如果你的二进制文件看起来跟我的不一样?没关系,只是权限问题,想改的话可以试试用修改下权限

chmod 777  WeChat

2.开始修改内容并重签名

既然想要安装两个同样的app,那就修改Bundle identifier,接下来的步骤就没什么好说的了

解压ipa -> 找到APP文件,右键显示包内容 -> 找到info.plist文件 -> 修改Bundle identifier

再将脱壳的二进制文件复制进来,替换原来的二进制文件。修改工作就做好了,可以签名了!

接下来用iOS_resign_scripts 进行重新签名。

$ ios_resign_from_app_to_ipa app-extracted $Developer_code_sign $mobileprovision $target_ipa_related_path

app-extracted 是个文件夹,可以直接把解压的到的文件夹重命名成app-extracted

$ ls app-extracted
META-INF             Payload              iTunesArtwork        iTunesMetadata.plist

签名完成之后会得到一个ipa文件,这个就是破解重签名的ipa了,可以用itools等工具进行安装测试。

这里会有一个问题,如果app中包含了扩展之类的东西就需要注意了,每个插件包里都会有一个info.plist文件,里面的Bundle identifier也需要做相应的修改,不然后导致安装失败。

另外即使改了所有相关的Bundle identifier,还需要对扩展插件进行砸壳才行。所以为了方便,我就把所有插件相关的东西都删了!

分享扩展 watch

再次打包重签名,安装测试。终于可以了!

成果

相关文章

  • 完善改写重签名Mac工具

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

  • 逆向学习笔记

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

  • iOS ipa重签名工具 - iOS App Signer

    iOS App Signer 是一款ipa重签名工具 。 iOS App Signer Github下载地址 iO...

  • iOS APP重签名

    当我们把AppStore上的App下载后,如一些视频应用,想看某个视频,但是发现这个视频又有广告,我们只能通过逆向...

  • iOS App重签名

    一、手动重签名: 我们将通过手动打包、手动安装的方式,把一个越狱的App安装到手机上。前提:下载一个越狱的ipa包...

  • iOS APP 重签名

    参考文章:https://objccn.io/issue-17-2/ 查看本地证书security find-id...

  • iOS APP重签名

    这篇文章以目标为:实现安装两个app,也就是修改info.plist中的Bundle identifier 对ap...

  • iOS APP 重签名

    一、APP签名原理 1、为什么要签名 先来看看苹果的签名机制是为了做什么。在 iOS 出来之前,在主流操作系统(M...

  • 工具篇

    必备工具 idapro:逆向工程师的生命 iOS App Signer:app重签名 MachOView:查看Ma...

  • iOS签名机制

    应用签名的原理iOS APP签名机制详解iOS逆向之旅(基础篇) — App的签名机制【Xcode是如何将App安...

网友评论

  • leftwater:多目标签名失败啊
  • 清辉_:Invalid Swift Support - The file libswiftAVFoundation.dylib doesn’t have the correct code signature. Make sure you’re using the correct signature, rebuild your app using the current public (GM) version of Xcode, and resubmit it. Don’t just modify the code signature of libswiftAVFoundation.dylib.
  • 留几分念想:问下楼主,有没有试过ios11系统下安装重新签名的包呢?
    留几分念想:@XPorter iOS11下好像不行了
    XPorter:最近没试过 有问题吗
  • 童星:如何修改微信这个 appname 呢?它是本地化的,无法直接在 plist 文件里修改,你有什么解决方案吗?
    童星:@XPorter :sweat: string 编译后的文件是 bplist 格式的,看都看不懂的,试过了笨方法就是用一个已经编译好的 string 去替换,然而很麻烦
    XPorter:你可以试试在本地化文件中找到对应的key,修改下value
  • 吃蘑菇De大灰狼:我重签名不实用这个方法,也可以,但是之前忘记改`info.plist`的文件的`Bundle identifier`了。难怪一直装不上,没想到还要签名Extention,谢谢分享了~
    yh8577:没有越狱不行吗?安装闪退
  • nonatomic:我按照你上面说的操作,删掉插件之后,报

    ls: _floatsignTemp/Payload/: No such file or directory
    find: _floatsignTemp/Payload/: No such file or directory
    Expected file does not exist: '_floatsignTemp/Payload//Info.plist'

    请问 为什么找不到这个路径啊
    XPorter:@haoyangde https://github.com/chenhengjie123/iOS_resign_scripts 你看下这个的用法
    nonatomic:@黑白灰_lve 最后一步
    XPorter:@haoyangde 哪一步的报错?

本文标题:iOS APP重签名

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