LLDB+Debugserver動(dòng)態(tài)調(diào)試--建立手機(jī)到mac的連接

一直以來,我都是使用iPhoneTunnel這個(gè)小工具來通過USB線ssh登錄到手機(jī),其安裝和使用方法可以參考我很早之前的一篇說明:通過USB線SSH登陸到越獄手機(jī)上(命令行模式的),不通過wifi

這個(gè)小工具僅僅只是自動(dòng)幫我們?cè)趍ac端做了一個(gè)端口轉(zhuǎn)發(fā),將mac上的2222端口轉(zhuǎn)發(fā)到手機(jī)設(shè)備的22端口,然后彈出一個(gè)ssh登錄的命令行窗口,輸入手機(jī)設(shè)備的連接密碼(默認(rèn)alpine),便可登錄到設(shè)備。
但貌似它一次只能做一次端口轉(zhuǎn)發(fā),當(dāng)在手機(jī)設(shè)備端啟動(dòng)Debugserver服務(wù),此處也需要指定監(jiān)聽一個(gè)端口,此工具就滿足不了,此時(shí)還是需要使用usbmuxd這個(gè)老工具了。

usbmuxd這個(gè)工具在這個(gè)帖子里有詳細(xì)的描述,最好是使用usbmuxd的1.0.8版本,新版usbmuxd中用到iproxy,可能有些許問題,沒有去摸索過。
將usbmuxd1.0.8下載地址,解壓到本地。我們要用到的只有python-client目錄下的tcprelay.py和usbmux.py兩個(gè)文件,把它們放到同一個(gè)目錄下,如:

/Users/xxx/Code/USBSSH/

然后我們需要開啟四個(gè)命令行窗口(好啰嗦的感覺),兩個(gè)作為端口轉(zhuǎn)發(fā),一個(gè)ssh登錄到手機(jī)設(shè)備開啟debugserver服務(wù),另一個(gè)在mac端使用lldb鏈接debugserver服務(wù):
注意:新版本下,ip最好都使用127.0.0.1,不然會(huì)導(dǎo)致莫名的連接不上

#端口轉(zhuǎn)發(fā)
#ios端22端口:本地2222端口【因?yàn)橐猻sh登錄到ios設(shè)備,ssh只能使用22端口,所以ios端只能指定為22,本地端口可以隨意指定】
#窗口1
/Users/xxx/Code/USBSSH/tcprelay.py -t 22:2222

#ios端用8888作為通信端口
#窗口2
/Users/xxx/Code/USBSSH/tcprelay.py -t 8888:8888

#窗口3 ssh登錄到設(shè)備
#debugserver最后那一串,可以先手動(dòng)打開app,然后ps -ef 找出app的完整路徑
ssh root@127.0.0.1 -p 2222
debugserver -x backboard 127.0.0.1:8888 /var/containers/Bundle/Application/755FA972-9F9B-4675-8E49-312F533BAECC/pool.app/pool

#窗口4 開啟lldb
lldb
process connect connect://127.0.0.1:8888
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容