|
一鍵注冊(cè),加入手機(jī)圈
您需要 登錄 才可以下載或查看,沒(méi)有帳號(hào)?立即注冊(cè) ![](source/plugin/mapp_wechat/images/wechat_login.png)
x
Intro
很多人在學(xué)習(xí)逆向iOS app的時(shí)候,都有兩個(gè)痛點(diǎn):
- iOS設(shè)備太貴
- 需要macOS環(huán)境
前者需要小幾千的iPhone,后者需要至少大幾千的Macbook 。本系列文章就是為了解決這兩個(gè)痛點(diǎn),全部操作在一百多塊錢的iPhone6上完成,且電腦端在r0env/Win上進(jìn)行演示,讓我們康康,這幾乎無(wú)成本的一套環(huán)境,究竟可以讓我們走多遠(yuǎn),走多深!
本篇文章是《挑戰(zhàn)不用macOS逆向iOS APP》系列的第一課環(huán)境搭建主要為了實(shí)現(xiàn)在iOS APP逆向過(guò)程中一些環(huán)境方面的常規(guī)需求,具體實(shí)現(xiàn)目標(biāo)如下:
- windows中iPhone基本信息獲取/軟件安裝/投屏
- 越獄設(shè)備分析推薦/工具推薦/unC0ver流程詳解
- 越獄后手機(jī)常用工具:日志/網(wǎng)絡(luò)/包管理/免簽名
- Frida/Objection/任意版本安裝切換/動(dòng)態(tài)分析
- ios砸殼/IPA靜態(tài)分析基本流程/IDAF5函數(shù)定位
- linux中iphone手機(jī)信息獲取:ID/名稱/詳情/簽名/截屏/定位
- 安裝APP/IPA:安裝/卸載/升級(jí)/備份/回復(fù)APP
- 收發(fā)傳輸文件:usbmuxd OpenSSH=adb pull/push
- 遠(yuǎn)程文件管理:磁盤映射/電腦上瀏覽手機(jī)文件夾
- 升降級(jí)和激活:恢復(fù)模式/固件升降級(jí)/手機(jī)激活
該系列為學(xué)員優(yōu)秀作品系列,附件apk、代碼等位于我的項(xiàng)目中,大家可以自?。?br />
https://github.com/r0ysue/AndroidSecurityStudy
1.Windows中iPhone基本信息獲取/軟件安裝/投屏
(1)基本信息獲取
Windows中操作iPhone官方推薦方式是使用iTunes,但是后續(xù)我們會(huì)安裝未經(jīng)簽名的應(yīng)用,因此這里我們推薦使用愛(ài)思助手進(jìn)行操作。直接去官網(wǎng)下載安裝愛(ài)思助手,打開(kāi)并在手機(jī)上信任此電腦
《挑戰(zhàn)不用macOS逆向iOS APP》之兩百元成本的iOS逆向 ...-1.jpg (120.27 KB, 下載次數(shù): 126)
下載附件
2023-4-11 09:59 上傳
《挑戰(zhàn)不用macOS逆向iOS APP》之兩百元成本的iOS逆向 ...-2.jpg (92.82 KB, 下載次數(shù): 119)
下載附件
2023-4-11 09:59 上傳
(2)軟件安裝
軟件安裝:點(diǎn)開(kāi)愛(ài)思助手的應(yīng)用游戲可以直接安裝,愛(ài)思上安裝的軟件有APP Store上架的也有未上架但有企業(yè)賬號(hào)簽名的,具體內(nèi)容涉及IPA簽名,會(huì)在后續(xù)文章解釋。
《挑戰(zhàn)不用macOS逆向iOS APP》之兩百元成本的iOS逆向 ...-3.jpg (142.79 KB, 下載次數(shù): 96)
下載附件
2023-4-11 09:59 上傳
(3)手機(jī)投屏
直接使用愛(ài)思助手中的投屏,可以使用有線投屏,同一局域網(wǎng)下也可以使用無(wú)線投屏
《挑戰(zhàn)不用macOS逆向iOS APP》之兩百元成本的iOS逆向 ...-4.jpg (204.42 KB, 下載次數(shù): 126)
下載附件
2023-4-11 09:59 上傳
手機(jī)端上滑點(diǎn)擊屏幕鏡像點(diǎn)擊愛(ài)思投屏即可。
2.越獄設(shè)備分析推薦/unC0ver流程詳解
(1)越獄設(shè)備的分析與推薦
查看愛(ài)思助手的越獄方式可以看到
可以支持ios版本最高的是unc0ver方式可以支持到iOS14.8,而又由于iPhone越獄失敗后重啟設(shè)備失敗的話需要恢復(fù)出廠設(shè)置,此時(shí)會(huì)自動(dòng)更新到當(dāng)前設(shè)備支持的最新iOS版本,而iPhone6最高版本是12.5.4,iPhone6s和iPhone7最新版本均是iOS 15,因此我們選擇使用iPhone6作為越獄設(shè)備,這樣即使越獄失敗最新版本也依然在越工具支持版本之下。
越獄方式對(duì)比,這里主要分析兩種方式unc0ver和Checkra1n
checkra1n:比較復(fù)雜還要制作u盤但是勝在穩(wěn)定
unc0ver:過(guò)程簡(jiǎn)單但是成功比較看運(yùn)氣,需嘗試多次才能成功
(2)checkra1n越獄詳細(xì)流程
(1)制作一個(gè)越獄u盤
《挑戰(zhàn)不用macOS逆向iOS APP》之兩百元成本的iOS逆向 ...-5.jpg (137.07 KB, 下載次數(shù): 127)
下載附件
2023-4-11 09:59 上傳
《挑戰(zhàn)不用macOS逆向iOS APP》之兩百元成本的iOS逆向 ...-6.jpg (54.2 KB, 下載次數(shù): 126)
下載附件
2023-4-11 09:59 上傳
《挑戰(zhàn)不用macOS逆向iOS APP》之兩百元成本的iOS逆向 ...-7.jpg (42.73 KB, 下載次數(shù): 133)
下載附件
2023-4-11 09:59 上傳
(2)刷入手機(jī)實(shí)現(xiàn)越獄
進(jìn)入電腦BIOS選擇VendorCo ProductCode 從u盤啟動(dòng)
《挑戰(zhàn)不用macOS逆向iOS APP》之兩百元成本的iOS逆向 ...-8.jpg (294.18 KB, 下載次數(shù): 110)
下載附件
2023-4-11 09:59 上傳
選擇ALT+F2進(jìn)入Checkra1n刷機(jī)系統(tǒng)
《挑戰(zhàn)不用macOS逆向iOS APP》之兩百元成本的iOS逆向 ...-9.jpg (117.69 KB, 下載次數(shù): 131)
下載附件
2023-4-11 09:59 上傳
上下左右空格鍵控制start開(kāi)始越獄
《挑戰(zhàn)不用macOS逆向iOS APP》之兩百元成本的iOS逆向 ...-10.jpg (124.59 KB, 下載次數(shù): 141)
下載附件
2023-4-11 09:59 上傳
next
《挑戰(zhàn)不用macOS逆向iOS APP》之兩百元成本的iOS逆向 ...-11.jpg (89.64 KB, 下載次數(shù): 112)
下載附件
2023-4-11 09:59 上傳
《挑戰(zhàn)不用macOS逆向iOS APP》之兩百元成本的iOS逆向 ...-12.jpg (90.74 KB, 下載次數(shù): 116)
下載附件
2023-4-11 09:59 上傳
進(jìn)入刷機(jī)界面后根據(jù)提示操作
《挑戰(zhàn)不用macOS逆向iOS APP》之兩百元成本的iOS逆向 ...-13.jpg (113.05 KB, 下載次數(shù): 130)
下載附件
2023-4-11 09:59 上傳
1.點(diǎn)擊start
2.同時(shí)摁住側(cè)邊鍵和home鍵
3.摁住home鍵
這個(gè)界面就是在刷入,ALL Done就是刷入成功了。
《挑戰(zhàn)不用macOS逆向iOS APP》之兩百元成本的iOS逆向 ...-14.jpg (92.38 KB, 下載次數(shù): 104)
下載附件
2023-4-11 09:59 上傳
補(bǔ)充:中間可能會(huì)失敗,沒(méi)關(guān)系多來(lái)幾次總能成功的,但是一定注意,手機(jī)不要買到帶鎖機(jī),二手iphone賣家有時(shí)會(huì)隱藏ID鎖,這種機(jī)子可以登錄自己ID但是一旦越獄失敗就寄了。。。
3.越獄后手機(jī)常用工具:日志/網(wǎng)絡(luò)/包管理/免簽名
手機(jī)越獄成功后,會(huì)在桌面顯示checkra1n圖標(biāo),點(diǎn)擊安裝cydia,cydia是一個(gè)需要越獄后使用的三方軟件倉(cāng)庫(kù)。這里我們主要安裝以下幾個(gè)工具:
(1)cydia自帶源工具安裝
cydia自帶源的工具可以直接搜索安裝
《挑戰(zhàn)不用macOS逆向iOS APP》之兩百元成本的iOS逆向 ...-15.jpg (148.26 KB, 下載次數(shù): 114)
下載附件
2023-4-11 09:59 上傳
- oslog 日志查看工具,默認(rèn)安裝在/usr/bin目錄下
- OPENSSH 遠(yuǎn)程連接軟件,作用是遠(yuǎn)程連接手機(jī),默認(rèn)賬號(hào)密碼為root/alpine
- Filza File Manager 是手機(jī)端的文件管理軟件,作用是讓我們更方便的操作手機(jī)上的文件。
- Apple File Conduit "2" IOS上的一個(gè)插件工具,作用是幫助我們?cè)陔娔X端操作手機(jī)上的文件
(2)三方源工具安裝
AppSync Unifield是IOS上的插件工具,作用是幫助我們安裝未經(jīng)蘋果簽名的IPA,安裝后可以安裝未經(jīng)蘋果簽名的軟件,安裝具體流程如下:
首先添加源:編輯->添加->輸入cydia.angelxwind.net
《挑戰(zhàn)不用macOS逆向iOS APP》之兩百元成本的iOS逆向 ...-16.jpg (156.09 KB, 下載次數(shù): 129)
下載附件
2023-4-11 09:59 上傳
然后進(jìn)行插件安裝:karen->插件->AppSync->安裝->確認(rèn)->重啟
《挑戰(zhàn)不用macOS逆向iOS APP》之兩百元成本的iOS逆向 ...-17.jpg (194.02 KB, 下載次數(shù): 122)
下載附件
2023-4-11 09:59 上傳
dpkg -l | grep frida 匹配已經(jīng)安裝的frida
dpkg -P re.frida.server卸載軟件下載最新frida-server進(jìn)行安裝
《挑戰(zhàn)不用macOS逆向iOS APP》之兩百元成本的iOS逆向 ...-18.jpg (37.4 KB, 下載次數(shù): 115)
下載附件
2023-4-11 09:59 上傳
dpkg -i frida_16.0.10_iphoneos-arm.deb
4.Frida/Objection/任意版本安裝切換/動(dòng)態(tài)分析
這里使用r0env,自帶pyenv支持多版本Frida/objection切換,這里安裝最新版本作為演示
(1)安裝最新frida
pyenv install 3.9.5
pyenv global 3.9.5
pip install frida==16.0.5這里安裝的時(shí)候不掛代理會(huì)很慢,掛代理后遇到了一個(gè)錯(cuò)誤
《挑戰(zhàn)不用macOS逆向iOS APP》之兩百元成本的iOS逆向 ...-19.jpg (23.86 KB, 下載次數(shù): 122)
下載附件
2023-4-11 09:59 上傳
錯(cuò)誤原因是沒(méi)有socks相關(guān)庫(kù)
unset ALL_PROXY
pip install pysocks再掛代理安裝
export ALL_PROXY="socks://代理IP:port"
pip install frida
pip install frida-tools安裝成功
《挑戰(zhàn)不用macOS逆向iOS APP》之兩百元成本的iOS逆向 ...-20.jpg (4.14 KB, 下載次數(shù): 136)
下載附件
2023-4-11 09:59 上傳
(2)安裝objection
pip install objection
objection -g 高考蜂背 explore
《挑戰(zhàn)不用macOS逆向iOS APP》之兩百元成本的iOS逆向 ...-21.jpg (26.95 KB, 下載次數(shù): 136)
下載附件
2023-4-11 09:59 上傳
5.ios砸殼/IPA靜態(tài)分析基本流程/IDAF5函數(shù)定位
(1)ios砸殼
ios砸殼工具也有很多,這里我們推薦使用frida-ios-dump,下邊是安裝使用詳細(xì)過(guò)程:
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靜態(tài)分析基本流程及IDAF5函數(shù)定位
因?yàn)楸酒恼轮黝}是環(huán)境搭建,因此這里僅演示簡(jiǎn)單流程
file 高考蜂背.ipa
unzip 高考蜂背.ipa
cd Payload/
cd Gkfb.app/
file * | grep -i mach
ida64 ./Gkfb經(jīng)過(guò)frida-ios-dump砸殼后我們拿到了IPA包對(duì)其進(jìn)行解壓,并檢索內(nèi)部mach-o可執(zhí)行文件,隨后用ida分析文件。
《挑戰(zhàn)不用macOS逆向iOS APP》之兩百元成本的iOS逆向 ...-22.jpg (31.29 KB, 下載次數(shù): 121)
下載附件
2023-4-11 09:59 上傳
《挑戰(zhàn)不用macOS逆向iOS APP》之兩百元成本的iOS逆向 ...-23.jpg (21.49 KB, 下載次數(shù): 122)
下載附件
2023-4-11 09:59 上傳
分析過(guò)程檢索發(fā)現(xiàn)MD5格式函數(shù),使用F5即可看到其偽代碼
《挑戰(zhàn)不用macOS逆向iOS APP》之兩百元成本的iOS逆向 ...-24.jpg (198.65 KB, 下載次數(shù): 133)
下載附件
2023-4-11 09:59 上傳
《挑戰(zhàn)不用macOS逆向iOS APP》之兩百元成本的iOS逆向 ...-25.jpg (110.46 KB, 下載次數(shù): 123)
下載附件
2023-4-11 09:59 上傳
6.linux中iphone手機(jī)信息獲取:ID/名稱/詳情/簽名/截屏/定位
在linux中操作iPhone主要使用libimobiledevice庫(kù)及依賴于它的一些開(kāi)源工具,這里先下載安裝該庫(kù)
apt-get update
add-apt-repository ppa:pmcenery/ppa
apt-get install libimobiledevice-utils下面是該庫(kù)的一些簡(jiǎn)單使用:
(1)獲取設(shè)備ID
idevice_id 獲取當(dāng)前連接設(shè)備UUID
《挑戰(zhàn)不用macOS逆向iOS APP》之兩百元成本的iOS逆向 ...-26.jpg (42.91 KB, 下載次數(shù): 114)
下載附件
2023-4-11 09:59 上傳
(2)獲取設(shè)備名稱
idevicename 查看當(dāng)前連接設(shè)備名稱
《挑戰(zhàn)不用macOS逆向iOS APP》之兩百元成本的iOS逆向 ...-27.jpg (4.56 KB, 下載次數(shù): 134)
下載附件
2023-4-11 09:59 上傳
(3)獲取屏幕截圖
idevicescreenshot :從連接的設(shè)備獲取屏幕截圖
《挑戰(zhàn)不用macOS逆向iOS APP》之兩百元成本的iOS逆向 ...-28.jpg (28.44 KB, 下載次數(shù): 112)
下載附件
2023-4-11 09:59 上傳
(4)設(shè)置虛擬定位
idevicesetlocation [OPTIONS] -- <LAT> <LONG>根據(jù)經(jīng)緯度模擬定位
idevicesetlocation -- 35.10463 117.193626 山東棗莊
《挑戰(zhàn)不用macOS逆向iOS APP》之兩百元成本的iOS逆向 ...-29.jpg (53.64 KB, 下載次數(shù): 110)
下載附件
2023-4-11 09:59 上傳
(5)獲取設(shè)備詳情
ideviceinfo :查看手機(jī)設(shè)備詳情列出全部相關(guān)信息
《挑戰(zhàn)不用macOS逆向iOS APP》之兩百元成本的iOS逆向 ...-30.jpg (20.63 KB, 下載次數(shù): 132)
下載附件
2023-4-11 09:59 上傳
7.安裝APP/IPA:安裝/卸載/升級(jí)/備份/恢復(fù)APP
linux上對(duì)iPhone中軟件操作這里是使用的依賴于libimobiledevice庫(kù)的工具ideviceinstaller,在安裝完libimobiledevice庫(kù)后我們可以直接使用apt安裝該工具
apt-get install ideviceinstaller
(1)安裝軟件
ideviceinstaller -i xxx.ipa 安裝軟件
《挑戰(zhàn)不用macOS逆向iOS APP》之兩百元成本的iOS逆向 ...-31.jpg (37.35 KB, 下載次數(shù): 135)
下載附件
2023-4-11 09:59 上傳
(2)卸載軟件
ideviceinstaller -U [bundleID]卸載應(yīng)用
《挑戰(zhàn)不用macOS逆向iOS APP》之兩百元成本的iOS逆向 ...-32.jpg (54.56 KB, 下載次數(shù): 134)
下載附件
2023-4-11 09:59 上傳
(3)查看已安裝應(yīng)用
ideviceinstaller -l 查看安裝軟件
《挑戰(zhàn)不用macOS逆向iOS APP》之兩百元成本的iOS逆向 ...-33.jpg (34.38 KB, 下載次數(shù): 141)
下載附件
2023-4-11 09:59 上傳
(4)其他
ideviceinstaller -g [bundle_id] [path] 根據(jù)壓縮包升級(jí)app
ideviceinstaller -o export -i [bundle_id] -o [PATH] 根據(jù)路徑備份app
ideviceinstaller -r 從備份中恢復(fù)app
8.收發(fā)傳輸文件:usbmuxd OpenSSH=adb pull/push
usbmuxd是一個(gè)蘋果提供的通信服務(wù),用于建立通信通道,libimobiledevice庫(kù)就是基于這個(gè)服務(wù)實(shí)現(xiàn)了許多功能,依賴該庫(kù)的工具ifuse實(shí)現(xiàn)的文件系統(tǒng)掛載自然也是基于此服務(wù),我們可以通過(guò)掛載文件系統(tǒng)實(shí)現(xiàn)手機(jī)端與電腦端的文件傳輸,從而實(shí)現(xiàn)android中adb push/pull的同樣效果,我們也還可以通過(guò)OpenSSH服務(wù)實(shí)現(xiàn)文件傳輸,以下是二者具體實(shí)現(xiàn):
(1)基于usbmuxd實(shí)現(xiàn)adb pull/push
ifuse是依賴libimobiledevice庫(kù)將iOS設(shè)備掛載到本地系統(tǒng)的開(kāi)源工具,安裝完庫(kù)后直接使用apt安裝
apt install ifuse
ifuse --root [掛載點(diǎn)]:越獄后將整個(gè)iphone文件系統(tǒng)掛載過(guò)來(lái)
《挑戰(zhàn)不用macOS逆向iOS APP》之兩百元成本的iOS逆向 ...-34.jpg (27.48 KB, 下載次數(shù): 111)
下載附件
2023-4-11 09:59 上傳
將文件系統(tǒng)掛載過(guò)來(lái)后我們就可以進(jìn)行自由的文件傳輸
(2)基于OpenSSH實(shí)現(xiàn)adb pull/push
OpenSSH在手機(jī)中已經(jīng)安裝過(guò),安裝后自動(dòng)開(kāi)啟ssh服務(wù),我們就可以使用linux的scp命令進(jìn)行文件傳輸
從本地push到手機(jī)
scp -P 22 1.txt root@192.168.1.108:/ 這里寫-P是為了使用一些非標(biāo)準(zhǔn)端口時(shí)指定端口
《挑戰(zhàn)不用macOS逆向iOS APP》之兩百元成本的iOS逆向 ...-35.jpg (40.68 KB, 下載次數(shù): 112)
下載附件
2023-4-11 09:59 上傳
從手機(jī)pull到本地
scp -P 22 root@192.168.1.108:/2.txt ./
《挑戰(zhàn)不用macOS逆向iOS APP》之兩百元成本的iOS逆向 ...-36.jpg (17.03 KB, 下載次數(shù): 111)
下載附件
2023-4-11 09:59 上傳
9.遠(yuǎn)程文件管理:磁盤映射/電腦上瀏覽手機(jī)文件夾
ifuse是依賴libimobiledevice庫(kù)將iOS設(shè)備掛載到本地系統(tǒng)的開(kāi)源工具,安裝完庫(kù)后直接使用apt安裝
apt install ifuse
(1)掛載文件系統(tǒng)
ifuse --root [掛載點(diǎn)]:越獄后將整個(gè)iphone文件系統(tǒng)掛載過(guò)來(lái)
(2)取消掛載
fusermount -u [掛載點(diǎn)]:卸載掛載點(diǎn)
《挑戰(zhàn)不用macOS逆向iOS APP》之兩百元成本的iOS逆向 ...-38.jpg (26.77 KB, 下載次數(shù): 123)
下載附件
2023-4-11 09:59 上傳
10.升降級(jí)和激活:恢復(fù)模式/固件升降級(jí)/手機(jī)激活
(1)進(jìn)入恢復(fù)模式
ideviceenterrecovery 讓設(shè)備啟動(dòng)到恢復(fù)模式,iOS設(shè)備的恢復(fù)模式允許用戶刷寫、升級(jí)或還原設(shè)備的固件。(2)固件升降級(jí)
idevicerestore [OPTIONS] PATH 將PATH路徑上的固件包安裝到ios設(shè)備
-u 指定設(shè)備ID
-l 使用最新可用固件(3)手機(jī)激活
ideviceactivation activate <activation_record_path>其中,activation_record_path是包含激活記錄的文件路徑。這個(gè)文件可以從其它iPhone上備份,或者從開(kāi)發(fā)人員手中獲得。運(yùn)行后,libimobiledevice將會(huì)將激活記錄寫入到手機(jī)中,從而完成激活過(guò)程。激活成功后,你的iPhone將可以正常使用。
《挑戰(zhàn)不用macOS逆向iOS APP》系列的第一課環(huán)境搭建內(nèi)容到這里就結(jié)束了,兩百元成本的iOS APP逆向的基本環(huán)境已經(jīng)搭建成功,后續(xù)會(huì)繼續(xù)更新iOS App逆向的內(nèi)容,需要購(gòu)買設(shè)備和全套學(xué)習(xí)課程的可以私信vx:r0ysue 來(lái)下單。
----------------------------- |
|