這個系列,是很早聽 MJ 課程時的整理,如今分享出來。 其中一些參考資料有些有引用,有些可能忘記添加了,若是有引用部分資料,能夠聯繫我。python
iOS 逆向(一)環境搭建
iOS 逆向(二)Cycript
iOS 逆向(三)逆向工具
iOS 逆向(四)脫殼
審覈中 iOS 逆向(五)Theos工具 iOS 逆向(六)動態調試
iOS 逆向(七)重簽名ios
iOS Jailbreak(iOS越獄),利用iOS系統的漏洞,獲取iOS系統的最高權限(Root),解開以前的各類限制(合法行爲)git
越獄後的iPhone能夠正常關機和重啓github
iPhone一旦關機後再開機時,屏幕就會一直停留在啓動畫面,也就是「白蘋果」狀態,或者能正常開機,但已經安裝的破解軟件都沒法正常使用,須要將設備與PC鏈接後,使用軟件進行引導才能使用。vim
設備 | 系統 | |
---|---|---|
iPhone5s之後,支持64位 | 8.0-8.4 | |
9.0-9.1 | 完美越獄 |
檢查手機是否能夠越獄:jailbreak.25pp.com/ios安全
越獄以後,爲了搭建開發環境,依次進行下面操做。bash
PP助手軟件源:apt.25pp.com服務器
!!!建議遵循安裝順序,不然環境配置可能配置不正確。markdown
順序 | 軟件 | 做用 | 軟件源 |
---|---|---|---|
1 | Apple File Conduit "2" | 能夠訪問整個iOS設備的文件系統 |
| Cydia apt.saurik.com | | 2 | AppSync Unified | 能夠繞過系統驗證,隨意安裝、運行破解的ipa安裝包網絡
| PP助手 apt.25pp.com | | 3 | iFile | 在iOS上訪問系統文件路徑
iFile無法經過Cydia安裝:
若是經過Cydia源安裝deb失敗,則能夠經過下面方式安裝:
/var/root/Media/Cydia/AutoInstall
;apt.thebigboss.org/repofiles/c… | | 4 | OpenSSH | 遠程登陸,Mac電腦登陸iPhone,須要在iPhone上安裝OpenSSH | |
SSH,是Secure Shell的縮寫,意爲「安全外殼協議」,是一種能夠爲遠程登陸提供安全保障的協議。使用SSH,能夠把全部傳輸的數據進行加密,「中間人」攻擊方式就不可能實現,能防止DNS欺騙和IP欺騙。
Mac要能經過SSH遠程登陸到iPhone,先必須知足如下條件:
iPhone必須先支持SSH,即遵循上面安裝OpenSSH。
SSH是經過TCP協議通訊,因此要確保Mac和iPhone在同一局域網下,好比鏈接着同一個WiFi。
SSH的通訊過程能夠分爲3大主要階段:
使用帳號和密碼便可認證
在Mac的終端輸入
ssh 帳戶名@服務器主機地址(這裏的服務器是手機)
好比ssh root@192.168.1.11
初始密碼alpine
。
退出登陸命令是exit
iOS下有2個經常使用帳戶:root、mobile
/var/root
/var/mobile
登陸mobile用戶,則使用:
ssh mobile@服務器主機地址
root和mobile用戶的初始登陸密碼都是alpine
$ ssh root@192.168.1.11
The authenticity of host '192.168.1.11 (192.168.1.11)' can't be established. RSA key fingerprint is SHA256:/VKCM1drq2VtMPyWihuo40ZHNuGnR7XeASapaaGHEg4. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added '192.168.1.11' (RSA) to the list of known hosts. root@192.168.1.11's password:
ho:~ root# exit
logout
Connection to 192.168.1.11 closed.
......
複製代碼
最好修改一下root和mobile用戶的登陸密碼(登陸root帳戶後,分別經過passwd、passwd mobile完成)
ho:~ root# passwd
Changing password for root.
New password:
Retype new password:
複製代碼
免密碼認證,最安全的一種認證方式
SSH-2默認會優先嚐試「密鑰認證」,若是認證失敗,纔會嘗試「密碼認證」。
//-f 強制更新,生成密鑰對,私鑰存在Mac,公鑰將要放在手機
$ ssh-keygen -f ~/.ssh/id_ho_rsa
//將公鑰拷貝到手機
$ ssh-copy-id -i ~/.ssh/id_ho_rsa.pub root@192.168.1.11
複製代碼
或者
// scp ~/.ssh/id_ho_rsa.pub root@服務器主機地址:路徑
$ scp ~/.ssh/id_ho_rsa.pub root@192.168.1.11:~
$ mkdir .ssh
$ cat ~/id_ho_rsa.pub >> ~/.ssh/authorized_keys
$ rm ~/id_ho_rsa.pub
複製代碼
假如仍是沒法訪問,則注意修改文件權限:
//登陸到iPhone
ho:~ root# chmod go-w ~
ho:~ root# chmod 700 ~/.ssh
ho:~ root# chmod 600 ~/.ssh/authorized_keys
複製代碼
在iPhone做爲服務端時,其ssh配置路徑爲:/etc/ssh/sshd_config
,默認不做修改。
#禁用root帳戶登陸,若是是用root用戶登陸請開啓
PermitRootLogin yes
# 是否讓 sshd 去檢查用戶家目錄或相關檔案的權限數據,
# 這是爲了擔憂使用者將某些重要檔案的權限設錯,可能會致使一些問題所致。
# 例如使用者的 ~.ssh/ 權限設錯時,某些特殊狀況下會不準用戶登入
StrictModes no
# 是否容許用戶自行使用成對的密鑰系統進行登入行爲,僅針對 version 2。
# 至於自制的公鑰數據就放置於用戶家目錄下的 .ssh/authorized_keys 內
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
# 有了證書登陸了,就禁用密碼登陸。
PasswordAuthentication no
複製代碼
經過WiFi傳輸,一個是不穩定,一個是傳輸速度慢,因此,咱們能夠經過USB進行鏈接。
手機的USB端口號是22,因此咱們須要將Mac鏈接到手機,而且經過22端口號進行數據傳輸。
$ brew install usbmuxd
//將本地主機的10010端口映射到22端口
$ iproxy 10010 22
複製代碼
或者經過下面方式:
//下載 https://cgit.sukimashita.com/usbmuxd.git/snapshot/usbmuxd-1.0.8.tar.gz
//找到對應的tcprelay.py
$ python tcprelay.py -t 22:10010
複製代碼
注意新開窗口:
//登陸到iPhone,-p 指定Mac端口
$ ssh root@localhost -p 10010
複製代碼
注意當經過USB鏈接時,scp指定端口須要用-P
指定:
$ scp -P 10010 ~/.ssh/id_rsa.pub root@localhost:~/.ssh/
複製代碼
腳本放在這兒。
bfios-usb.sh
echo 'Begin to connecting to iPhone USB port 22'
echo 'After conneted, login in 10010 port by ssh'
iproxy 10010 22
複製代碼
bfios-login.sh
echo 'Login iPhone by ssh'
ssh root@localhost -p 10010
複製代碼
將以上腳本權限更改成可執行文件,並參考放入到環境變量Path中。
$ chmod +x ios-usb.sh
$ chmod +x ios-login.sh
複製代碼
更流暢的操做
鏈接:
新開窗口,登陸:
Vim是類Unix系統無處不在的一個文本編輯器,iPhone也支持。可是須要作一些額外的配置。
經過Cydia安裝。
方向鍵錯誤,按方向鍵顯示ABCD
//方向鍵無效
$ echo "set nocp" >> ~/.vimrc
//若是刪除鍵無效
$ echo "set backspace=2" >> ~/.vimrc
$ source ~/.vimrc
複製代碼
iOS終端的中文亂碼問題
解決方案:新建一個~/.inputrc文件,文件內容是,注意把註釋刪除:
不將中文字符轉化爲轉義序列
set convert-meta off
容許向終端輸出中文
set output-meta on
容許向終端輸入中文
set meta-flag on
set input-meta on
複製代碼
2. 在設置裏面,找到Veency,設置VNC鏈接密碼; 3. 確保Mac與iPhone在同一個無線網絡中; 4. 在Mac電腦上利用VNC客戶端,進行鏈接。
Tips:
VNC客戶端推薦:Remotix
Reflector 3 軟件相似。
當Cydia安裝插件或者系統出錯後,重啓手機後,手機會一直停留在蘋果頁面。能夠嘗試下面方案:
到這裏就好了,長按以後,屏幕就會變暗,正常進入系統,並非安全模式,可是全部插件也沒有用,而後進入cydia刪掉衝突插件,重啓手機以後進入系統就正常了!
原理就是手機越獄後,安裝cydia的時候通常會自動安上MobileSubstrate這個插件,開機啓動的時候,按住音量鍵的「+」,會進入不加載MobileSubstrate的狀態,你能夠認爲這是一種不加載MobileSubstrate的僞安全狀態(Mobile Substrate必需要更新到0.9.3997以上的最新版本哦)。
Cydia裏安裝的軟件大多要依賴這個插件的,不加載MobileSubstrate,就等於停用了大部分的插件,你就能夠刪掉致使白蘋果的軟件了。
白蘋果的時候
若是還不行,那就刷官方固件吧,越獄就這樣沒了。