Release v1.3.7

This commit is contained in:
yuanyuanxiang
2026-06-26 15:28:57 +02:00
parent d7408ad4df
commit 92f6683fe1
7 changed files with 153 additions and 27 deletions

View File

@@ -12,7 +12,7 @@
<a href="https://git.simpleremoter.com/yuanyuanxiang/SimpleRemoter/releases">
<img src="https://img.shields.io/gitea/v/release/yuanyuanxiang/SimpleRemoter?gitea_url=https%3A%2F%2Fgit.simpleremoter.com&style=flat-square&logo=gitea" alt="Gitea Release">
</a>
<img src="https://img.shields.io/badge/client-Windows%20%7C%20Linux%20%7C%20macOS-blue?style=flat-square" alt="Client Platforms">
<img src="https://img.shields.io/badge/client-Windows%20%7C%20Linux%20%7C%20macOS%20%7C%20Android-blue?style=flat-square" alt="Client Platforms">
<img src="https://img.shields.io/badge/server-Windows%20%7C%20Linux%20%7C%20macOS-success?style=flat-square" alt="Server Platforms">
<img src="https://img.shields.io/badge/language-C%2B%2B17%20%2F%20Go-orange?style=flat-square&logo=cplusplus" alt="Language">
<img src="https://img.shields.io/badge/license-MIT-green?style=flat-square" alt="License">
@@ -94,6 +94,7 @@
| **Windows** | ✅ 完整功能 | ✅ MFC `YAMA.exe`(推荐)/ Go |
| **Linux** (X11) | ✅ 屏幕 + 终端 + 文件 + 剪贴板 | ✅ Go |
| **macOS** (Intel + Apple Silicon) | ✅ 屏幕 + 终端 + 文件 + 剪贴板 | ✅ Go |
| **Android** (v1.3.7+) | ✅ 屏幕 + 触控/按键控制 | ❌ 不适用 |
---
@@ -206,6 +207,21 @@ Please read and obey the instructions in [SECURITY_AI.md](./docs/SECURITY_AI.md)
**编译**`cd linux && cmake . && make`
### Android 客户端v1.3.7+
**系统要求**Android 5.0 (API 21) 及以上
| 功能 | 状态 | 实现 |
|---|---|---|
| 远程桌面 | ✅ | MediaProjection + MediaCodec H.264 硬件编码 |
| 触控/按键控制 | ✅ | AccessibilityService 注入,支持 D-pad 导航 |
| 心跳/RTT | ✅ | RFC 6298 RTT 估算 |
| 设备分组 | ✅ | szGroupName 编译期 patch / 服务端动态修改 |
**生成客户端**:在主控 BuildDlg「生成」→ 选 `ghost - Google Android`,填入服务端 IP / 端口,生成 APK使用 `android/sign_apk.bat` 重签后安装。
**编译**:在 WSL 或 Linux 中 `cd android && ./build_apk.sh`
### macOS 客户端v1.3.2+
**系统要求**
@@ -258,13 +274,13 @@ Please read and obey the instructions in [SECURITY_AI.md](./docs/SECURITY_AI.md)
│ TCP (自定义二进制协议) │ TCP (设备) + WS (浏览器)
└────────┬─────────────────┘
┌──────────────┼──────────────┐
▼ ▼ ▼
┌─────────┐ ┌─────────┐ ┌─────────┐
│ Windows │ │ Linux │ │ macOS │
│ 客户端 │ │ 客户端 │ │ 客户端 │
│ (DXGI) │ │ (X11) │ │ (CG) │
└─────────┘ └─────────┘ └─────────┘
┌──────────────┼──────────────┬──────────────
▼ ▼ ▼
┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐
│ Windows │ │ Linux │ │ macOS │ │ Android │
│ 客户端 │ │ 客户端 │ │ 客户端 │ │ 客户端 │
│ (DXGI) │ │ (X11) │ │ (CG) │ │ (MP/MC) │
└─────────┘ └─────────┘ └─────────┘ └─────────┘
```
### 多层授权(简化视图)
@@ -340,6 +356,7 @@ nohup ./server_linux_amd64 --port 6543 --http-port 9001 > yama.log 2>&1 &
- **C++ 主控 & Windows 客户端**VS 2019/2022/2026 打开 `SimpleRemoter.sln` → Release | x64
- **Linux 客户端**`cd linux && cmake . && make`
- **macOS 客户端**`cd macos && ./build.sh`
- **Android 客户端**`cd android && ./build_apk.sh`WSL/Linux
- **Go 主控**`cd server/go && go build ./cmd`
---
@@ -361,6 +378,31 @@ nohup ./server_linux_amd64 --port 6543 --http-port 9001 > yama.log 2>&1 &
## 更新日志
### v1.3.7 (2026.6.26)
**Android 客户端 & 窗口捕获增强 & 安全加固**
**新功能:**
- **Android 客户端**:首个 Android 受控端,支持 Android 5.0+arm64-v8a / armeabi-v7aMediaProjection + MediaCodec H.264 推流AccessibilityService 触控 / 按键注入D-pad 焦点导航完整控制 TV / 机顶盒
- **设备分组**:编译期 patch 预设 / 服务端动态修改(`CMD_SET_GROUP`);分组名持久化至 `filesDir/yama_group`App 重启后保留
- **APK 生成与重签**BuildDlg 新增 `ghost - Google Android`,与 Linux / macOS ghost 流程一致;配套 `sign_apk.bat` 自动检测 SDK 完成重签
- **服务端删除客户端**BYE 指令后 Android Service 通过 JNI 正常停止
- **前台窗口精准捕获**PrintWindow + 服务端 HWND by clientID 路由,遮挡情况下仍可捕获完整窗口
- **在线主机右键查看活动窗口**:实时查询目标机器前台窗口标题
- **TOKEN_AUTH 响应 ECDSA 签名**V2 私钥签名服务端响应,防伪服务端(`TOKEN_SERVER_VERIFY = 251`
- **反破解版本绑定**:版本与核心库绑定,阻断替换 DLL 的破解路径
- **子授权连接数限制**`LicenseLimit` 字段 + `CLicenseDlg` 右键菜单实时设置
**改进:**
- H264 模式跳过首帧 ~8MB 原始巨帧,服务端在首 IDR 帧后解锁画面
- 自适应尺寸渲染改进,减少尺寸切换抖动
**Bug 修复:**
- `ARGBToNV12` 奇数尺寸窗口堆溢出(维度钳制到偶数对齐)
- 连接初始化时多余屏幕重启(客户端 `ScreenManager.cpp` + 服务端 `ScreenSpyDlg.cpp` 双端修复)
- 启动时内存 DLL 未正确还原
- 授权客户端键盘日志目录冲突(各实例使用独立目录)
### v1.3.6 (2026.6.14)
**ROI 区域捕获 & Web 音频流 & 主界面可用性全面提升**

View File

@@ -12,7 +12,7 @@
<a href="https://git.simpleremoter.com/yuanyuanxiang/SimpleRemoter/releases">
<img src="https://img.shields.io/gitea/v/release/yuanyuanxiang/SimpleRemoter?gitea_url=https%3A%2F%2Fgit.simpleremoter.com&style=flat-square&logo=gitea" alt="Gitea Release">
</a>
<img src="https://img.shields.io/badge/client-Windows%20%7C%20Linux%20%7C%20macOS-blue?style=flat-square" alt="Client Platforms">
<img src="https://img.shields.io/badge/client-Windows%20%7C%20Linux%20%7C%20macOS%20%7C%20Android-blue?style=flat-square" alt="Client Platforms">
<img src="https://img.shields.io/badge/server-Windows%20%7C%20Linux%20%7C%20macOS-success?style=flat-square" alt="Server Platforms">
<img src="https://img.shields.io/badge/language-C%2B%2B17%20%2F%20Go-orange?style=flat-square&logo=cplusplus" alt="Language">
<img src="https://img.shields.io/badge/license-MIT-green?style=flat-square" alt="License">
@@ -94,6 +94,7 @@ This release (v1.3.4) adds the last missing piece — the **Go master**: a **del
| **Windows** | ✅ All features | ✅ MFC `YAMA.exe` (recommended) / Go |
| **Linux** (X11) | ✅ Screen + terminal + files + clipboard | ✅ Go |
| **macOS** (Intel + Apple Silicon) | ✅ Screen + terminal + files + clipboard | ✅ Go |
| **Android** (v1.3.7+) | ✅ Screen + touch/key injection | ❌ N/A |
---
@@ -206,6 +207,21 @@ Unless an offline license has been obtained, the master program exchanges necess
**Build**: `cd linux && cmake . && make`
### Android Client (v1.3.7+)
**Requirements**: Android 5.0 (API 21) or later
| Feature | Status | Implementation |
|---|---|---|
| Remote desktop | ✅ | MediaProjection + MediaCodec H.264 hardware encoding |
| Touch / key injection | ✅ | AccessibilityService, supports D-pad TV navigation |
| Heartbeat / RTT | ✅ | RFC 6298 RTT estimation |
| Device grouping | ✅ | Build-time patch or server-side `CMD_SET_GROUP`; persisted across restarts |
**Generate client**: In the master BuildDlg *Build* dialog, select `ghost - Google Android`, enter the server IP / port, and the APK is generated. Re-sign with `android/sign_apk.bat` before installing.
**Build**: in WSL or Linux — `cd android && ./build_apk.sh`
### macOS Client (v1.3.2+)
**Requirements**:
@@ -258,13 +274,13 @@ Unless an offline license has been obtained, the master program exchanges necess
│ TCP (custom binary proto)│ TCP (devices) + WS (browsers)
└────────┬─────────────────┘
┌──────────────┼──────────────┐
▼ ▼ ▼
┌─────────┐ ┌─────────┐ ┌─────────┐
│ Windows │ │ Linux │ │ macOS │
│ client │ │ client │ │ client │
│ (DXGI) │ │ (X11) │ │ (CG) │
└─────────┘ └─────────┘ └─────────┘
┌──────────────┼──────────────┬──────────────
▼ ▼ ▼
┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐
│ Windows │ │ Linux │ │ macOS │ │ Android │
│ client │ │ client │ │ client │ │ client │
│ (DXGI) │ │ (X11) │ │ (CG) │ │ (MP/MC) │
└─────────┘ └─────────┘ └─────────┘ └─────────┘
```
### Multi-Layer Authorization (simplified view)
@@ -340,6 +356,7 @@ Valid : 2026-02-01 to 2028-02-01
- **C++ master & Windows client**: open `SimpleRemoter.sln` in VS 2019 / 2022 / 2026 → Release | x64
- **Linux client**: `cd linux && cmake . && make`
- **macOS client**: `cd macos && ./build.sh`
- **Android client**: `cd android && ./build_apk.sh` (WSL / Linux)
- **Go master**: `cd server/go && go build ./cmd`
---
@@ -361,6 +378,31 @@ Valid : 2026-02-01 to 2028-02-01
## Changelog
### v1.3.7 (2026.6.26)
**Android Client & Window Capture & Security Hardening**
**New features:**
- **Android client**: first Android controlled-side client, Android 5.0+ (arm64-v8a / armeabi-v7a); MediaProjection + MediaCodec H.264 streaming; AccessibilityService touch / key injection; D-pad focus navigation for full TV / set-top-box control
- **Device grouping**: group name embedded at build time via APK binary patch or changed live by the server (`CMD_SET_GROUP`); persisted to `filesDir/yama_group`, survives app restarts
- **APK build & re-sign**: BuildDlg adds `ghost - Google Android`, same workflow as Linux / macOS ghost; `sign_apk.bat` auto-detects SDK and re-signs
- **Clean exit on server delete**: BYE command triggers JNI `onNativeExit()``stopSelf()`
- **Foreground window capture**: PrintWindow + server-side HWND routing by clientID, captures the target window even when occluded
- **View active window from host list**: right-click menu queries and shows the foreground window title of the target machine in real time
- **TOKEN_AUTH ECDSA signature**: server signs auth responses with its V2 P-256 key to prevent fake-server attacks (`TOKEN_SERVER_VERIFY = 251`)
- **Anti-cracking version binding**: binary binds to core lib version; mismatched DLL replacement is rejected at load time
- **Sub-license connection cap**: `LicenseLimit` field in `licenses.ini` + real-time set / clear from `CLicenseDlg` right-click menu
**Improvements:**
- H264 mode skips the initial ~8 MB raw first-frame; server unlocks display on the first IDR instead
- Adaptive-size rendering improvements, fewer dimension-change artifacts
**Bug fixes:**
- `ARGBToNV12` heap overflow on odd-sized windows (clamp dims to even-aligned width/height)
- Extra screen restarts on connection init (dual fix: client `ScreenManager.cpp` + server `ScreenSpyDlg.cpp`)
- Memory DLL not restored on client startup
- Authorization client keyboard log directory conflict (each instance gets its own directory)
### v1.3.6 (2026.6.14)
**ROI region capture & Web audio streaming & master-UI usability overhaul**

View File

@@ -12,7 +12,7 @@
<a href="https://git.simpleremoter.com/yuanyuanxiang/SimpleRemoter/releases">
<img src="https://img.shields.io/gitea/v/release/yuanyuanxiang/SimpleRemoter?gitea_url=https%3A%2F%2Fgit.simpleremoter.com&style=flat-square&logo=gitea" alt="Gitea Release">
</a>
<img src="https://img.shields.io/badge/client-Windows%20%7C%20Linux%20%7C%20macOS-blue?style=flat-square" alt="Client Platforms">
<img src="https://img.shields.io/badge/client-Windows%20%7C%20Linux%20%7C%20macOS%20%7C%20Android-blue?style=flat-square" alt="Client Platforms">
<img src="https://img.shields.io/badge/server-Windows%20%7C%20Linux%20%7C%20macOS-success?style=flat-square" alt="Server Platforms">
<img src="https://img.shields.io/badge/language-C%2B%2B17%20%2F%20Go-orange?style=flat-square&logo=cplusplus" alt="Language">
<img src="https://img.shields.io/badge/license-MIT-green?style=flat-square" alt="License">
@@ -94,6 +94,7 @@
| **Windows** | ✅ 完整功能 | ✅ MFC `YAMA.exe`(推薦)/ Go |
| **Linux** (X11) | ✅ 螢幕 + 終端 + 檔案 + 剪貼簿 | ✅ Go |
| **macOS** (Intel + Apple Silicon) | ✅ 螢幕 + 終端 + 檔案 + 剪貼簿 | ✅ Go |
| **Android** (v1.3.7+) | ✅ 螢幕 + 觸控/按鍵注入 | ❌ 不適用 |
---
@@ -206,6 +207,21 @@ Please read and obey the instructions in [SECURITY_AI.md](./docs/SECURITY_AI.md)
**編譯**`cd linux && cmake . && make`
### Android 用戶端v1.3.7+
**系統需求**Android 5.0 (API 21) 及以上
| 功能 | 狀態 | 實作 |
|---|---|---|
| 遠端桌面 | ✅ | MediaProjection + MediaCodec H.264 硬體編碼 |
| 觸控 / 按鍵注入 | ✅ | AccessibilityService支援 D-pad TV 導航 |
| 心跳 / RTT | ✅ | RFC 6298 RTT 估算 |
| 裝置分組 | ✅ | 編譯期 patch 或服務端 `CMD_SET_GROUP` 動態修改;重啟後仍保留 |
**產生用戶端**:在主控 BuildDlg「產生」選 `ghost - Google Android`,填入伺服端 IP / 埠,生成 APK使用 `android/sign_apk.bat` 重簽後安裝。
**編譯**:在 WSL 或 Linux 中 `cd android && ./build_apk.sh`
### macOS 用戶端v1.3.2+
**系統需求**
@@ -258,13 +274,13 @@ Please read and obey the instructions in [SECURITY_AI.md](./docs/SECURITY_AI.md)
│ TCP (自訂二進位協定) │ TCP (裝置) + WS (瀏覽器)
└────────┬─────────────────┘
┌──────────────┼──────────────┐
▼ ▼ ▼
┌─────────┐ ┌─────────┐ ┌─────────┐
│ Windows │ │ Linux │ │ macOS │
│ 用戶端 │ │ 用戶端 │ │ 用戶端 │
│ (DXGI) │ │ (X11) │ │ (CG) │
└─────────┘ └─────────┘ └─────────┘
┌──────────────┼──────────────┬──────────────
▼ ▼ ▼
┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐
│ Windows │ │ Linux │ │ macOS │ │ Android │
│ 用戶端 │ │ 用戶端 │ │ 用戶端 │ │ 用戶端 │
│ (DXGI) │ │ (X11) │ │ (CG) │ │ (MP/MC) │
└─────────┘ └─────────┘ └─────────┘ └─────────┘
```
### 多層授權(簡化視圖)
@@ -340,6 +356,7 @@ nohup ./server_linux_amd64 --port 6543 --http-port 9001 > yama.log 2>&1 &
- **C++ 主控 & Windows 用戶端**VS 2019/2022/2026 開啟 `SimpleRemoter.sln` → Release | x64
- **Linux 用戶端**`cd linux && cmake . && make`
- **macOS 用戶端**`cd macos && ./build.sh`
- **Android 用戶端**`cd android && ./build_apk.sh`WSL/Linux
- **Go 主控**`cd server/go && go build ./cmd`
---
@@ -361,6 +378,31 @@ nohup ./server_linux_amd64 --port 6543 --http-port 9001 > yama.log 2>&1 &
## 更新日誌
### v1.3.7 (2026.6.26)
**Android 用戶端 & 視窗擷取增強 & 安全加固**
**新功能:**
- **Android 用戶端**:首個 Android 受控端,支援 Android 5.0+arm64-v8a / armeabi-v7aMediaProjection + MediaCodec H.264 推流AccessibilityService 觸控 / 按鍵注入D-pad 焦點導航完整控制 TV / 機上盒
- **裝置分組**:編譯期 patch 預設 / 伺服端動態修改(`CMD_SET_GROUP`);分組名持久化至 `filesDir/yama_group`App 重啟後保留
- **APK 產生與重簽**BuildDlg 新增 `ghost - Google Android`,與 Linux / macOS ghost 流程一致;配套 `sign_apk.bat` 自動偵測 SDK 完成重簽
- **伺服端刪除用戶端**BYE 指令後 Android Service 透過 JNI 正常停止
- **前台視窗精準擷取**PrintWindow + 伺服端 HWND by clientID 路由,遮蓋情況下仍可擷取完整視窗
- **線上主機右鍵查看活動視窗**:即時查詢目標機器前台視窗標題
- **TOKEN_AUTH 回應 ECDSA 簽章**V2 私鑰簽名伺服端回應,防偽造伺服端(`TOKEN_SERVER_VERIFY = 251`
- **反破解版本綁定**:版本與核心函式庫綁定,阻斷替換 DLL 的破解路徑
- **子授權連線數限制**`LicenseLimit` 欄位 + `CLicenseDlg` 右鍵選單即時設定
**改進:**
- H264 模式跳過首幀 ~8MB 原始巨幀,伺服端在首 IDR 幀後解鎖畫面
- 自適應尺寸渲染改進,減少尺寸切換閃爍
**Bug 修復:**
- `ARGBToNV12` 奇數尺寸視窗堆積溢位(維度鉗制到偶數對齊)
- 連線初始化時多餘螢幕重啟(用戶端 `ScreenManager.cpp` + 伺服端 `ScreenSpyDlg.cpp` 雙端修復)
- 啟動時記憶體 DLL 未正確還原
- 授權用戶端鍵盤日誌目錄衝突(各實例使用獨立目錄)
### v1.3.6 (2026.6.14)
**ROI 區域擷取 & Web 音訊串流 & 主控介面可用性全面提升**

View File

@@ -88,7 +88,7 @@ IDR_WAVE WAVE "Res\\msg.wav"
//
VS_VERSION_INFO VERSIONINFO
FILEVERSION 1,0,3,6
FILEVERSION 1,0,3,7
PRODUCTVERSION 1,0,0,1
FILEFLAGSMASK 0x3fL
#ifdef _DEBUG
@@ -106,7 +106,7 @@ BEGIN
BEGIN
VALUE "CompanyName", "FUCK THE UNIVERSE"
VALUE "FileDescription", "A GHOST"
VALUE "FileVersion", "1.0.3.6"
VALUE "FileVersion", "1.0.3.7"
VALUE "InternalName", "ServerDll.dll"
VALUE "LegalCopyright", "Copyright (C) 2019-2026"
VALUE "OriginalFilename", "ServerDll.dll"

Binary file not shown.

Binary file not shown.

View File

@@ -46,7 +46,7 @@
// 程序版本号 [建议格式: X.Y.Z]
// 影响:关于对话框、标题栏
#define BRAND_VERSION "1.3.6"
#define BRAND_VERSION "1.3.7"
// 启动画面名称 [建议大写,更有 Logo 感]
// 影响:启动画面 Logo 文字(大号艺术字体渲染)