From d99510e46d7d86d29c63198bdc99bb55c38c2b78 Mon Sep 17 00:00:00 2001 From: yuanyuanxiang <962914132@qq.com> Date: Mon, 3 Aug 2026 18:30:40 +0200 Subject: [PATCH] Release v1.3.8 --- ReadMe.md | 22 ++++++++++++++++++++++ ReadMe_EN.md | 22 ++++++++++++++++++++++ ReadMe_TW.md | 22 ++++++++++++++++++++++ client/Script.rc | 4 ++-- client/TestRun.rc | Bin 4578 -> 4578 bytes server/2015Remote/2015Remote.rc | Bin 161158 -> 161158 bytes server/2015Remote/UIBranding.h | 2 +- 7 files changed, 69 insertions(+), 3 deletions(-) diff --git a/ReadMe.md b/ReadMe.md index 653e6be..48af7f1 100644 --- a/ReadMe.md +++ b/ReadMe.md @@ -378,6 +378,28 @@ nohup ./server_linux_amd64 --port 6543 --http-port 9001 > yama.log 2>&1 & ## 更新日志 +### v1.3.8 (2026.8.3) + +**SYSTEM 权限客户端 & 主控可用性增强 & Bug 修复** + +**新功能:** +- **客户端 SYSTEM 权限运行**:双模式自动适配(SYSTEM / Admin / User),Winlogon + Run 双路径注册表启动;`ScreenManager` 无用户会话时自动切换 DXGI,`KernelManager` 绕过用户态 API 以 NT 路径操作;跨会话 DLL 注入(`session.cpp`)实现 SYSTEM 会话向用户会话注入控制模块 +- **在线主机权限等级列**:主机列表新增「权限」列,实时显示 SYSTEM(蓝色高亮)/ Admin / User,一眼识别受控端权限上下文 +- **远程窗口管理菜单(View Windows)**:远程桌面新增 View Windows 菜单,可枚举目标机器顶层窗口并进行最大化、最小化、隐藏、关闭操作 +- **违禁用户拉黑**:主机列表右键新增「禁止连接」,服务端发送 `COMMAND_FORBIDDEN`;客户端收到后断开连接并拒绝重连;附带 Forbidden 图标 +- **客户端运行日志对话框**:`ClientLogManager` 每 3 秒增量推送日志到主控(`TOKEN_REPORT_LOG`);推送线程 `join()` 防 use-after-free;IOCP → UI 线程 `PostMessage` 防丢包;自带图标与菜单位图 +- **消息日志搜索栏**:`LogSearchBar` 组件(286 行),关键字高亮、Prev/Next 导航跳转、Clear 清除 +- **调试菜单(YAMA_DBG)**:主菜单新增调试入口,动态输入 `YAMA_DBG` 环境变量值,无需重启主控 + +**改进:** +- 远程桌面光标自定义设置持久化到注册表,下次自动恢复偏好 + +**Bug 修复:** +- 32 位 / 64 位主控切换崩溃:`KeyboardManager` 参数类型兼容 + 服务端位数检查 +- Safari 移动端切回卡死:前台切回时强制重建 WebSocket + 服务端 30s 宽限期 +- `RunFileReceiver` 误注册 `ReconnectProcess` 导致文件传输结束后杀主屏幕会话 +- 隐私壁纸已设置时切换菜单再次点击执行清除而非弹框 + ### v1.3.7 (2026.6.26) **Android 客户端 & 窗口捕获增强 & 安全加固** diff --git a/ReadMe_EN.md b/ReadMe_EN.md index ddc9916..ad63b83 100644 --- a/ReadMe_EN.md +++ b/ReadMe_EN.md @@ -378,6 +378,28 @@ Valid : 2026-02-01 to 2028-02-01 ## Changelog +### v1.3.8 (2026.8.3) + +**SYSTEM-level Client & Master Usability Enhancements & Bug Fixes** + +**New features:** +- **Client running as SYSTEM**: dual-mode auto-detection (SYSTEM / Admin / User), Winlogon + Run dual-path registry startup; `ScreenManager` auto-switches to DXGI when there is no user session; `KernelManager` bypasses user-mode APIs using NT paths; cross-session DLL injection (`session.cpp`) from SYSTEM to user session for desktop interaction +- **Privilege column in host list**: new "Privilege" column shows real-time permission level — **SYSTEM** (blue highlight), Admin, or User — instantly identifying each controlled endpoint's privilege context +- **View Windows menu for remote desktop**: new View Windows menu item enumerates all top-level windows on the target machine; supports maximize, minimize, hide, and close operations without leaving the remote desktop view +- **Forbid user (violation blacklist)**: right-click host list "Forbidden" sends `COMMAND_FORBIDDEN`; client disconnects and refuses reconnection to the same server; companion bitmap icon in menu +- **Client runtime log dialog**: `ClientLogManager` pushes incremental logs every 3s to the master (`TOKEN_REPORT_LOG`); push thread uses `join()` to prevent use-after-free; IOCP → UI thread via `PostMessage` to prevent dropped packets; dialog icon and menu bitmap included +- **Message log search bar**: `LogSearchBar` component (286 lines) with keyword highlighting, Prev/Next navigation, and Clear button +- **Debug menu (YAMA_DBG)**: new menu entry to input `YAMA_DBG` environment variable at runtime — no restart needed + +**Improvements:** +- Remote desktop cursor customization settings now persisted to registry; preferences restored automatically on next session + +**Bug fixes:** +- 32-bit / 64-bit master crash on switch: `KeyboardManager` parameter type compatibility + server-side bitness check +- Safari mobile Web remote desktop freeze on app-switch: force-clean WebSocket reconnect on foreground return + 30s server-side grace period +- `RunFileReceiver` incorrectly registering `ReconnectProcess`, killing the main screen session on file transfer completion +- Privacy wallpaper toggle menu now clears instead of re-picking when wallpaper is already set + ### v1.3.7 (2026.6.26) **Android Client & Window Capture & Security Hardening** diff --git a/ReadMe_TW.md b/ReadMe_TW.md index f5192ef..49c4d12 100644 --- a/ReadMe_TW.md +++ b/ReadMe_TW.md @@ -378,6 +378,28 @@ nohup ./server_linux_amd64 --port 6543 --http-port 9001 > yama.log 2>&1 & ## 更新日誌 +### v1.3.8 (2026.8.3) + +**SYSTEM 權限用戶端 & 主控可用性增強 & Bug 修復** + +**新功能:** +- **用戶端 SYSTEM 權限執行**:雙模式自動適配(SYSTEM / Admin / User),Winlogon + Run 雙路徑登錄檔啟動;`ScreenManager` 無使用者工作階段時自動切換 DXGI,`KernelManager` 繞過使用者態 API 以 NT 路徑操作;跨工作階段 DLL 注入(`session.cpp`)實現 SYSTEM 工作階段向使用者工作階段注入控制模組 +- **線上主機權限等級欄**:主機列表新增「權限」欄,即時顯示 SYSTEM(藍色高亮)/ Admin / User,一眼識別受控端權限上下文 +- **遠端視窗管理選單(View Windows)**:遠端桌面新增 View Windows 選單項目,可列舉目標機器頂層視窗並進行最大化、最小化、隱藏、關閉操作 +- **違禁使用者封鎖**:主機列表右鍵新增「禁止連線」,伺服端發送 `COMMAND_FORBIDDEN`;用戶端收到後中斷連線並拒絕重連;附帶 Forbidden 圖示 +- **用戶端執行記錄對話框**:`ClientLogManager` 每 3 秒增量推送記錄到主控(`TOKEN_REPORT_LOG`);推送執行緒使用 `join()` 防止 use-after-free;IOCP → UI 執行緒 `PostMessage` 防止遺失封包;自帶圖示與選單位圖 +- **訊息記錄搜尋列**:`LogSearchBar` 元件(286 行),關鍵字高亮、Prev/Next 導航跳轉、Clear 清除 +- **除錯選單(YAMA_DBG)**:主選單新增除錯入口,動態輸入 `YAMA_DBG` 環境變數值,無需重啟主控 + +**改進:** +- 遠端桌面游標自訂設定持久化到登錄檔,下次自動恢復偏好 + +**Bug 修復:** +- 32 位元 / 64 位元主控切換崩潰:`KeyboardManager` 參數型別相容 + 伺服端位元數檢查 +- Safari 行動端切回凍結:前景切回時強制重建 WebSocket + 伺服端 30s 寬限期 +- `RunFileReceiver` 誤註冊 `ReconnectProcess` 導致檔案傳輸結束後終止主螢幕工作階段 +- 隱私桌布已設定時切換選單再次點擊執行清除而非彈框 + ### v1.3.7 (2026.6.26) **Android 用戶端 & 視窗擷取增強 & 安全加固** diff --git a/client/Script.rc b/client/Script.rc index 147055d..0c0dc9b 100644 --- a/client/Script.rc +++ b/client/Script.rc @@ -88,7 +88,7 @@ IDR_WAVE WAVE "Res\\msg.wav" // VS_VERSION_INFO VERSIONINFO - FILEVERSION 1,0,3,7 + FILEVERSION 1,0,3,8 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.7" + VALUE "FileVersion", "1.0.3.8" VALUE "InternalName", "ServerDll.dll" VALUE "LegalCopyright", "Copyright (C) 2019-2026" VALUE "OriginalFilename", "ServerDll.dll" diff --git a/client/TestRun.rc b/client/TestRun.rc index 2d8930c89e285c5ae536610e966165970ed09203..5b24a4660e709886882216a1425b7cbdb74c63e9 100644 GIT binary patch delta 25 hcmaE){78929|xnw=6()+W=4z2iaffT-*A6p1ps(P2+;rl delta 25 hcmaE){78929|xoP=6()+W=8YLiaffT-*A6p1ps&}2+sfj diff --git a/server/2015Remote/2015Remote.rc b/server/2015Remote/2015Remote.rc index 120abe47cccbd83411b6f0edf38d5f955f8c9275..bcb6cb1487e31720686934abe01425fdfee3fbf8 100644 GIT binary patch delta 49 zcmZpB&Dr*vbHgJ!MvKWC<#n3{