iOS逆向-ipa包重签名及非越狱手机安装多个微信

前一段时间学了点儿逆向相关的一些东西,但是都是基于越狱手机上的操作,给视频类应用去广告之类的。随着苹果生态圈的逐渐完善、及苹果对自身系统的保护越来越严格,导致现在的iPhone手机并不像以前那样存在大量的越狱用户。

前段时间我自己申请了个微信小号,申请小号的目的就是原来微信号好友中乱七八糟的人实在太多,感觉自己的朋友圈都是一些无关紧要的垃圾信息,曾经关闭了一段时间的朋友圈,但是最近遇到了好多技术上很强的同行,还想了解大佬们的动态。于是我就想着申请了个小号,但是麻烦来了,iPhone手机并不像安卓手机那样存在着微信多开之类的应用,将自己手机越狱吧成本太高,于是就想着通过技术手段安装多个微信,下面步入正题:

为什么要重签名

其实我们平时开发的App,程序运行主要就是加载一个Mach-o可执行文件。当我们将程序打包成ipa文件,上传到App Store的时候,期间就是进行了一些加壳操作,比如:数字证书签名等。重签名的目的就是将别人的程序重新签上我们的证书信息。也可以简单理解为将别人的加密文件解密,加上我们自己的加密算法。

逆向当中的一些专业术语

  • 加壳:利用特殊算法(iOS中数字证书),对可执行文件的编码进行改变,以达到保护程序代码的目的
  • 脱壳:摘掉壳程序,将未加密的可执行文件Mach-o还原出来

查看应用是否加壳

将下载好的ipa包解压缩之后,拿到里面的Mach-o文件,cd到所在目录,执行如下命令:

otool -l 可执行文件路径 | grep crypt

其中cryptid代码是否加壳,1代表加壳,0代表已脱壳。我们发现打印了两遍,其实代表着该可执行文件支持两种架构armv7arm64.

查看应用支持哪种架构

终端下执行如下命令查看架构信息

lipo -info 文件路径

除了查看架构信息,还可以利用该指令导出某种特定架构、合并多种架构:

  • 导出特定架构
lipo 文件路径 -thin 架构类型 -output 输出文件路径
  • 合并多种架构
lipo 文件路径1 文件路径2 -output 输出文件路径

怎么给应用脱壳

给应用脱壳有两种途径:

  • 一、直接从一些第三方应用商店里面下载你想脱壳的应用,例如:PP助手iTools
  • 二、自己脱壳,利用GitHub上开源的一些工具,常用的有Clutchdumdecrypted。具体如何使用,请自行Google

前期准备工作:

  • 一台iPhone,越不越狱都行
  • 开发者证书或者企业证书(个人账号也行,但是应用安装上之后,有效期只有7天)
  • 电脑安装 iOS App Signer

其实重签名的方式有很多,比如:可以利用sigh resign命令,在终端下操作,还可以借助一些逆向相关的重签名工具,本文采用iOS App Signer

了解以上基本概念之后,下面正式开始史上最详细的重签名过程,以微信为例:

第一步:准备好脱壳后的微信App

我是直接从PP助手上下载的,感兴趣的可以自己手动脱壳

第二步:将对用的ipa文件解压,修改一些东西

注意:个人证书不能重签Extension文件,所以要删除ipa包中包含的相应文件,包括Watch里面的Extension,为了方便一般直接将Watch文件删除:

第三步:利用iOS App Signer给微信重签名

  • 第一项:对应的.ipa或者.app路径
  • 第二项:我们自己的签名证书
  • 第三项:证书对应的Profile文件,默认项Re-Sign Only是无效的,选择证书下存在的Profile文件)
  • 第四项:重签名之后的Bundle identifier(选择了Profile文件,一般会自动填写)
  • 下面几项可以随便写

签名完毕之后对应的文件夹下会生成重签名之后的ipa

注意:利用iOS App Signer重签名,在删除掉相应的Extension,选择路径的时候,一定要选择Payload文件夹下对应的.app文件,否则会报找不到Payload文件夹的错误:

安装重签名之后的微信

可以用PP助手安装,也可以用Xcode安装,我采用Xocde安装:

不出意外地话,第二个微信就成功的安装到了你的手机上。如果装不上的话,基本上大部分原因就是证书不对。。。

最终效果

多个证书可以多次重新签名,安装多个相同的应用

这篇文章图有点儿多。。。。。

注意:重签名方式安装的微信,是对微信APP的一种破解,会被官方认定为非安全软件,有被封号的危险。但是这种方式对破解各种其他软件都是有用的,利用逆向相关的知识,我们可以利用这种知识做很多我们想做的事儿!!!(不要做非法的事情哈!)

总结

过程其实很简单,我始终认为借助一些工具能完成的东西,都是很简单的,因为不需要敲代码。总算给自己iPhone装上了多个微信,原来还打算买个安卓手机呢,哈哈,给自己省了一大笔钱。。。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏IMWeb前端团队

flash直播

本文作者:IMWeb ninawu 原文出处:IMWeb社区 未经同意,禁止转载 接触了一段时间的flash直播,无论是腾讯课堂‘数据生成模式’实现的...

5175
来自专栏程序猿DD

阿里巴巴硅谷 Istio 专家解读Istio 1.0 发布

Istio 1.0 于北京时间8月1日0点正式发布!虽然比原本官网公布的发布时间晚了9个小时,但这并未影响到Istio在社区的热度。

1703
来自专栏FreeBuf

那些年我们“投(shua)”过的票

最近朋友圈中时不时有人要帮忙投个票啥的,又想起N年前,那时候刚开始学习渗透测试,并且自学java的时候,为了学习代码的同时能够更好的用于实战,想找一些事来做一做...

2458
来自专栏FreeBuf

最受欢迎的14款渗透测试工具

就像任何事物都有两面,黑客既可以进行恶意的攻击破坏,同样也可以通过利用自己的技术去找到系统的漏洞、缺陷等,然后通知相关企业进行修复已获得更好的防护。 但无论是出...

23710
来自专栏Debian社区

FreeBSD 11.1 正式版发布 类Unix操作系统

FreeBSD 11.1 正式版发布了。FreeBSD是类UNIX操作系统,它基于加州伯克利大学的“4.4BSD-Lite”发行并带有一些“4.4BSD-Lit...

1112
来自专栏FreeBuf

走进科学:对七夕“超级病毒”XX神器的逆向分析

首先给各位无良媒体记者跪了。七夕那天刚从公司拿到样本的时候还以为是主管随便到网上扒了个木马demo给我练手,第二天看新闻才知道这小玩具已经搞得满城风雨,媒体竟然...

1935
来自专栏菩提树下的杨过

Flash/Flex学习笔记(7):FMS3.5基于IIS的安装

一般来讲,在windows上安装软件从来都不是什么难事儿,但FMS却在安装过程中"充满"了误导(好吧,其实也就是夸张的说法而已) 1.下载FMS3.5 http...

2346
来自专栏FreeBuf

黑了记者:写个恶意软件玩玩(二)

该篇是3篇系列中的第2篇(可在此读第1篇 http://www.freebuf.com/articles/others-articles/34277.html)...

2059
来自专栏FreeBuf

地方商业银行APP安全性分析

0x00、业务需求 国内133家地方商业银行作为商业领域国外IT厂商和商家必争之地,无论是IT基础设施建设、容灾备份系统建设、还是信息安全建设等,各家银行都做的...

2986
来自专栏py+selenium

业务逻辑漏洞个人经验集锦【不定时更新~】

  测试点1:生效日期能否改为当前时间之前。(假设你买的是车祸险,昨天出了车祸,今天买保险,把时间改成前天或昨天,那不就保险生效了……)

2631

扫码关注云+社区

领取腾讯云代金券