愛鋒貝

 找回密碼
 立即注冊

只需一步,快速開始

扫一扫,极速登录

查看: 928|回復: 0
打印 上一主題 下一主題
收起左側

《挑戰(zhàn)不用macOS逆向iOS APP》之兩百元成本的iOS逆向 ...

[復制鏈接]

2717

主題

7453

帖子

27萬

積分

Rank: 9Rank: 9Rank: 9

最佳新人活躍會員雷鋒再世推廣達人宣傳達人灌水之王突出貢獻優(yōu)秀版主榮譽管理論壇元老微博勛章

跳轉到指定樓層
樓主
發(fā)表于 2023-4-8 19:59:16 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式

一鍵注冊,加入手機圈

您需要 登錄 才可以下載或查看,沒有帳號?立即注冊   

x
Intro
很多人在學習逆向iOS app的時候,都有兩個痛點:

  • iOS設備太貴
  • 需要macOS環(huán)境
前者需要小幾千的iPhone,后者需要至少大幾千的Macbook 。本系列文章就是為了解決這兩個痛點,全部操作在一百多塊錢的iPhone6上完成,且電腦端在r0env/Win上進行演示,讓我們康康,這幾乎無成本的一套環(huán)境,究竟可以讓我們走多遠,走多深!
本篇文章是《挑戰(zhàn)不用macOS逆向iOS APP》系列的第一課環(huán)境搭建主要為了實現在iOS APP逆向過程中一些環(huán)境方面的常規(guī)需求,具體實現目標如下:

  • windows中iPhone基本信息獲取/軟件安裝/投屏
  • 越獄設備分析推薦/工具推薦/unC0ver流程詳解
  • 越獄后手機常用工具:日志/網絡/包管理/免簽名
  • Frida/Objection/任意版本安裝切換/動態(tài)分析
  • ios砸殼/IPA靜態(tài)分析基本流程/IDAF5函數定位
  • linux中iphone手機信息獲取:ID/名稱/詳情/簽名/截屏/定位
  • 安裝APP/IPA:安裝/卸載/升級/備份/回復APP
  • 收發(fā)傳輸文件:usbmuxd OpenSSH=adb pull/push
  • 遠程文件管理:磁盤映射/電腦上瀏覽手機文件夾
  • 升降級和激活:恢復模式/固件升降級/手機激活
該系列為學員優(yōu)秀作品系列,附件apk、代碼等位于我的項目中,大家可以自取:
https://github.com/r0ysue/AndroidSecurityStudy

1.Windows中iPhone基本信息獲取/軟件安裝/投屏


(1)基本信息獲取

Windows中操作iPhone官方推薦方式是使用iTunes,但是后續(xù)我們會安裝未經簽名的應用,因此這里我們推薦使用愛思助手進行操作。直接去官網下載安裝愛思助手,打開并在手機上信任此電腦






(2)軟件安裝

軟件安裝:點開愛思助手的應用游戲可以直接安裝,愛思上安裝的軟件有APP Store上架的也有未上架但有企業(yè)賬號簽名的,具體內容涉及IPA簽名,會在后續(xù)文章解釋。




(3)手機投屏

直接使用愛思助手中的投屏,可以使用有線投屏,同一局域網下也可以使用無線投屏




手機端上滑點擊屏幕鏡像點擊愛思投屏即可。

2.越獄設備分析推薦/unC0ver流程詳解


(1)越獄設備的分析與推薦

查看愛思助手的越獄方式可以看到
可以支持ios版本最高的是unc0ver方式可以支持到iOS14.8,而又由于iPhone越獄失敗后重啟設備失敗的話需要恢復出廠設置,此時會自動更新到當前設備支持的最新iOS版本,而iPhone6最高版本是12.5.4,iPhone6s和iPhone7最新版本均是iOS 15,因此我們選擇使用iPhone6作為越獄設備,這樣即使越獄失敗最新版本也依然在越工具支持版本之下。
越獄方式對比,這里主要分析兩種方式unc0ver和Checkra1n
checkra1n:比較復雜還要制作u盤但是勝在穩(wěn)定
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/任意版本安裝切換/動態(tài)分析

這里使用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靜態(tài)分析基本流程/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靜態(tài)分析基本流程及IDAF5函數定位

因為本篇文章主題是環(huán)境搭建,因此這里僅演示簡單流程

file 高考蜂背.ipa
unzip 高考蜂背.ipa
cd Payload/
cd Gkfb.app/
file * | grep -i mach
ida64 ./Gkfb經過frida-ios-dump砸殼后我們拿到了IPA包對其進行解壓,并檢索內部mach-o可執(zhí)行文件,隨后用ida分析文件。






分析過程檢索發(fā)現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.收發(fā)傳輸文件: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上備份,或者從開發(fā)人員手中獲得。運行后,libimobiledevice將會將激活記錄寫入到手機中,從而完成激活過程。激活成功后,你的iPhone將可以正常使用。
《挑戰(zhàn)不用macOS逆向iOS APP》系列的第一課環(huán)境搭建內容到這里就結束了,兩百元成本的iOS APP逆向的基本環(huán)境已經搭建成功,后續(xù)會繼續(xù)更新iOS App逆向的內容,需要購買設備和全套學習課程的可以私信vx:r0ysue 來下單。

-----------------------------
天行健 君子以自強不息,地勢坤 君子以厚德載物
您需要登錄后才可以回帖 登錄 | 立即注冊   

本版積分規(guī)則

QQ|Archiver|手機版|小黑屋|愛鋒貝 ( 粵ICP備16041312號-5 )

GMT+8, 2025-2-12 13:34

Powered by Discuz! X3.4

© 2001-2013 Discuz Team. 技術支持 by 巔峰設計.

快速回復 返回頂部 返回列表