• v1.3.8 d99510e46d

    v1.3.8 Stable

    yuanyuanxiang released this 2026-08-03 16:33:20 +00:00 | 23 commits to main since this release

    v1.3.8 (2026.8.3)

    ⚠️ 安全提示

    本软件涉及远程控制功能,请谨慎下载,建议在虚拟机中测试。主控程序会连接授权服务器进行必要的通讯和防破解检测。下载并使用本软件,即视为接受上述条款。

    SYSTEM 权限客户端 & 主控可用性增强 & Bug 修复

    本次发布历时约 16 天,跨 12 次提交,围绕三条主线:客户端以 SYSTEM 权限运行并完整支持远程控制(突破桌面交互隔离,双模式自动适配)、主控可用性全面增强(日志搜索栏 / 客户端运行日志对话框 / 远程窗口管理菜单 / 违禁用户拉黑 / 调试菜单)、以及多项关键 Bug 修复(32/64 位切换崩溃、Safari 移动端卡死、隐私壁纸切换等)。


    新功能

    客户端 SYSTEM 权限运行与远程控制

    • 双模式自动适配:客户端启动时检测自身进程权限等级(SYSTEM / Admin / User),注册表启动项 (reg_startup.c) 新增 UserSession 字段,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