美文网首页
LLDB+Debugserver动态调试--建立手机到mac的连

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

作者: D_8270 | 来源:发表于2020-11-06 11:18 被阅读0次

    一直以来,我都是使用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
    

    相关文章

      网友评论

          本文标题:LLDB+Debugserver动态调试--建立手机到mac的连

          本文链接:https://www.haomeiwen.com/subject/drftbktx.html