iOS逆向入門解析

BetterDays發表於2018-05-09

本人裝置,越獄iPhone5s 8.1系統。

一、通過wifi連線手機

通過OpenSSH的方式連線手機(確保你的路由器沒有關閉SSH),這個方法只是讓大家瞭解一下,還是建議大家用資料線的方式連線,因為無線的方式太慢了,資料線的方式傳輸資料速度比較快。

1、手機、mac連線同一wifi,開啟越獄手機無線頁面,點選已連線無線右側感嘆號圖示,看到DHCP下IP地址選項 192.168.xxx.xxx

2、mac上開啟命令列輸入ssh@root192.168.xxx.xxx -> 回車 -> yes -> 手機初始密碼alpine,至此mac成功連線上iPhone。

二、wifi連線手機傳輸資料較慢,下面是通過資料線連線手機

下載usbmuxd工具包,cgit.sukimashita.com/usbmuxd.git/snapshot/usbmuxd-1.0.8.tar.gz 主要用到裡面的一個python指令碼,將iPhone的22埠(SSH埠)對映到Mac本地的10010埠,執行下邊兩端程式碼

cd ~/Documents/usbmuxd-1.0.8/python-client 
python tcprelay.py -t 22:10010
複製程式碼

加上-t引數是為了能夠同時支援多個SSH連線,這時候連上資料線並開啟一個新的命令列視窗輸入ssh -p 10010 root@localhost,-p是埠的意思。敲完這個命令就通過資料線連線上了手機,上邊的兩步操作可以寫到.sh檔案中,通過sh或bash或source命令快速執行。

三、Cycript除錯程式

1、通過Cydia安裝Cycript

ps -A列出當前手機所有程式 列出當前程式後,你就可以看到你想要的app的MACH-O的位置了。通過iFunbox開啟位置把MACH-O檔案拷貝到mac上供你享用。eg.我這裡逆向的是ximalayaApp,那麼可以看到檔案的地址是/var/mobile/Containers/Bundle/Application/1B21585A-E451-477E-BA0C-26AF35960168/ting.app/ting

cycript -p xxx連線當前程式。eg.cycript -p ting

control + d退出連線

2、可以自己封裝Cycript庫存放到手機中,預設路徑是手機的/usr/lib/cycript0.9資料夾 #import xxx可以匯入自己寫的庫。eg.我這裡用的李明傑的庫,github地址,然後我把內容改成了自己的名字放到了預設路徑中,為了防止衝突在/usr/lib/cycript0.9新建了資料夾com/wlz/WLZCycript.cy(用到的工具是iFunBox),具體用法可以參考MJ庫的解析。

四、class-dump

一般從pp助手上下載的app都不用脫殼,所以這裡省略了脫殼的教程。 官方地址:stevenygard.com/projects/cl…下載完工具包後將class-dump檔案複製到Mac的/usr/local/bin目錄,這樣在終端就能識別class-dump命令了。將app的標頭檔案匯入到mac中。有了標頭檔案就可以做很多事情了。 1、把Mach-o檔案copy到mac上,然後執行下邊的命令。

class-dump  -H  Mach-O檔案路徑  -o  標頭檔案存放目錄
-H表示要生成標頭檔案
-o用於制定標頭檔案的存放目錄
複製程式碼

五、tweak

六、SSH-基於祕鑰的客戶端認證

1、SSH-2認證方式

SSH-2提供了2種常用的客戶端認證方式

1️⃣基於密碼的客戶端認證

  • 使用賬號和密碼即可認證

2️⃣基於金鑰的客戶端認證

  • 免密碼認證
  • 最安全的一種認證方式

SSH-2預設會優先嚐試“金鑰認證”,如果認證失敗,才會嘗試“密碼認證”

2、在客戶端(Mac)生成公鑰、私鑰。

ssh-keygen 然後一直回車,生成公鑰~/.ssh/id_ras.pub 私鑰~/.ssh/id_rsa

OpenSSH預設生成的是RSA祕鑰,可以通過-t指定祕鑰型別。

3、把客戶端(Mac)的公鑰內容追加到伺服器的授權檔案(~/.ssh/authorized_keys)尾部即可

需要注意的是客戶端有兩個常用賬戶,

  • root 最高許可權賬戶,路徑是 /var/root
  • mobile 普通許可權賬戶,路徑是 /var/mobile

我這裡是把authorized_keys檔案copy到客戶端(Mac)上,然後把公鑰copy到此檔案尾部,然後再把此檔案copy到服務端(iPhone)~/.ssh/目錄下,覆蓋舊檔案。如果配置了免密碼登入之後還需要輸入密碼,那就需要在服務端用chmod設定檔案許可權,具體可以自己百度。

  • iFunBox 此工具可以開啟檔案目錄,進行copy操作。

相關文章