windows下的iOS砸壳与ipa分析

embedded/2024/9/25 5:46:45/

点击上方蓝字[协议分析与还原]关注我们


 介绍如何在windows下进行iOS砸壳和对ipa进行分析。

iOS系统为了保护应用的安全,会对应用进行加密。这种加密方式被称为“壳”。壳的存在会阻碍开发者对应用进行反编译、分析和修改。

在某些情况下,需要对应用进行砸壳,以获取应用的源代码或进行一些修改。例如,需要分析某游戏的算法,这个游戏只有蛋疼的iOS版。

一般情况下,分析iOS应用都会使用高级的苹果Mac,台式机或笔记本,或者黑苹果,都贵死了,作为贫穷的协议分析人员,只能另辟蹊径,使用穷鬼windows套装来完成任务了。

当然,你还要一个越狱的iOS手机,闲鱼上买一个就可以了,几百块一个,便宜得很,注意选择合适的操作系统版本,方便使用,节省时间,我买的稍微奢侈一点,iphone 6s plus,几年前四百多买的,现在应该更便宜了。

45e8f15b73b221c878619bfde8d17a22.jpeg

苹果的越狱,现在很方便了,在windows下,用爱思助手就可以了,按要求操作即可,没有难度。

ca9ece245b77fd56b83ceb41d7203e0c.png


越狱后,就可以进行应用的砸壳了。

01

IPA砸壳

随着科技的发展,IPA的砸壳越来越简单,有各种工具和脚本帮助你,选择好了,事半功倍。这里只推荐一种方式,就是最好用的frida-ios-dump,底层使用了Frida。

在手机端,需要安装Frida,找官网一步步操作即可,如果不会,估计也没必要进行下一步了,官网写的很详细,Cydia-添加源 https://build.frida.re-安装插件Frida。

bcd58ad0be138d511b68819afa16cc5d.png

当然,在windows端,也要安装Frida,直接python环境pip安装即可,大家应该轻车熟路了。

之后使用frida-ios-dump之前,要设置端口转发,和Android上用Frida一样,windows下,建议使用USB连接手机再进行,毕竟工具也没那么齐备。

接下来,使用frida工具获取app名称:

frida-ps -Uai

之后,进入frida-ios-dump的目录,运行dump.py,可以用显示的app名称或者Bundle id。

./dump.py 数独趣味闯关

最后得到了ipa文件,就是我们需要的文件了。

ipa就是个压缩包,我们想要知道里面的算法,就得好好分析,不分析,就没分了。

02


IPA分析

在Windows下,分析IPA文件可以动态分析,Frida想怎么玩都可以,也可以静态分析,使用大名鼎鼎的IDA Pro即可,动态分析动静还是有点大,我们这里介绍的是静态分析。

静态分析需要找到IPA里面的主文件,前面说了,IPA就是个压缩包,我们将它的后缀改成zip并解压,就能得到里面的内容,解压后,里面第一层是Payload,之后是APP的文件夹,例如:数独趣味闯关.app。

这个文件夹里面,文件很多:

ca7f42043edb8bdca44edab4099eb8cc.png

一般来说,找到最后一个,就是文件夹同名文件,体积蛮大的,这就是要分析的文件,拖到IDA Pro里,让它自己玩,电脑配置差就多玩会,配置好就少玩会,总之,IDA Pro会自动帮你很大的忙。

之后,根据我们需要分析的内容的关键字,直接定位位置,并查看上下文得到结果:

-[QCloudCredential setSecretID:](v8, "setSecretID:", CFSTR("AKID99vRiiySXNo47zv1vbUMyLzSiktxxn2xxx"));objc_msgSend(v9, "setSecretKey:", CFSTR("nKbv0dxxxxxxxxxxxxx4xxxx"));

验证:

PUT http://nonogram-cn-1258669836.cos.ap-guangzhou.myqcloud.com/gamesave/A%3A_25ae39e57603b90db0492eb9c37271bc HTTP/1.1
Host: nonogram-cn-1258669836.cos.ap-guangzhou.myqcloud.com
Accept-Language: zh-CN,zh-Hans;q=0.9
Accept-Encoding: gzip, deflate
Content-MD5: Erv8r0GtcrK1g3a27VR0aw==
Accept: */*
User-Agent: cos-xml-ios-sdk-v6.3.0
Content-Length: 271
Authorization: q-sign-algorithm=sha1&q-ak=AKID99vRiiySXNo47zv1vbUMyLzSiktn28vo&q-sign-time=1711435863;1711436463&q-key-time=1711435863;1711436463&q-header-list=content-length;content-md5;host&q-url-param-list=&q-signature=ce51226a89b299a71be1998c6487f9337d6e602a
Connection: keep-alive

一般来说,需要的密钥找好了,写代码问题不大。

03


狗尾续貂

前面的内容,都是拼技能的,这里只是简单的介绍,具体的还需要自己去实践,多练多操作就会了,欢迎大家多交流,共同提升技能,当然,如果上面的流程都不想操作,那还有其它法子,就是找第三方服务,很多网站都提供砸壳分析服务,价格不一,质量不一,如果找我也可以,但只有这里可以找到我,欢迎大家多多转发骚扰。

别忘点“在看”、“赞”和“分享”

新的规则,及时收推文要先给公号星标

别忘了星标一下,不然就错过了

db8ce9e57aea57cf13f495544e94e1e8.jpeg

长按进行关注,时刻进行交流。


http://www.ppmy.cn/embedded/22973.html

相关文章

机器学习:基于Sklearn、XGBoost框架,使用XGBClassifier、支持向量分类器和决策树分类器预测乳腺癌是良性还是恶性

前言 系列专栏:机器学习:高级应用与实践【项目实战100】【2024】✨︎ 在本专栏中不仅包含一些适合初学者的最新机器学习项目,每个项目都处理一组不同的问题,包括监督和无监督学习、分类、回归和聚类,而且涉及创建深度学…

第8章 软件工程

一、软件工程概述 (一)软件危机 1、含义:落后的软件生产方式无法满足迅速增长的计算机软件需求,从而导致软件开发与维护过程中出现一系列严重问题的现象。 2、解决方案:引入软件工程的思想。 (二&#x…

任务调度xxljob的使用记录

1.基本使用 a.下载代码,地址:https://gitee.com/xuxueli0323/xxl-job.git b.执行sql,修改配置,启动任务调度中心的代码 启动代码后任务调度中心访问地址:http://localhost:8080/xxl-job-admin(自己机器…

代码随想录算法训练营DAY38|C++动态规划Part.1|动态规划理论基础、509.斐波那契数、70.爬楼梯、746.使用最小花费爬楼梯

文章目录 动态规划理论基础什么是动态规划动态规划的解题步骤DP数组以及下标的含义递推公式DP数组初始化DP数组遍历顺序打印DP数组动态规划五部曲 动态规划应该如何debug 509.斐波那契数什么是斐波那契数列动态规划五部曲确定dp数组下标以及含义确定递推公式dp数组如何初始化确…

中文输入法导致的高频事件

场景: input.addEventListener(input, (e) > {console.log(e.target.value) }); 当给一个输入框绑定了 input 事件,输入法切换到中文正在拼写的过程中也会触发 input 事件。 解决办法: 在中文拼写开始和结束的时候分别会触发 composit…

MemFire解决方案-物联网数据平台解决方案

方案背景 随着各种通讯、传感技术发展,数据通讯成本的急剧下降,数以万亿计的智能设备(智能手环、智能电表、智能手机、各种传感器设备等)接入网络,并源源不断的产生海量的实时数据。这些海量数据的价值挖掘&#xff0…

Gateway

序言 本文给大家介绍一下 Spring Cloud Gateway 的基础概念以及使用方式。 一、快速入门 1.1 引入依赖 <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http://…

微服架构基础设施环境平台搭建 -(六)Kubesphere 部署Redis服务 设置访问Redis密码

微服架构基础设施环境平台搭建 -&#xff08;六&#xff09;Kubesphere 部署Redis服务 & 设置访问Redis密码 微服架构基础设施环境平台搭建 系列文章 微服架构基础设施环境平台搭建 -&#xff08;一&#xff09;基础环境准备 微服架构基础设施环境平台搭建 -&#xff08;二…