準(zhǔn)備工作
在進(jìn)行越獄開發(fā)之前,我們首先需要一款越獄設(shè)備患膛,在iOS9以下可以完美越獄摊阀,iOS9以上不完美越獄,具體越獄方式可以下載愛思助手進(jìn)行一鍵越獄踪蹬。
完美越獄:越獄之后之喲啊哦不升級系統(tǒng)就一直是越獄狀態(tài)
非完美越獄:每次重啟手機都要重新越獄
必備插件
安裝openSSH插件
通過openSSH連接(登錄)手機
$ssh 用戶名@用戶服務(wù)器地址
此時要輸入密碼驹溃,默認(rèn)的密碼是 alpine ,可以在OpenSSH -> Root Password How-To 里面看到
連接成功如圖
退出
$exit
iOS 下有兩個用戶
- root 最高權(quán)限的用戶 所在目錄$HOME:/var/root
- mobile 普通用戶 所在目錄$HOME: /var/mobile
可以用iFunBox查看目錄
修改ssh登錄密碼
$passwd 輸入兩次新密碼
刪除SSH服務(wù)器對應(yīng)的公鑰
$ssh-keygen -R 服務(wù)器IP地址
SSH
SSH是一種網(wǎng)絡(luò)協(xié)議.用于計算機之間的加密登錄!
openSSH
openSSH其中一種軟件.
SSH通訊過程
中間人攻擊(Man-in-the-MiddleAttack,簡稱“MITM攻擊”)
預(yù)防中間人攻擊最有效的方法就是驗證 公鑰是不是服務(wù)器的!!
如果是公開的SSH服務(wù)器,一般會將公鑰的哈希值 公布在網(wǎng)站上!!
SSH使用公鑰登錄
除了使用密碼登錄,也可以免密碼登錄!
所謂的"公鑰登錄",原理:
1.Mac電腦將自己的公鑰發(fā)給遠(yuǎn)程的手機
2.手機隨機的生成一段字符串,發(fā)給Mac電腦.
3.Mac利用私鑰加密字符串!
4.手機利用公鑰解密字符串!
如果還要輸入密碼的話,設(shè)置文件的權(quán)限! chmod 755
- 1延曙、生成SSH key
$ssh-keygen -t rsa -C "郵箱"
- 2豌鹤、進(jìn)入~/.ssh目錄, 拷貝ssh key到手機枝缔,即可免密登錄
$ssh-copy-id root@手機IP
USB連接
SSH的默認(rèn)的端口是22布疙,所以還可以用如下方式訪問手機
$ssh -p 22 root@192.168.0.100
usbmuxd 在iOS和Mac上都是自帶的,用來做映射
使用工具
執(zhí)行腳本
python tcprelay.py -t 22:12345 將本機的12345端口映射到手機的22號端口
連接手機
ssh -p 12345 root@電腦IP
或者ssh root@localhost -p 2222
切換手機之后報錯
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that a host key has just been changed.
The fingerprint for the RSA key sent by the remote host is
SHA256:Uvx4S9p5QbJXwuW/T7CZD0BE2tQr1xDHVhOf/253i00.
Please contact your system administrator.
Add correct host key in /Users/heaven/.ssh/known_hosts to get rid of this message.
Offending ECDSA key in /Users/heaven/.ssh/known_hosts:11
RSA host key for 192.168.2.7 has changed and you have requested strict checking.
Host key verification failed.
解決辦法 刪除 known_hosts中的上一次連接保存的
查看手機所有進(jìn)程
ps -A
文件拷貝
將文件拷貝到手機root根目錄(Wifi)
$scp 文件名 root@手機IP地址:~/
(scp -P 2222 dumpdecrypted.dylib root@localhost:~/)
拷貝文件夾
(scp -r -P 2222 文件夾名字/ root@localhost:~/)
應(yīng)用瘦身
單獨導(dǎo)出arm64 的macho文件
$lipo 應(yīng)用名字 -thin arm64 -output arm64_name