天天看點

iOS小技能:usbMuxd的應用(1、通過USB方式SSH到iOS越獄裝置 2、端口轉發)

前言

usbmuxd的應用場景舉例

  1. 通過USB方式SSH到iOS越獄裝置
  2. 端口轉發

I usbmuxd的應用場景舉例

應用場景1: 通過USB連接配接 來使用SSH到iOS裝置

把本地2222端口轉發到iOS的22端口

alias relay22='python ~/Downloads/kevin-software/ios-Reverse_Engineering/usbmuxd-1.0.8\ 2/python-client/tcprelay.py  -t 22:2222'      
alias sshusb='ssh root@localhost -p 2222'      

應用場景2: ​

​debugserver​

​的開啟與LLDB的連接配接]

iPhone:/usr/bin root# debugserver *:12345 -a "WeChat"
debugserver-@(#)PROGRAM:debugserver  PROJECT:debugserver-320.2.89
 for armv7.
Attaching to process WeChat...
Listening to port 12345 for      

把本地12345端口轉發到iOS的12345端口

alias relay12345='python ~/Downloads/kevin-software/ios-Reverse_Engineering/usbmuxd-1.0.8\ 2/python-client/tcprelay.py  -t  12345:12345'      
devzkndeMacBook-Pro:~ devzkn$ lldb
(lldb) process connect connect://localhost:12345
Process 7291 stopped      

II 使用步驟

  • usbmuxd-1.0.8 :通過USB方式SSH到iOS裝置, 使用python-client 目錄下的兩個檔案即可。
/Users/devzkn/Downloads/kevin-software/ios-Reverse_Engineering/usbmuxd-1.0.8 2/python-client

檢視tcprelay.py用法

python tcprelay.py –help      

2.1 安裝

brew install usbmuxd      
你也可以下載下傳源碼,修改檔案的執行權限即可

2.2 修改權限

devzkndeMacBook-Pro:python-client devzkn$ ls -l
total 56
-rw-r--r--  1 devzkn  staff   4192 Apr  8  2012 tcprelay.py
-rw-r--r--  1 devzkn  staff   7974 Apr  8  2012 usbmux.py
-rw-r--r--  1 devzkn  staff  11818 Oct 17 15:52 usbmux.pyc
devzkndeMacBook-Pro:python-client devzkn$  chmod +x tcprelay.py

devzkndeMacBook-Pro:python-client devzkn$ ls -l
total 56
-rwxr-xr-x  1 devzkn  staff   4192 Apr  8  2012 tcprelay.py
-rw-r--r--  1 devzkn  staff   7974 Apr  8  2012 usbmux.py
-rw-r--r--  1 devzkn  staff  11818 Oct 17 15:52 usbmux.pyc      

2.3 使用tcprelay.py進行端口轉發

devzkndeMacBook-Pro:python-client devzkn$ python tcprelay.py -t 22:2222
Forwarding local port 2222 to remote port 22
Incoming connection to 2222
Waiting for devices...
Connecting to device <MuxDevice: ID 30 ProdID 0x12a8 Serial 'fa6770acd2e0625c36a6f2a6c402e454bb0fdd96'      
高版本的usbMuxd是使用iproxy進行端口轉發: iproxy 2222 22

2.4 連接配接iPhone

Last login: Tue Oct 17 15:59:22 on ttys005
devzkndeMacBook-Pro:python-client devzkn$ ssh root@localhost -p 2222
The authenticity of host '[localhost]:2222 ([127.0.0.1]:2222)' can't be established.
RSA key fingerprint is SHA256:hdg7rpLlaoVG6lTeurZ8Nn+wdCLhA3NXI1vruiotiKc.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '[localhost]:2222' (RSA) to the list of known hosts.
root@localhost's password: 
iPhone:~ root#      

III 常見問題

socket.gaierror: [Errno 8] nodename nor servname provided, or not known      
127.0.0.1  localhost      

3.1 配置config

  • 使用ssh config配置檔案來管理ssh連接配接
devzkndeMacBook-Pro:.ssh devzkn$ ssh localhost -p 2222      
# Private localhost      

3.2 設定指令别名

devzkndeMacBook-Pro:~ devzkn$  open -e .bash_profile      
alias relay22='python ~/Downloads/kevin-software/ios-Reverse_Engineering/usbmuxd-1.0.8\ 2/python-client/tcprelay.py  -t 22:2222'      
alias nic='/opt/theos/bin/nic.pl'
alias sshiphone='ssh localhost -p 2222'
alias sshusb='ssh root@localhost -p 2222'      
devzkndeMacBook-Pro:~ devzkn$ source      
devzkndeMacBook-Pro:~ devzkn$ sshusb      

see also