本人裝置,越獄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.我這裡逆向的是ximalaya
App,那麼可以看到檔案的地址是/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操作。