Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

24-2021/24adbspy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

6 Commits

Repository files navigation

24adbspy

一个轻量级的安卓设备 Web 管理与调试工具。提供设备列表、无线连接、一次性命令执行、交互式终端、文件管理、截屏、以及联系人/短信/定位/WiFi 等信息查看。

特性

  • 设备管理:列出已连接设备,支持无线 ip:port 连接
  • 一次性命令:在 Shell 标签中输入并执行单条命令
  • 交互式终端:通过浏览器获得类终端的交互体验
  • 文件管理:浏览目录、上传/下载、查看、重命名、删除
  • 截屏:一键获取设备当前屏幕图像
  • 信息采集:联系人、短信、定位、WiFi 信息
  • 本地依赖:xterm.js 等资源已本地化,避免外网依赖导致的加载慢问题

环境要求

  • Go 1.20+(建议)
  • Windows 或 Linux/macOS
  • 本地已安装并可执行的 adb(Windows 下支持在项目根目录放置 adb.exe)

本地安装adb

参考:https://blog.csdn.net/Javachichi/article/details/145017825

Windows

二进制包内有自带的adb.exe

或者

https://dl.google.com/android/repository/platform-tools-latest-windows.zip

Linux

apt安装

sudo apt update
sudo apt install adb

Macos

https://dl.google.com/android/repository/platform-tools-latest-darwin.zip

快速开始

  • Windows
    • 运行 .\build.bat
    • 执行 .\bin24円adbspy.exe
    • 浏览器访问 http://localhost:15555
  • Linux/macOS
    • 运行 bash build.sh
    • 执行 ./bin/24adbspy
    • 浏览器访问 http://localhost:15555

使用说明

  • 顶部下拉框选择设备,或在右侧输入 ip:port 后点击 Connect 进行无线连接
  • 标签页说明:
    • Shell:一次性命令执行,适合快速查询
    • Terminal (Interactive):交互式终端,适合持续操作
    • Files:文件/目录查看与操作(查看、下载、重命名、删除、上传)
    • Screenshot:截屏并在页面展示
    • Spy Info:联系人、短信、定位、WiFi 信息查看

交互式终端说明

  • 为确保在 Windows 环境也能稳定交互,后端使用 adb shell -t -t 强制远端分配 PTY
    • 代码位置:handlers/terminal.go:45
  • 为避免回车需要按两次:
    • 后端将前端发送的 \r 转换为 \n,保证 adb 立即执行命令
    • 代码位置:handlers/terminal.go:117
  • 为降低输出延迟:
    • 前端将 WebSocket 设置为 arraybuffer,直接写入 xterm
    • 代码位置:static/app.js:159

文件管理

  • 列表中支持查看、下载、重命名、删除
  • 文本与图片文件可直接在浏览器新标签预览(后端使用 exec-out cat 输出)
  • 删除操作带有基本的安全检查,避免误删系统关键路径

构建与目录

  • Windows 构建脚本:build.bat,输出到 bin 目录并复制 static 资源
  • Linux/macOS 构建脚本:build.sh,输出到 bin 目录并复制 static 资源
  • 可执行文件与静态资源位于 bin/ 下,方便打包与分发

常见问题

  • 交互终端显示 "Remote PTY will not be allocated...":
    • 已启用双 -t(adb shell -t -t),若仍异常,请确认设备允许 shell 分配 PTY
  • 回车无响应或需要按两次:
    • 已在后端做 \r\n 适配;若仍异常,清理浏览器缓存后重试
  • 加载慢:
    • 项目已使用本地化的前端依赖,请确认浏览器未被代理或拦截
  • 短信/联系人为空:
    • 可能是权限或系统版本差异导致;项目已加入降级查询和解析逻辑,具体见 handlers/info.go

安全提示

  • 文件删除功能包含基础防护,但请谨慎操作生产设备
  • 请在合法合规的前提下使用信息采集功能(联系人/短信/定位/WiFi)

演示

连接adb

image-20251225124548222

选择adb连接

image-20251225124634076

普通终端

image-20251225124717406

交互终端

image-20251225124734595

文件管理

image-20251230122424389

image-20251230122518420

image-20251230122548752

截图

image-20251230123226958

获取敏感信息(目前存在一些问题)

image-20251230122639733

许可

此项目仅用于学习与研究目的,使用者需自行承担相应风险与责任。

About

adb未授权管理

Resources

Stars

Watchers

Forks

Packages

No packages published

AltStyle によって変換されたページ (->オリジナル) /