iOS完美脱壳

这篇具有很好参考价值的文章主要介绍了iOS完美脱壳。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

iOS端IPA脱壳

背景:在软件安全领域中,我们与黑产做对抗时,不是被动防守,自己也可以做攻击方,来验证我方软件是否安全。

关于iOS端逆向分析如:虚拟定位、虚拟设备、修改内存等,始终离不开脱壳。脱壳是第一步,也是必要的一步,下面就说下如何脱壳。

一、什么是加壳

应用在上传App Store时,App Store会对应用进行加壳操作,就是利用加密算法对可执行文件的编码进行改变。经过App Store加密的应用,我们无法通过Hopper等反编译静态分析,也无法进行Class-Dump。

这里就要区分个人、企业不同账号打的安装包。个人账号打的包只能上传到App Store由苹果进行加签认证,在发布到App Store供用户下载。企业账号打的包是由企业密钥加签认证,不能发布到App Store。

有兴趣的可以解压一下IPA,如果解压出来里面没有embedded.mobileprovision文件文件说明是在App Store下载的,如果有embedded.mobileprovision文件文件说明是企业账号打的包。
如图:

iOS完美脱壳

这是因为苹果在加壳的过程中,不会产生embedded.mobileprovision文件。只有非苹果加壳的IPA才会产生embedded.mobileprovision文件。此文件的作用就是我们安装完成后,需要在设置-通用-设备管理(描述文件)里面认证,在App Store下载的则不要要认证。

iOS完美脱壳

二、什么是脱壳

在逆向分析过程中需要对加密的二进制文件进行解密才可以进行静态分析,这个过程就是脱壳。

脱壳出来的ipa文件是不可以安装的,报错:DeviceNoSupportedByThinning。

这个时候就需要二次签名打包才能安装;或者使用三方调试工具(MonkeyDev、yololib等)间接加载程序,达到使用效果。

脱完壳可以干什么?

1、我们知道同一包名(Bundle ID)在手机上只能安装一个,这样苹果手机就不能像Android那样做到多开。但是在IPA脱完壳后可以修改包名(Bundle ID),此时就可以安装相同的App了。

2、逆向分析App,向App注入自己的Framework,动态调试。

三、如何脱壳

摘掉壳程序,将加密的可执行文件还原出来
脱壳有两种方法:硬脱壳、动态脱壳

iOS完美脱壳
硬脱壳:需要知道Apple的私钥解密,要破解苹果加密算法难度还是很大的。

动态脱壳:我们知道在程序启动时系统会将下载的IPA加载到内存,再由壳程序对可执行程序解密,系统才能识别并执行。此时可以通过内存Dump将解密后的可执行程序保存下来。

四、动态脱壳

网上存在很多中脱壳方式,包括Clutchdumpdecryptedfrida-ios-dump等,这里只对frida-ios-dump方式介绍,亲历测试完美脱壳微信,美团等。

此外学会frida方便其他操作,内存修改、动态库注入、动态调试等。

感兴趣的同学可以尝试下其他方式。

五、frida-ios-dump

源码地址:GitHub

下载源码,目录介绍:

1、dump.py主要功能文件,可查询手机安装软件;程序脱壳;

2、requirements.txt需要的所有Python库。

5.1 安装Frida

PC端配置Frida环境

首先保证已安装Python3、pip3,然后执行

sudo pip3 install frida-tools

如果在安装过程中出现错误或异常,可升级下pip

python3 -m pip install --upgrade pip 

越狱手机配置Frida环境

5.1.1 如何越狱

自行下载爱思助手,一键越狱,简单方便。

5.1.2 安装iproxy

使用mac brew工具

brew install iproxy

然后运行iproxy命令,出现help则说明安装成功。

iOS完美脱壳

5.1.3 安装openssh

打开手机上的cydia,搜索OpenSSH,点击安装

iOS完美脱壳

验证:

确保手机与电脑在同一局域网内
ssh root@内网IP
密码:alpine

iOS完美脱壳

5.1.4. 安装frida

打开手机上的cydia,添加软件源,地址: https://build.frida.re
然后搜索:Frida,点击安装

iOS完美脱壳

验证

frida-ps -U

iOS完美脱壳

5.2 安装其他配置

进入刚下载的frida-ios-dump文件目录,执行:

pip3 install -r requirements.txt --upgrade

安装完成,验证

python3 dump.py -l

iOS完美脱壳

5.3 dump前准备

1、打开dump.py,并且修改里面的内容找到里面的这4行,分别输入你自己的用户名,密码,内网IP,端口。

确保手机与电脑在同一局域网内
User = 'root'
Password = 'alpine'
Host = '内网IP'
Port = 22
KeyFileName = None

2、启动要脱壳的APP,保证APP此时运行在内存。

5.4 脱壳

python3 dump.py 应用名或bundle id

iOS完美脱壳

等待1~2分钟(与IPA大小有关),成功以后会在dump.py文件所在目录生成一个ipa包。

使用otool工具查看,此时加壳状态为0

otool 文件 -l | grep crypt

iOS完美脱壳

恭喜你,脱壳完成!!!

六、后续

脱壳只是逆向中的前提,我们首先拿到脱壳的IPA,然后再通过静态或动态注入的方式对程序进行逆向分析、HOOK操作。

后面文章对脱壳后的ipa程序进行重打包。
《iOS重打包之MonkeyDev》
《iOS重打包之脚本替换》文章来源地址https://www.toymoban.com/news/detail-453149.html

到了这里,关于iOS完美脱壳的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Python + AI:完美抠图,更换背景

    翻看家里的老照片,发现一只小 dog,很趣致吧,这眼神汪汪地~ (背景是在厨房)。 有时候就想把某些照片里的人物或者主角抠出来,然后贴到喜欢的背景图里,比如你想自己制作一个 DIY 的头像。 虽然有很多 APP 或者小程序可以提供这类的功能,付费购买服务固然没问题,

    2024年02月01日
    浏览(39)
  • Hermit间谍软件“入侵”Android和iOS,你的手机还安全吗?

    根据谷歌威胁分析小组(TAG)(通过 TechCrunch )发布的研究,一个复杂的间谍软件活动正在获得互联网服务提供商(ISP)的帮助,以诱骗用户下载恶意应用程序。这证实了安全研究组织Lookout的早期发现,该组织将被称为Hermit的间谍软件与意大利间谍软件供应商RCS Labs联系起来

    2024年02月15日
    浏览(28)
  • ChatGPT正当时,让我们一起深耕智能内容生成和智能内容增强领域

    ChatGPT以其强大的信息整合和对话能力惊艳了全球,在自然语言处理上面表现出了惊人的能力。很多人都预测 2023 年将是 AI 生成之年,也许我们将迎来继农业革命、工业革命以来的第三种通用技术的普及。 信必优长期专注于 人工智能 领域,拥有 产品研发与测试 、 数据标注

    2023年04月18日
    浏览(39)
  • 关于导入unity图像背景是黑色的,将其完美变为透明的方法

    当你看到我这篇文章,相信你已经使用过网上其他的办法了,对!我尝试了以下方法也没有达到我想要的效果,所以我自己胡乱尝试了一下,结果就OK了。事先声明此方法可能不适用所有人,如果能帮到你我很荣幸。 网上其他的解决办法——大家也可以试试看 我这里以一张图

    2024年01月17日
    浏览(38)
  • 完美的背景图全屏css代码 – background-size:cover?

    写主题样式的时候经常会碰到用背景图铺满整个背景的需求,这里分享下使用方法 需要的效果 图片以背景的形式铺满整个屏幕,不留空白区域 保持图像的纵横比(图片不变形) 图片居中 不出现滚动条 多浏览器支持 以图片bg.jpg为例 方法一、 最简单,最高效的方法 CSS3.0 归

    2024年02月02日
    浏览(44)
  • ChatGPT探索系列之一:理解ChatGPT的背景和应用领域

    ChatGPT发展到目前,其实网上已经有大量资料了,博主做个收口,会出一个ChatGPT探索系列的文章,帮助大家深入了解ChatGPT的。整个系列文章会按照一下目标来完成: 理解ChatGPT的背景和应用领域; 学习GPT模型系列的发展历程和原理; 探究ChatGPT的训练、优化和应用方法; 分析

    2023年04月21日
    浏览(36)
  • iPhone 4 无shsh 完美降级 iOS 6

    你是否为自己升级iOS 7而后悔?😭😭 却没有备份shsh文件,强降总会睡死?🥲🥲 来看看iPhone 4降级iOS 6的方法👍👍👍 ⚠️此方法不需要任何shsh文件、不需要越狱,是无条件降级,没有降级次数限制!!! 1. iPhone 4一台 (不是4s)⚠️要求:如果你想完美降级到iOS 6,你的

    2024年02月07日
    浏览(36)
  • 非计算机科班背景者顺利转码计算机领域:策略与前景展望

    方向一:如何规划才能实现转码? 对于非计算机科班背景的人想要顺利转码进入计算机领域,规划是至关重要的。以下是一些建议,可以帮助你在转码过程中更加顺利: 自我评估和目标设定: 首先,你需要明确你的兴趣和目标。了解自己的优势和弱点,确定你想要追求的领

    2024年02月11日
    浏览(28)
  • 【iOS】设置背景渐变色

    主要负责iOS的绘图操作,程序会自动调用此方法进行绘图。我在这个函数中绘制渐变背景色。 -(void)drawRect:(CGRect)rect; 重写此方法,执行重绘任务 -(void)setNeedsDisplay; 标记为需要重绘,异步调用drawRect -(void)setNeedsDisplayInRect:(CGRect)rect; 标记为需要局部重绘 系统自动调用,在Contr

    2023年04月17日
    浏览(28)
  • iOS15-16绕过激活锁,屏幕锁完美隐藏工具老虎V4.5,支持最新iOS16.1.1系统

    老虎V4.5这是一款可以绕过激活锁、屏幕锁界面完美隐藏的工具,也可以解决手机或者平板无法激活的问题,支持最新的iOS16.1.1系统。 老虎V4.5新增一键紫萍抹除 目前支持的型号: 需要工程线 iPhone:SE16S6SP iPad Air2  (A1566 A1567) iPad Mini4  (A1538 A1550) iPad 5 2017  (A1822 A1823) iPad 

    2024年02月01日
    浏览(203)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包