提高工作效率的工具
名稱 | 用途 |
---|---|
Alfred | 便捷搜尋/工作流 |
XtraFinder | 增強形Finder |
iTerm2 | 完爆Terminal的命令列工具 |
Go2Shell | 從Finder快速定位到命令列工具 |
Mac遠端登入到iPhone
通過Mac遠端登入到iPhone的方式建立連線
SSH、OpenSSH
- SSH
Secure Sehll
,安全外殼協議,是一種可以為遠端登入提供安全保障的協議- 使用
SSH
,可以把所有傳輸的資料進行加密,“中間人”攻擊方式就不可能實現,能防止DNS
欺騙和IP
欺騙 - 是通過
TCP
協議通訊,所以要確保MAC
和iPhone
在同一個區域網
- OpenSSH
- 是
SSH
協議的免費開源實現 - 可以通過
OpenSSH
的方式讓Mac
遠端登入到iPhone
- 是
###使用OpenSSH遠端登入步驟
- ssh 帳戶名@伺服器主機地址,初始密碼為
alpine
ssh root@192.168.1.1
複製程式碼
- 進入之後可以用
passwd
命令來修改密碼 - 退出命令
exit
複製程式碼
root、mobile
- root: 最高許可權帳戶,
$HOME
是/var/root
- mobile: 普通許可權,只能操作一些普通檔案,不能作業系統級別的檔案,$HOME是/var/mobile
SSH的通訊過程
- 建立安全連線,就是利用
SSL
- 客戶端認證
- 基於密碼
- 基於金鑰
cd ~/.ssh
ssh-keygen
ssh-copy-id root@192.168.1.1
cat ~/.ssh/authorized_key
複製程式碼
- 資料傳輸
22埠
埠:對外服務的埠
- 21: ftp
- 80: http
- 22: ssh
通過USB進行SSH登入
- 預設情況下,由於
SSH
走的是TCP
協議,Mac
是通過網路連線的方式登入到iPhone
,要求iPhone
連線Wifi
- 為了加快傳輸速度,也可以通過
USB
連線的方式進行SSH
登入(usbmuxd
)
usbmuxd的使用
- 下載usbmuxd工具包
https://cgit.sukimashita.com/usbmuxd.git/
複製程式碼
- 將
iPhone
的22埠對映到Mac
的10010埠
python tcprelay.py -t 22:10010
複製程式碼
- 連線自己的10010埠
localhost,本地虛擬網路卡的IP地址,127.0.0.1
ssh root@localhost -p 10010
複製程式碼
usbmuxd
會將Mac
本地10010埠的TCP
協議資料,通過USB
連線轉發到iPhone
iOS終端的中文亂碼問題
- 預設情況下,
iOS
終端不支援中文輸入和顯示 - 解決文案:新建一個
~/.inputrc
檔案
set convert-meta off
set output-meta on
set meta-flag on
set input-meta on
複製程式碼
- 如果是想在終端編輯檔案內容,可以安裝一個
vim
Cycript的開啟和關閉
- 開啟
cycript
cycript -p 程式ID
cycript -p 程式名稱
複製程式碼
Cycript常用語法
- UIAPP
[UIApplication sharedApplication]
複製程式碼
- 定義變數
var 變數名 = 變數值
複製程式碼
- 用記憶體地址獲取物件
#記憶體地址
複製程式碼
- 已載入的所有OC類
ObjectiveC.classes
複製程式碼
- 檢視物件的所有成員變數
*物件
複製程式碼
- 遞迴列印view的所有子控制元件(跟lldb一樣的函式)
UIApp.keywindow.recursiveDescription().toString()
複製程式碼
*篩選出某種型別的物件
choose(UIViewController)
複製程式碼