-
v1.3.8 Stable
released this
2026-08-03 16:33:20 +00:00 | 23 commits to main since this releasev1.3.8 (2026.8.3)
⚠️ 安全提示
本软件涉及远程控制功能,请谨慎下载,建议在虚拟机中测试。主控程序会连接授权服务器进行必要的通讯和防破解检测。下载并使用本软件,即视为接受上述条款。
SYSTEM 权限客户端 & 主控可用性增强 & Bug 修复
本次发布历时约 16 天,跨 12 次提交,围绕三条主线:客户端以 SYSTEM 权限运行并完整支持远程控制(突破桌面交互隔离,双模式自动适配)、主控可用性全面增强(日志搜索栏 / 客户端运行日志对话框 / 远程窗口管理菜单 / 违禁用户拉黑 / 调试菜单)、以及多项关键 Bug 修复(32/64 位切换崩溃、Safari 移动端卡死、隐私壁纸切换等)。
新功能
客户端 SYSTEM 权限运行与远程控制
- 双模式自动适配:客户端启动时检测自身进程权限等级(SYSTEM / Admin / User),注册表启动项 (
reg_startup.c) 新增User和Session字段,Winlogon/Run双路径注册,适配从服务启动(SYSTEM)和用户登录启动两种场景 - SYSTEM 下远程桌面完整支持:
ScreenManager在无用户会话时跳过 GDI 捕获改用 DXGI,KernelManager绕过SHGetFolderPath等用户态 API 以 NT 路径直接操作;ClientDll根据运行时权限动态选择用户会话或 SYSTEM 会话路径 - 会话隔离与注入:新增
session.cpp/session.h(176 行),跨会话 DLL 注入与消息通讯;客户端支持从 SYSTEM 会话向用户会话注入控制模块,解决 SYSTEM 进程无法直接操作用户桌面交互的历史难题 - 主控端适配:BuildDlg 生成客户端时新增 SYSTEM 权限相关配置选项;
ScreenSpyDlg兼容 SYSTEM 客户端桌面流
安全边界:以 SYSTEM 权限运行的客户端拥有操作系统最高权限,请确保仅部署在受信任的受管设备上,并配合授权体系的连接数限制与审计日志使用。
在线主机权限等级列
- 权限列显示:在线主机列表新增「权限」列,实时展示每台主机的运行权限等级——SYSTEM(蓝色高亮)、Admin(管理员)、User(普通用户),一眼识别受控端权限上下文
- 通知配置适配:
NotifyConfig/NotifySettingsDlg同步更新,权限字段纳入筛选与通知规则
远程窗口管理菜单(View Windows)
- 远程桌面「查看窗口」菜单:远程桌面界面新增 View Windows 菜单项,可枚举并管理目标机器上的所有顶层窗口
- 窗口操作:支持最大化、最小化、隐藏、关闭等操作,无需离开远程桌面视图即可管理远端窗口布局
违禁用户拉黑
- 一键拉黑:主机列表右键菜单新增「禁止连接」(Forbidden),服务端向目标客户端发送
COMMAND_FORBIDDEN指令 - 客户端响应:
KernelManager收到拉黑指令后断开连接并记录日志;被拉黑客户端无法再次连接同一服务端 - 视觉标识:菜单项附带 Forbidden 图标 bitmap,被拉黑主机在列表中显示特殊状态标识
客户端运行日志对话框
- 增量日志推送:
ClientLogManager每 3 秒将客户端运行日志增量推送到主控端(TOKEN_REPORT_LOG),服务端CClientLog对话框自动刷新显示 - 线程安全退出:推送线程使用
join()替代detach(),避免对话框关闭时访问已释放内存的 use-after-free 崩溃 - IOCP 线程安全处理:
OnReceiveComplete通过PostMessage将日志数据从 IOCP 线程调度到 UI 线程,修复增量包静默丢失问题 - 界面细节:对话框自带图标(
ClientLog.ico),菜单项附带位图标识(ClientLog.bmp);右键主机列表「运行日志」即可打开
消息日志搜索栏
- 搜索栏 UI:消息日志面板底部新增搜索栏(
LogSearchBar),包含搜索输入框、上一个/下一个按钮、清除按钮 - 搜索功能:输入关键字后高亮匹配行;Prev / Next 按钮在匹配项之间导航跳转;Clear 按钮一键清除搜索与高亮
- 独立组件:
LogSearchBar.cpp/LogSearchBar.h(共 286 行)作为独立 UI 组件实现,可复用于其他列表视图
调试菜单
- YAMA_DBG 输入菜单:主菜单新增调试入口,可输入
YAMA_DBG环境变量值;方便开发与测试场景下动态开启调试输出,无需重启主控 - 菜单图标:附带 Debug 位图(
Debug.bmp),与普通菜单项视觉区分
改进
- 远程桌面光标设置持久化:用户在远程桌面中自定义的光标设置(光标样式 / 大小 / 颜色等)保存到注册表,下次打开远程桌面时自动恢复偏好,无需每次重新调整
Bug 修复
- 32 位 / 64 位主控切换崩溃:
KeyboardManager中键盘钩子回调的参数类型对 32/64 位不兼容,切换位数后主控崩溃;修复为使用WPARAM/LPARAM标准类型;服务端2015Remote.cpp增加位数兼容性初始化检查 - Safari 移动端切回卡死:iOS Safari 切换 App 再切回后 Web 远程桌面画面冻结;修复为前台切回时强制清理并重建 WebSocket 连接;服务端新增 30 秒宽限期(grace period),快速切回场景下保留会话避免冷启动,同时兼容长时间离线的断线重连
- 文件传输结束误杀主屏幕会话:
RunFileReceiver错误注册了ReconnectProcess回调,导致文件传输完成时触发重连流程,意外终止正在进行的屏幕远程会话;修复为跳过该注册 - 隐私壁纸已设置时切换菜单行为修正:当隐私壁纸已经设置时,菜单项「切换隐私壁纸」再次点击应执行清除而非重新弹框选择;修复菜单逻辑为检测当前状态后执行相反操作
升级提示
- SYSTEM 权限客户端为可选功能:传统以用户权限运行的客户端行为完全不变;仅在需要 SYSTEM 级权限(如锁屏界面控制、无用户会话操作)时才需升级客户端并配置服务启动方式
- 客户端运行日志增量推送:需要客户端升级到 v1.3.8 才能向主控推送日志;旧版客户端右键菜单「运行日志」无数据显示
- 32/64 位兼容性修复:如果当前部署中混合使用 32 位和 64 位主控管理同一批客户端,建议将两端都升级到 v1.3.8 以消除崩溃风险
- Safari 移动端修复:服务端和 Web 前端(
index.html)均有更新,Go 主控用户需重新编译并部署以获得完整修复 - 违禁拉黑不可逆:被拉黑客户端无法通过常规方式重新连接同一服务端,需管理员手动解除限制;拉黑状态仅影响当前服务端,不阻止客户端连接其他服务端
Downloads
- 双模式自动适配:客户端启动时检测自身进程权限等级(SYSTEM / Admin / User),注册表启动项 (