一键注册,加入手机圈
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
Intro
很多人在进修逆向iOS app的时辰,都有两个痛点:
前者需要小几千的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
- 远程文件打点:磁盘映照/电脑上阅读手机文件夹
- 升升级和激活:规复形式/固件升升级/手机激活
该系列为学员良好作品系列,附件apk、代码等位于我的项目中,大师可以自取:
https://github.com/r0ysue/AndroidSecurityStudy
1.Windows中iPhone底子信息获得/软件安装/投屏
(1)底子信息获得
Windows中操纵iPhone官方举荐方式是利用iTunes,可是后续我们会安装未经签名的利用,因此这里我们举荐利用爱思助手停止操纵。间接去官网下载安装爱思助手,翻开并在手机上信赖此电脑
(2)软件安装
软件安装:点开爱思助手的利用游戏可以间接安装,爱思上安装的软件有APP Store上架的也有未上架但有企业账号签名的,具体内容触及IPA签名,会在后续文章诠释。
(3)手机投屏
间接利用爱思助手中的投屏,可以利用有线投屏,同一局域网下也可以利用无线投屏
手机端上滑点击屏幕镜像点击爱思投屏即可。
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是IOS上的插件工具,感化是辅佐我们安装未经苹果签名的IPA,安装后可以安装未经苹果签名的软件,安装具体流程以下:
首先增加源:编辑->增加->输入cydia.angelxwind.net
然后停止插件安装:karen->插件->AppSync->安装->确认->重启
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 来下单。
----------------------------- |