LLDB+Debugserver动态调试--建立手机到mac的连

2020-11-06  本文已影响0人  D_8270

一直以来,我都是使用iPhoneTunnel这个小工具来通过USB线ssh登录到手机,其安装和使用方法可以参考我很早之前的一篇说明:通过USB线SSH登陆到越狱手机上(命令行模式的),不通过wifi

这个小工具仅仅只是自动帮我们在mac端做了一个端口转发,将mac上的2222端口转发到手机设备的22端口,然后弹出一个ssh登录的命令行窗口,输入手机设备的连接密码(默认alpine),便可登录到设备。
但貌似它一次只能做一次端口转发,当在手机设备端启动Debugserver服务,此处也需要指定监听一个端口,此工具就满足不了,此时还是需要使用usbmuxd这个老工具了。

usbmuxd这个工具在这个帖子里有详细的描述,最好是使用usbmuxd的1.0.8版本,新版usbmuxd中用到iproxy,可能有些许问题,没有去摸索过。
将usbmuxd1.0.8下载地址,解压到本地。我们要用到的只有python-client目录下的tcprelay.py和usbmux.py两个文件,把它们放到同一个目录下,如:

/Users/xxx/Code/USBSSH/

然后我们需要开启四个命令行窗口(好啰嗦的感觉),两个作为端口转发,一个ssh登录到手机设备开启debugserver服务,另一个在mac端使用lldb链接debugserver服务:
注意:新版本下,ip最好都使用127.0.0.1,不然会导致莫名的连接不上

#端口转发
#ios端22端口:本地2222端口【因为要ssh登录到ios设备,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登录到设备
#debugserver最后那一串,可以先手动打开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
上一篇下一篇

猜你喜欢

热点阅读