jshook 中文文档 下载 App

ADB 端口转发——把手机端口映射到电脑本地

是什么

ADB 端口转发把电脑的某个本地 TCP 端口,映射到手机上指定的 TCP 端口。这样电脑上的 frida 客户端就能通过 127.0.0.1 访问手机上的 frida-server。

为什么要转

常用端口

手机端口用途
28042frida-server spawn 模式
28043frida-server attach 模式
28050JS Hook MCP 服务端口

一行命令

adb forward tcp:28042 tcp:28042
adb forward tcp:28043 tcp:28043

左边是电脑的本地端口,右边是手机的目标端口。写一样的数字就行。

批量转发

如果每次连手机都要手动敲好几条转发命令,可以写个脚本:

# Windows PowerShell
adb forward tcp:28042 tcp:28042
adb forward tcp:28043 tcp:28043
adb forward tcp:28050 tcp:28050
Write-Output "所有端口转发完成"

确认 ADB 设备

转发前先确认 ADB 能识别到设备:

adb devices
# 输出类似:
# List of devices attached
# 123456789ABC    device

如果是 unauthorized,手机上要点允许 USB 调试授权。如果没有任何设备,检查数据线、USB 调试开关、驱动。

撤销转发

adb reverse --remove-all
adb forward --remove-all

或者只撤某个端口:

adb forward --remove tcp:28042

Wi-Fi ADB

如果不想插 USB,也可以用 Wi-Fi ADB:

# 手机连 Wi-Fi,打开无线调试(Android 11+)
# 电脑先通过 USB 配对一次
adb tcpip 5555
adb connect <手机IP>:5555

之后就可以不拔线连 ADB 了,转发命令照常。

和 VS Code 扩展的关系

JS Hook 官方 VS Code 扩展需要手机和电脑在同一个 Wi-Fi 上(不依赖 ADB 端口转发)。但扩展底层还是通过 frida-server 端口通信,本质是同一个机制——只是不用 USB 了。

两种方式都行,看哪个方便。