@windypro-rourou/dsh-logcat 0.6.6 → 0.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.en.md CHANGED
@@ -23,8 +23,8 @@ An Android real-device debugging workbench for the DSH Web GUI (an Android Studi
23
23
  - **Install APK button**: local file picker installs an APK to the current device (streamed upload, 1GB cap)
24
24
  - **Quick device keys**: Home / Back / Recents / Wake / Power / Volume ± with one click
25
25
  - **Performance sparklines**: CPU / memory / battery sampled every 2s with trend charts in the status bar
26
- - **Live screen casting + remote control**: the "Screen" tab streams the device display (~1fps over WS binary frames); **click = tap, drag = swipe**, a text input sends keystrokes straight to the phone, quick keys included, one-click download of the current frame — no need to pick up the phone
27
- - **Reverse-engineering workbench** (Log / Screen / RE tabs): process list → memory hex/string search → match addresses → click to dump 256B
26
+ - **Live screen casting + desktop control**: the "Screen" tab streams the device display as **H.264 video (WebCodecs hardware decode, measured 55-60fps)** with selectable resolution tiers (360x800 / 540x1200 / 720x1600 / 1080x2400) and two modes (smooth video / sharp PNG). It **follows device rotation** (a landscape device automatically streams 1200x540 — a full frame with no letterbox — and touch coordinates are remapped to the current orientation), and gestures are injected with **3-5ms** latency by a long-lived `app_process` injector (the stock `input` command boots a Java VM per call, ~480ms; the injector auto-deploys on first use and silently falls back to `input`). **Control the phone from your computer**: click = tap, drag = swipe, **wheel = scroll**, **right-click = BACK**, **long-press**, **double-click**, **type on your physical keyboard** (letters/digits/symbols go straight through; Enter/Backspace/Esc/arrows/Tab map to keys), a text box for IME (Chinese) input, quick keys (Home/Back/Wake/Volume), one-click frame download and a ⛶ fullscreen toggle.
27
+ - **Reverse-engineering workbench** (Log / Screen / RE tabs): process list → **auto-loaded module map** (library / base / perms, click a base to dump it) → memory hex/string search → dump hits → **manual address + length dump**, with a **hex + ASCII** view.
28
28
  - Pause/resume (pause buffers new lines, resume replays them), clear, copy, export .txt
29
29
  - Windowed rendering + auto-scroll (pauses while you scroll up manually)
30
30
  - Unauthorized-device hint ("allow USB debugging on the phone")
@@ -37,6 +37,7 @@ An Android real-device debugging workbench for the DSH Web GUI (an Android Studi
37
37
  - Reverse engineering / memory: `proc_list` (process list), `proc_maps` (memory maps + module bases), `proc_status` (process state / memory summary), `proc_smaps` (top Pss regions), `mem_dump` (read memory at an address as hex), `mem_search` (search memory for hex/string patterns), `frida_server` (deploy/start/stop frida-server), `frida_script` (generate hook/trace/scan/bypass/dump script templates)
38
38
  - **Real-device debugging workflow**: while building an Android app, the agent's announcement dynamically lists connected devices (serial + model) and the current test package. After confirming with the user: `adb_install` to deploy → `adb_exec`/`app_launch` to start → `logcat_set_package` to lock → `logcat_recent` / `logcat_crash` for crashes → `ui_dump` + `input_*` for UI automation → `adb_pull` for artifacts. A closed loop on real hardware.
39
39
  - **Reverse-engineering workflow**: `proc_list` to find the process → `proc_maps` for module bases → `mem_dump` at a target address / `mem_search` for signatures → `proc_smaps` for memory detail → `frida_script` + `frida_server` for dynamic instrumentation. Reading another app's memory/maps needs root or a debuggable app (run-as); tools return clear errors otherwise.
40
+ - **Native integration (DSH 0.2)**: mounts through the official slots as a central `main` panel with its own `sidebar.panellist` row — the same docking, theming and layout behaviour as built-in panels; `dsh.client.inject` is aligned with the 0.2 manifest. Older clients (0.1.x) fall back to the right-hand drawer automatically, so one install serves both. Icons are a bundled SVG set (no icon dependency) and colours prefer the host's `--dsw-*` design tokens.
40
41
  - **Extra routes**: `POST /api/dsh-logcat/exec` (shell), `POST /api/dsh-logcat/package` (set package), `GET /api/dsh-logcat/screenshot`, `POST /api/dsh-logcat/install-adb`, `GET /api/dsh-logcat/history`, `GET /api/dsh-logcat/crashes` + `GET /api/dsh-logcat/crash-file`, `POST /api/dsh-logcat/install-apk`, `POST /api/dsh-logcat/keyevent`, `POST /api/dsh-logcat/wifi-connect` / `wifi-disconnect`, `GET /api/dsh-logcat/processes`, `POST /api/dsh-logcat/mem-search`, `GET /api/dsh-logcat/mem-dump`.
41
42
  - **On-disk data**: logs are written per device per day to `~/.dsh/logcat/logs/<serial>/logcat-MM-DD.log` (raw threadtime lines); crash snapshots live in `~/.dsh/logcat/crashes/<serial>/<timestamp>-<FATAL|ANR>/` (`screenshot.png` + `crash.log` + `meta.json`).
42
43
 
package/README.md CHANGED
@@ -25,9 +25,16 @@ DSH Web GUI 的安卓实机调试面板(类似 Android Studio 的 Logcat 视
25
25
  - **装APK 按钮**:本地文件选择器选 APK 直接安装到当前设备(流式上传,1GB 上限)
26
26
  - **设备快捷按键**:Home / 返回 / 最近任务 / 唤醒 / 电源 / 音量 ± 一键发送
27
27
  - **性能曲线**:CPU / 内存 / 电量每 2s 采样,状态栏 sparkline 趋势图
28
- - **屏幕实时投屏与远程操控**:「屏幕」tab 开启 ~1fps 实时画面(WS 二进制帧推送),**点击=点按、拖动=滑动**、
29
- 文字输入框直接发到手机、快捷按键(Home/返回/唤醒/音量)、一键下载当前帧 —— 不用拿起手机
30
- - **逆向工作台(日志/屏幕/逆向三 tab)**:进程列表 → 内存 hex/字符串搜索 → 匹配地址 → 点击转储 256B 查看
28
+ - **屏幕实时投屏与电脑控制**:「屏幕」tab 开启实时画面 —— **H.264 视频流(WebCodecs 硬解,实测 55~60fps)**,
29
+ 分辨率档位可选(360x800 / 540x1200 / 720x1600 / 1080x2400),流畅(视频)/ 高清(PNG)双模式;
30
+ **自动跟随设备旋转** —— 横屏时流尺寸自动交换为 1200x540,画面满屏无黑边,触控坐标同步换算到当前方向;
31
+ **操控低延迟** —— 内置长驻手势注入器(`app_process` + 内嵌 dex,首次自动部署),点击/按键注入仅 **3~5ms**
32
+ (原生 `input` 命令每次都要启动一个 Java VM,实测约 480ms);注入器不可用时自动回退到 `input`,不影响可用性;
33
+ **在电脑上直接操控手机**:点击=点按、拖动=滑动、**滚轮=上下滑动**、**右键=返回键**、**长按=长按**、**双击=双击**、
34
+ **实体键盘直接打字**(字母/数字/符号直通手机,Enter/Backspace/Esc/方向键/Tab 映射为对应按键)、
35
+ 文字输入框(支持中文 IME)、快捷按键(Home/返回/唤醒/音量)、一键下载当前帧、⛶ 全屏
36
+ - **逆向工作台(日志/屏幕/逆向三 tab)**:进程列表 → **自动加载模块地图**(so 库名/基址/权限,点击基址直接转储)→
37
+ 内存 hex/字符串搜索 → 匹配地址转储 → **手动地址 + 长度转储**,转储视图 **hex + ASCII 双列**
31
38
  - 暂停/继续(暂停时缓冲,恢复自动回放)、清空、复制、导出 .txt
32
39
  - 窗口化渲染 + 自动滚动(滚动手动上翻时自动停用)
33
40
  - 未授权设备提示「请在手机上点击允许 USB 调试」
@@ -52,6 +59,9 @@ DSH Web GUI 的安卓实机调试面板(类似 Android Studio 的 Logcat 视
52
59
  - **逆向工作流**:`proc_list` 定位进程 → `proc_maps` 拿模块基址 → `mem_dump` 读目标地址 / `mem_search` 搜特征模式 →
53
60
  `proc_smaps` 看内存占用明细 → `frida_script` 生成脚本 + `frida_server` 起 frida 做动态插桩。
54
61
  读其他应用内存/maps 需要 root 或 debuggable 应用(run-as),工具会给出明确提示。
62
+ - **原生集成(DSH 0.2)**:通过官方槽位挂载为「中央面板 + 左侧栏 Logcat 图标」(`main` + `sidebar.panellist`),
63
+ 与内置面板同样的停靠/主题/布局体验;`dsh.client.inject` 已按 0.2 清单修正。旧版客户端(0.1.x)自动退回右侧抽屉,
64
+ 一份安装通用。图标为内置 SVG 图标集(不依赖图标包),配色优先取宿主 `--dsw-*` 设计 token。
55
65
  - **附加能力**:`POST /api/dsh-logcat/exec` 执行 shell、`POST /api/dsh-logcat/package` 设置包名、
56
66
  `GET /api/dsh-logcat/screenshot` 截屏、`POST /api/dsh-logcat/install-adb` 一键装 adb、
57
67
  `GET /api/dsh-logcat/history` 历史回溯、`GET /api/dsh-logcat/crashes` + `GET /api/dsh-logcat/crash-file` 崩溃快照读取、