iOS逆向重签名(二):IPA包重签名

2024-05-17 04:32
文章标签 ios 逆向 签名 ipa 包重

本文主要是介绍iOS逆向重签名(二):IPA包重签名,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录:

1. iOS逆向重签名(一):签名原理
2. iOS逆向重签名(二):IPA重签名
3. iOS逆向重签名(三):微信重签名

一、准备工作

1、解压ipa包

首先我们先从appstore下载一个ipa包,然后把这个包上传到蒲公英分发平台上,可以看出这是一个上架appstore的包。我们就用这个包来进行重签名实验,用另外一套证书进行重签名,生成一个adhoc的包。

在这里插入图片描述

选中ipa包,右键 -> 打开方式 -> 解压,如下图所示:

在这里插入图片描述

解压之后,会得到一个Payload的文件夹,里面包含一个xxx.app的文件,右键可以用"显示包含内容"的方式打开。

在这里插入图片描述

2、替换 embedded.mobileprovision文件

我们需要将自己打包中的embedded.mobileprovision文件替换掉目标ipa中的embedded.mobileprovision。

进入到目标ipa的文件目录下面,我们可以看到有一个embedded.mobileprovision文件,如下图所示:

在这里插入图片描述

找一个我们自己打包的ipa包,然后进行解压,进入到ipa的文件目录下,我们同样可以发现一个embedded.mobileprovision文件,如下图所示:

在这里插入图片描述

然后将我们自己的embedded.mobileprovision文件替换掉目标ipa文件中的embedded.mobileprovision。

3、生成授权文件(entitlements.plist)

1、将上一步的embedded.mobileprovision文件拷贝一份到Payload文件里面。如下图所示:

在这里插入图片描述

2、然后通过embedded.mobileprovision文件用命令行操作生成embedded_full.plist文件。

首先cd到Payload目录下面,通过“security”命令,从mobileprovision文件中生成一个完整的plist文件。

YuanCan:Payload ahdms$ security cms -D -i embedded.mobileprovision > entitlements_full.plist

在这里插入图片描述

3、然后通过embedded_full.plist文件用命令行操作生成embedded.plist文件。

YuanCan:Payload ahdms$ /usr/libexec/PlistBuddy -x -c 'Print:Entitlements'  entitlements_full.plist > entitlements.plist

在这里插入图片描述

二、重签名

需要进行重签名的主要包括两部分,整个的app文件和app文件里面的Framework。Framework文件夹下面的动态库都要进行重签名,否则安装之后会闪退。

1、动态库重签名

打开.app文件目录,文件里面有一个Framework的文件夹,里面包含了项目引用的所有动态库,(如果项目中没有使用任何动态库,当然就不会有这个文件夹,可以忽略此步骤),如下图所示:

在这里插入图片描述

重签名命令:$ codesign -f -s “Apple Developer: xxx (xxx)” xxx.framework

//首先要先cd到Frameworks的目录下面,然后在执行如下命令YuanCan:Frameworks ahdms$ codesign -f -s "Apple Distribution: Changsha xxx Information and Technology Co., Ltd. (xxx)" Hyphenate.frameworkHyphenate.framework: replacing existing signature //执行重签名命令之后,会给出这句提示,代表重签名成功
2、.app文件重签名

下面我们要进行app文件重签名,与动态库重签名不同的是,app文件重签名还需要加上授权文件。

重签名命令:$ codesign -f -s “Apple Developer: xxx (xxx)” --no-strict --entitlements=entitlements.plist xxx.app

//首先要先cd到Poyload的目录下面,然后在执行如下命令YuanCan:Payload ahdms$ codesign -f -s "Apple Distribution: Changsha xxx Information and Technology Co., Ltd. (xxx)" --no-strict --entitlements=entitlements.plist HelloWorld.appHelloWorld.app: replacing existing signature  //执行重签名命令之后,会给出这句提示,代表重签名成功
3、重新打包

重签名成功之后,我们需要将.app文件重新打包。进入Payload文件夹里面,把下面这三个文件删除掉。

在这里插入图片描述

将Payload文件压缩成zip的压缩包,然后将.zip改成.ipa,就重新生成了一个新的ipa包了。

在这里插入图片描述

我们来验证一下,是否真的重签名成功了。把Payloda.ipa包上传到蒲公英分发平台上,如下图所示:

在这里插入图片描述

现在变成了内存版本了,然后也可以直接安装到手机上。

如果你觉得本篇文章对你有用,请给小编一点鼓励,点赞或打赏,感谢。

这篇关于iOS逆向重签名(二):IPA包重签名的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/995463

相关文章

安卓链接正常显示,ios#符被转义%23导致链接访问404

原因分析: url中含有特殊字符 中文未编码 都有可能导致URL转换失败,所以需要对url编码处理  如下: guard let allowUrl = webUrl.addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed) else {return} 后面发现当url中有#号时,会被误伤转义为%23,导致链接无法访问

【iOS】MVC模式

MVC模式 MVC模式MVC模式demo MVC模式 MVC模式全称为model(模型)view(视图)controller(控制器),他分为三个不同的层分别负责不同的职责。 View:该层用于存放视图,该层中我们可以对页面及控件进行布局。Model:模型一般都拥有很好的可复用性,在该层中,我们可以统一管理一些数据。Controlller:该层充当一个CPU的功能,即该应用程序

Android逆向(反调,脱壳,过ssl证书脚本)

文章目录 总结 基础Android基础工具 定位关键代码页面activity定位数据包参数定位堆栈追踪 编写反调脱壳好用的脚本过ssl证书校验抓包反调的脚本打印堆栈bilibili反调的脚本 总结 暑假做了两个月的Android逆向,记录一下自己学到的东西。对于app渗透有了一些思路。 这两个月主要做的是代码分析,对于分析完后的持久化等没有学习。主要是如何反编译源码,如何找到

加减密签名

签名,验签的理解(转)图片理解数字签名和验签过程

转:android ro.debuggable属性调试修改(mprop逆向)

android ro属性调试修改(mprop逆向)      大家都知道如果需要调试android 的程序,以下两个条件满足一个就行。第一是apk的配置文件内的AndroidManifest.xml的 android:debuggable=”true”,第二就是/default.prop中ro.debuggable=1。两种方式第一种通常是解包添加属性再打包,随着加壳软件以及apk校验等,容易出

某里227逆向分析

声明: 该文章为学习使用,严禁用于商业用途和非法用途,违者后果自负,由此产生的一切后果均与作者无关。 本文章未经许可禁止转载,禁止任何修改后二次传播,擅自使用本文讲解的技术而导致的任何意外,作者均不负责,若有侵权,请联系作者立即删除! 前言 这次会简单的讲解阿里227版本滑块参数n的逆向分析流程以及简单的补环境,如果有疑问可以在评论区交流讨论,我看到会及时回复的,另外,有需要可联系我。 一

iOS剪贴板同步到Windows剪贴板(无需安装软件的方案)

摘要 剪贴板同步能够提高很多的效率,免去复制、发送、复制、粘贴的步骤,只需要在手机上复制,就可以直接在电脑上 ctrl+v 粘贴,这方面在 Apple 设备中是做的非常好的,Apple 设备之间的剪贴板同步功能(Universal Clipboard)确实非常方便,它可以在 iPhone、iPad 和 Mac 之间无缝传输剪贴板内容,从而大大提高工作效率。 但是,iPhone 如何和 Wind

iOS项目发布提交出现invalid code signing entitlements错误。

1、进入开发者账号,选择App IDs,找到自己项目对应的AppId,点击进去编辑, 2、看下错误提示出现  --Specifically, value "CVYZ6723728.*" for key "com.apple.developer.ubiquity-container-identifiers" in XX is not supported.-- 这样的错误提示 将ubiquity

我的第一次份实习工作-iOS实习生-第三个月

第三个月 这个月有一个考核项目,是一个电子书阅读器,组长说很重要,是我的实习考核项目。 我的项目XTReader,这是我参考网上的一些代码,和模仿咪咕阅读做的,功能还不完善,数据的部分是用聚合数据做的。要收费的。   还有阅读页面,基本功能实现了一下。使用了autolayout,自适应布局,也是第一次用网络,第一次用数据库,第一次用自动布局。还有很多不足。 做了一周多,有个问题一直没

我的第一次份实习工作-iOS实习生-公司使用过的软件

bittorrentsync 素材,文件同步软件 cornerstone svn 软件开发合作 mark man 测量坐标的软件 SQLLite Manager 数据库操作软件