《挑战不用macOS逆向iOS APP》第一课之环境搭建

article/2025/7/14 4:48:22
  • Intro
  • 1.Windows中iPhone基本信息获取/软件安装/投屏
    • (1)基本信息获取
    • (2)软件安装
    • (3)手机投屏
  • 2.越狱设备分析推荐/unC0ver流程详解
    • (1)越狱设备的分析与推荐
    • (2)checkra1n越狱详细流程
      • (1)制作一个越狱u盘
      • (2)刷入手机实现越狱
  • 3.越狱后手机常用工具:日志/网络/包管理/免签名
    • (1)cydia自带源工具安装
    • (2)三方源工具安装
  • 4.Frida/Objection/任意版本安装切换/动态分析
    • (1)安装最新frida
    • (2)安装objection
  • 5.ios砸壳/IPA静态分析基本流程/IDAF5函数定位
    • (1)ios砸壳
    • (2)IPA静态分析基本流程及IDAF5函数定位
  • 6.linux中iphone手机信息获取:ID/名称/详情/签名/截屏/定位
    • (1)获取设备ID
    • (2)获取设备名称
    • (3)获取屏幕截图
    • (4)设置虚拟定位
    • (5)获取设备详情
  • 7.安装APP/IPA:安装/卸载/升级/备份/恢复APP
    • (1)安装软件
    • (2)卸载软件
    • (3)查看已安装应用
    • (4)其他
  • 8.收发传输文件:usbmuxd OpenSSH=adb pull/push
    • (1)基于usbmuxd实现adb pull/push
    • (2)基于OpenSSH实现adb pull/push
  • 9.远程文件管理:磁盘映射/电脑上浏览手机文件夹
    • (1)挂载文件系统
    • (2)取消挂载
  • 10.升降级和激活:恢复模式/固件升降级/手机激活

Intro

很多人在学习逆向iOS app的时候,都有两个痛点:

  1. iOS设备太贵
  2. 需要macOS环境

前者需要小几千的iPhone,后者需要至少大几千的Macbook 。本系列文章就是为了解决这两个痛点,全部操作在一百多块钱的iPhone6上完成,且电脑端在r0env/Win上进行演示,让我们康康,这几乎无成本的一套环境,究竟可以让我们走多远,走多深!

本篇文章是《挑战不用macOS逆向iOS APP》系列的第一课环境搭建主要为了实现在iOS APP逆向过程中一些环境方面的常规需求,具体实现目标如下:

  • windows中iPhone基本信息获取/软件安装/投屏
  • 越狱设备分析推荐/工具推荐/unC0ver流程详解
  • 越狱后手机常用工具:日志/网络/包管理/免签名
  • Frida/Objection/任意版本安装切换/动态分析
  • ios砸壳/IPA静态分析基本流程/IDAF5函数定位
  • linux中iphone手机信息获取:ID/名称/详情/签名/截屏/定位
  • 安装APP/IPA:安装/卸载/升级/备份/回复APP
  • 收发传输文件:usbmuxd OpenSSH=adb pull/push
  • 远程文件管理:磁盘映射/电脑上浏览手机文件夹
  • 升降级和激活:恢复模式/固件升降级/手机激活

1.Windows中iPhone基本信息获取/软件安装/投屏

(1)基本信息获取

Windows中操作iPhone官方推荐方式是使用iTunes,但是后续我们会安装未经签名的应用,因此这里我们推荐使用爱思助手进行操作。直接去官网下载安装爱思助手,打开并在手机上信任此电脑在这里插入图片描述
在这里插入图片描述

(2)软件安装

软件安装:点开爱思助手的应用游戏可以直接安装,爱思上安装的软件有APP Store上架的也有未上架但有企业账号签名的,具体内容涉及IPA签名,会在后续文章解释。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-t96iQFEj-1680780580757)在这里插入图片描述

(3)手机投屏

直接使用爱思助手中的投屏,可以使用有线投屏,同一局域网下也可以使用无线投屏
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WMWift3F-1680780580757)在这里插入图片描述
手机端上滑点击屏幕镜像点击爱思投屏即可。

2.越狱设备分析推荐/unC0ver流程详解

(1)越狱设备的分析与推荐

查看爱思助手的越狱方式可以看到
可以支持ios版本最高的是unc0ver方式可以支持到iOS14.8,而又由于iPhone越狱失败后重启设备失败的话需要恢复出厂设置,此时会自动更新到当前设备支持的最新iOS版本,而iPhone6最高版本是12.5.4,iPhone6s和iPhone7最新版本均是iOS 15,因此我们选择使用iPhone6作为越狱设备,这样即使越狱失败最新版本也依然在越工具支持版本之下。
越狱方式对比,这里主要分析两种方式unc0ver和Checkra1n
checkra1n:比较复杂还要制作u盘但是胜在稳定
unc0ver:过程简单但是成功比较看运气,需尝试多次才能成功

(2)checkra1n越狱详细流程

(1)制作一个越狱u盘

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

(2)刷入手机实现越狱

进入电脑BIOS选择VendorCo ProductCode 从u盘启动
在这里插入图片描述
选择ALT+F2进入Checkra1n刷机系统
在这里插入图片描述
上下左右空格键控制start开始越狱
在这里插入描述
next
在这里插入图片描述
在这里插入图片描述
进入刷机界面后根据提示操作
在这里插入图片描述
1.点击start
2.同时摁住侧边键和home键
3.摁住home键
这个界面就是在刷入,ALL Done就是刷入成功了。
在这里插入图片描述

补充:中间可能会失败,没关系多来几次总能成功的,但是一定注意,手机不要买到带锁机,二手iphone卖家有时会隐藏ID锁,这种机子可以登录自己ID但是一旦越狱失败就寄了。。。

3.越狱后手机常用工具:日志/网络/包管理/免签名

手机越狱成功后,会在桌面显示checkra1n图标,点击安装cydia,cydia是一个需要越狱后使用的三方软件仓库。这里我们主要安装以下几个工具:

(1)cydia自带源工具安装

cydia自带源的工具可以直接搜索安装
在这里插入图片描述

  • oslog 日志查看工具,默认安装在/usr/bin目录下
  • OPENSSH 远程连接软件,作用是远程连接手机,默认账号密码为root/alpine
  • Filza File Manager 是手机端的文件管理软件,作用是让我们更方便的操作手机上的文件。
  • Apple File Conduit “2” IOS上的一个插件工具,作用是帮助我们在电脑端操作手机上的文件

(2)三方源工具安装

  • AppSync Unifield

AppSync Unifield是IOS上的插件工具,作用是帮助我们安装未经苹果签名的IPA,安装后可以安装未经苹果签名的软件,安装具体流程如下:
首先添加源:编辑->添加->输入cydia.angelxwind.net
在这里插入图片描述

然后进行插件安装:karen->插件->AppSync->安装->确认->重启
在这里插入图片描述

  • frida-server

    卸载历史版本

dpkg -l | grep frida 匹配已经安装的frida
dpkg -P re.frida.server卸载软件

下载最新frida-server进行安装
在这里插入图片描述

dpkg -i frida_16.0.10_iphoneos-arm.deb 

4.Frida/Objection/任意版本安装切换/动态分析

这里使用r0env,自带pyenv支持多版本Frida/objection切换,这里安装最新版本作为演示

(1)安装最新frida

pyenv install 3.9.5
pyenv global 3.9.5
pip install frida==16.0.5

这里安装的时候不挂代理会很慢,挂代理后遇到了一个错误
在这里插入图片描述
错误原因是没有socks相关库

unset ALL_PROXY
pip install pysocks

再挂代理安装

export ALL_PROXY="socks://代理IP:port"
pip install frida
pip install frida-tools

安装成功
在这里插入图片描述

(2)安装objection

pip install objection
objection -g 高考蜂背 explore

在这里插入图片描述

5.ios砸壳/IPA静态分析基本流程/IDAF5函数定位

(1)ios砸壳

ios砸壳工具也有很多,这里我们推荐使用frida-ios-dump,下边是安装使用详细过程:

git clone https://github.com/AloneMonkey/frida-ios-dump
cd frida-ios-dump/
apt-get install usbmuxd
pip install -r requirements.txt --upgrade
iproxy 2222 22
./dump.py 高考蜂背

(2)IPA静态分析基本流程及IDAF5函数定位

因为本篇文章主题是环境搭建,因此这里仅演示简单流程

file 高考蜂背.ipa
unzip 高考蜂背.ipa
cd Payload/
cd Gkfb.app/
file * | grep -i mach
ida64 ./Gkfb

经过frida-ios-dump砸壳后我们拿到了IPA包对其进行解压,并检索内部mach-o可执行文件,随后用ida分析文件。
在这里插入图片描述
在这里插入图片描述

分析过程检索发现MD5格式函数,使用F5即可看到其伪代码
在这里插入图片描述
在这里插入图片描述

6.linux中iphone手机信息获取:ID/名称/详情/签名/截屏/定位

在linux中操作iPhone主要使用libimobiledevice库及依赖于它的一些开源工具,这里先下载安装该库

apt-get update
add-apt-repository ppa:pmcenery/ppa
apt-get install libimobiledevice-utils

下面是该库的一些简单使用:

(1)获取设备ID

idevice_id  获取当前连接设备UUID

在这里插入图片描述

(2)获取设备名称

idevicename   查看当前连接设备名称

在这里插入图片描述

(3)获取屏幕截图

idevicescreenshot :从连接的设备获取屏幕截图

在这里插入图片描述

(4)设置虚拟定位

idevicesetlocation [OPTIONS] -- <LAT> <LONG>根据经纬度模拟定位
idevicesetlocation -- 35.10463 117.193626   山东枣庄

在这里插入图片描述

(5)获取设备详情

ideviceinfo :查看手机设备详情列出全部相关信息

在这里插入图片描述

7.安装APP/IPA:安装/卸载/升级/备份/恢复APP

linux上对iPhone中软件操作这里是使用的依赖于libimobiledevice库的工具ideviceinstaller,在安装完libimobiledevice库后我们可以直接使用apt安装该工具

apt-get install ideviceinstaller

(1)安装软件

ideviceinstaller  -i xxx.ipa 安装软件

在这里插入图片描述

(2)卸载软件

ideviceinstaller -U [bundleID]卸载应用

在这里插入图片描述

(3)查看已安装应用

ideviceinstaller -l 查看安装软件

在这里插入图片描述

(4)其他

ideviceinstaller -g [bundle_id] [path] 根据压缩包升级app
ideviceinstaller -o export -i [bundle_id] -o [PATH] 根据路径备份app
ideviceinstaller -r 从备份中恢复app

8.收发传输文件:usbmuxd OpenSSH=adb pull/push

usbmuxd是一个苹果提供的通信服务,用于建立通信通道,libimobiledevice库就是基于这个服务实现了许多功能,依赖该库的工具ifuse实现的文件系统挂载自然也是基于此服务,我们可以通过挂载文件系统实现手机端与电脑端的文件传输,从而实现android中adb push/pull的同样效果,我们也还可以通过OpenSSH服务实现文件传输,以下是二者具体实现:

(1)基于usbmuxd实现adb pull/push

ifuse是依赖libimobiledevice库将iOS设备挂载到本地系统的开源工具,安装完库后直接使用apt安装

apt install ifuse
ifuse --root [挂载点]:越狱后将整个iphone文件系统挂载过来

在这里插入图片描述

将文件系统挂载过来后我们就可以进行自由的文件传输

(2)基于OpenSSH实现adb pull/push

OpenSSH在手机中已经安装过,安装后自动开启ssh服务,我们就可以使用linux的scp命令进行文件传输
从本地push到手机

scp -P 22 1.txt root@192.168.1.108:/  这里写-P是为了使用一些非标准端口时指定端口

在这里插入图片描述

从手机pull到本地

scp -P 22 root@192.168.1.108:/2.txt ./ 

在这里插入图片描述

9.远程文件管理:磁盘映射/电脑上浏览手机文件夹

ifuse是依赖libimobiledevice库将iOS设备挂载到本地系统的开源工具,安装完库后直接使用apt安装

apt install ifuse

(1)挂载文件系统

ifuse --root [挂载点]:越狱后将整个iphone文件系统挂载过来

在这里插入图片描述

(2)取消挂载

fusermount -u [挂载点]:卸载挂载点

在这里插入图片描述

10.升降级和激活:恢复模式/固件升降级/手机激活

(1)进入恢复模式

ideviceenterrecovery  让设备启动到恢复模式,iOS设备的恢复模式允许用户刷写、升级或还原设备的固件。

(2)固件升降级

idevicerestore [OPTIONS] PATH 将PATH路径上的固件包安装到ios设备-u 指定设备ID-l 使用最新可用固件

(3)手机激活

ideviceactivation activate <activation_record_path>

其中,activation_record_path是包含激活记录的文件路径。这个文件可以从其它iPhone上备份,或者从开发人员手中获得。运行后,libimobiledevice将会将激活记录写入到手机中,从而完成激活过程。激活成功后,你的iPhone将可以正常使用。

《挑战不用macOS逆向iOS APP》系列的第一课环境搭建内容到这里就结束了,两百元成本的iOS APP逆向的基本环境已经搭建成功,后续会继续更新iOS App逆向的内容,需要购买设备和全套学习课程的可以私信vx:r0ysue 来下单。


http://chatgpt.dhexx.cn/article/VOLhbcuK.shtml

相关文章

使用Macos进行 Fugu14 Uncover A12-14 ios越狱 版本14.3-14.5.1

前言:由于目前最新版本Uncover7.0.0越狱依赖于Fugu14的untether漏洞 而Fugu14暂时只能从Macos运行一套完成流程,所以直接下载Unc0ver是会显示Unsupported的 暂时没有windows版 本帖适合愿意折腾的xdm 越狱有风险 需谨慎 该BUG已于10月29日github 提交了新版本修复了 原先作…

checkra1n越狱错误79_新的unc0ver漏洞可让运行iOS / iPadOS 12至13.5的苹果iPhone和iPad越狱...

IOS越狱社区和Android生根社区有很多共同点。我们俩都喜欢我们各自的设备,但对缺少定制感到失望。不幸的是,与许多Android设备相比,Apple设备并不容易修补。这就是为什么新的越狱行为(如最近发布的unc0ver漏洞利用)如此庞大的原因。新的unc0ver越狱功能适用于从iOS 11到iOS …

苹果iOS 13.5越狱unc0ver来了

文章目录[隐藏] 操作步骤重要提醒 今日早间著名越狱团队unc0ver发布支持所有设备和iOS版本的越狱工具unc0ver 5.0.0。unc0ver 5.0.0适用于iOS 11-iOS 13.5越狱&#xff0c;由于用户较多导致其官网崩溃&#xff0c;不过相关文件已被提取至GitHub上&#xff0c;新越狱工具利用的仍…

linux怎么越狱苹果手机,如何在苹果手机使用unc0ver越狱

如何在苹果手机使用unc0ver越狱 开篇寄语 iphone手机如何越狱是个技术活&#xff0c;说难不难&#xff0c;说简单也不简单&#xff0c;Unc0ver团队发布了世界上第一个针对A12-A13仿生设备的iOS 13 – iOS 13.3越狱。Checkra1n是第一个面向公众的iOS 13越狱工具&#xff0c;但它…

Unc0ver-v5.0.1版本发布,报错原因以及广告问题

unc0ver-v5.0.1版本发布 “通过Cydia和调整注入对iOS 11.0-13.5上的所有设备提供全面支持 启用对越狱应用程序的不受限制的存储访问&#xff0c;以实现沙盒向后兼容性&#xff0c;同时通过为系统和用户应用程序启用安全性限制来保持安全性不变 更新Phone Rebel外壳型号和捆绑的…

unc0ver 越狱工具来袭,免电脑操作,支持 A7-A12,支持iOS11~iOS12.4稳定越狱

开场白 越狱大家肯定不陌生&#xff0c;之前很多小伙伴知道越狱不支持A12芯片&#xff0c;就在昨天unc0ver更新后支持A12越狱了&#xff0c;是不是很厉害&#xff0c;这次更新完后操作方法依然和之前一样&#xff0c;只需要简单几下就能越狱&#xff0c;越狱其实很简单&#xf…

把unc0ver.ipa重签名后安装到手机上实现越狱2023年4月15日更新

文章目录 生成embedded.mobileprovision证书文件生成新的ipa包使用ios app signer重签名2023年4月15日更新,之前用了1年签名过期了,重新签名 前提,需要自己拥有开发者证书才能重签名uncover.ipa实现越狱 使用爱思助手一键越狱以后总提示正在"生成安装包",后来我去了u…

Unc0ver 8.0.0 更新:支持 iOS 14.6-14.8、A12-A13 iPhone 越狱

今日&#xff0c;越狱工具 unc0ver 发布了全新的 8.0.0 版本。现在支持 iOS 14.6-14.8 版本越狱&#xff0c;需要搭载 A12-A13 芯片的 iPhone 手机。 本次越狱支持的系统版本&#xff1a;iOS 14.6、iOS 14.7、iOS 14.7.1、iOS 14.8这4种版本&#xff0c;iOS 15.0以上系统请等待…

unc0ver 越狱工具来袭,支持iOS11.0~iOS14.8稳定越狱 更新至V8.0.2 支持 A7-A14

快讯&#xff1a;iOS11.0~14.3 支持iPhone5S/SE/6/6P/6S/6SP7/7P/8/SE2/8P/X/Xr/Xs/XsMax/11/11Pro/11ProMax/12Mini/12/12Pro/12Max 越狱的朋友&#xff0c;欢迎添加信哥科技视频号客服企业微信&#xff0c;了解更多资讯&#xff08;名片已放在文章结尾&#xff09; unc0ver…

iOS Odyssey 和 unc0ver 的区别

越狱 Odyssey 和 unc0ver 用哪款比较好&#xff01; 暂不提 checkra1n&#xff0c;只是单独说一下手机版在线越狱的这二款工具&#xff0c;先说一下这二款越狱工具区别&#xff0c;Odyssey 越狱后会出现 sileo 越狱商店&#xff0c;而 unc0ver 越狱后会出现 Cydia 商店。 简单来…

深圳vpay钱包系统技术开发分享

和大家一起分享div class”testimonialsno1_我们有源码&#xff0c;需要开发找【bba1887】value”always”>后台参考classid”clsid:D27CDB6E-AE6D-11cf-96B8-444553540000” width”560”&#xff0c;前端看这段testimonialsno1”> width”560” height”360” TYPE”ap…

APICloud集成微信支付(wxPay第二种方案)

写在前面 我是先拿一个Demo测试的&#xff0c;然后再接入我们的app的&#xff0c;其中包名和应用签名必须实时更新&#xff0c;根据不同的app&#xff0c;即使相同的包名&#xff0c;应用签名是不同的&#xff0c;这点需要注意。 评论里的一位小伙伴儿遇到问题后总结出的几个…

Google Play 支付集成

官方文档&#xff1a; https://developer.android.com/google/play/billing 代码按照官网集成就可以&#xff0c;很清楚&#xff0c;下面主要记录控制台的配置。 1.先商品 -> 应用内商品&#xff0c;先上传APK后再添加商品&#xff1a; 2. 创建商品&#xff1a; 3. 启用&a…

集成Google Play支付

前言 这篇文章很早就想写了&#xff0c;由于时间关系一直拖到现在&#xff0c;我相信这篇文章对大多数想要接入Goole Play支付的小伙伴来说&#xff0c;会少走许多坑的&#xff0c;在这里说明一下&#xff0c;笔者在集成过程中踩了不少坑&#xff0c;所有请大家尽情享用成果&a…

聚合支付-x-pay

X-Pay X-Pay是一款集合聚合支付、应用管理、商品管理、收银台、订单中心、财务开票、消息中心等功能模块.平台优势 适用于企业实现聚合支付需求。多个产品线同用一套支付系统&#xff0c;从业务和架构上实现解耦。平台亮点 统一管理多个产品线上售卖不同商品,统一个收银台,统一…

微信支付的服务商模式V3支付(可直接使用)

直连商户模式和服务商模式区别&#xff1a; 直连商户&#xff1a;例如张三开了一个小程序&#xff0c;然后别人在这个小程序买东西&#xff0c;结账的时候&#xff0c;钱是直接打到张三的账号上的。 服务商模式&#xff1a;例如张三开了一个小程序&#xff0c;然后这个小程序中…

如何发布到NPM上(转)

简要:这篇文章介绍了如何讲自己的包发布到NPM上&#xff0c;马克一下&#xff0c;将来有用 。。。 npm包发布 发布npm包&#xff0c;更方便以后下载使用。 我们已经把插件代码上传到github上面了&#xff0c;那么我们是否可以也做成一个npm包发布到npm上呢&#xff1f;答案是肯…

微信支付APIv3

文章目录 微信支付之前我的密钥啥的都是放到配置文件里面以后可以再写一个文件基础支付APIv3介绍获取验签和HttpClientAPIv3证书与密钥使用说明 微信支付的SDK工具Native支付流程我们程序运行时的日志也可以使用log.debug在方法堆栈里面查看我们程序执行的方法调用顺序内网穿透…

你了解过区块链的最新模式都有哪些呢?

热门项目 ①USDT跑分系统: 项目热度:***** 项目亮点: 1.使用全球主流稳定的结果货币USDT。 2.通道永不被封,资金永不被冻。 3.个人与个人之间的C2C点对点分散式交易。 4.高效,5分钟内迅速到账。 项目玩法: 500个usdt以上即可开启接单(相当于押金),静态跑一轮可得…

vpay平台模式开发 15天交付系统

近期迅速走进大家视野的Vpay是什么究竟是什么&#xff0c;有人说vpay是一个APP&#xff0c;有人说&#xff0c;是一个支付手段&#xff0c;接近一点的会说是一个模式&#xff0c;那究竟是什么模式?拆分?还是虚拟币?其实严谨来讲Vpay是 重新构建了连接方式&#xff0c;连接方…