Files
SimpleRemoter/ReadMe.md
2026-04-19 22:55:21 +02:00

28 KiB
Raw Blame History

SimpleRemoter

简体中文 | 繁體中文 | English

GitHub Stars GitHub Forks GitHub Release Platform Language IDE License

Download Latest


Warning

重要法律声明

本软件仅供教育目的及授权使用场景,包括:

  • 在您的组织内进行远程 IT 管理
  • 经授权的渗透测试和安全研究
  • 个人设备管理和技术学习

未经授权访问计算机系统属违法行为。 使用者须对遵守所有适用法律承担全部责任。开发者对任何滥用行为概不负责。


目录


项目简介

SimpleRemoter 是一个功能完整的远程控制解决方案,基于经典的 Gh0st 框架重构,采用现代 C++17 开发。项目始于 2019 年,经过持续迭代已发展为支持 Windows + Linux 双平台的企业级远程管理工具。

核心能力

类别 功能
远程桌面 实时屏幕控制、多显示器支持、H.264 编码、自适应质量
文件管理 双向传输、断点续传、C2C 传输、SHA-256 校验
终端管理 交互式 Shell、ConPTY/PTY 支持、现代 Web 终端
系统管理 进程/服务/窗口管理、注册表浏览、会话控制
媒体采集 摄像头监控、音频监听、键盘记录
网络功能 SOCKS 代理、FRP 穿透、端口映射

适用场景

  • 企业 IT 运维:批量管理内网设备,远程故障排查
  • 远程办公:安全访问办公电脑,文件同步传输
  • 安全研究:渗透测试、红队演练、安全审计
  • 技术学习网络编程、IOCP 模型、加密传输实践

原始来源: zibility/Remote | 起始日期: 2019.1.1

Star History Chart


免责声明

请在使用本软件前仔细阅读以下声明:

  1. 合法用途:本项目仅供合法的技术研究、学习交流和授权的远程管理使用。严禁将本软件用于未经授权访问他人计算机系统、窃取数据、监控他人隐私等任何违法行为。

  2. 使用者责任:使用者必须遵守所在国家/地区的法律法规。因使用本软件而产生的任何法律责任,由使用者自行承担。

  3. 无担保声明:本软件按"现状"提供,不附带任何明示或暗示的担保,包括但不限于适销性、特定用途适用性的担保。

  4. 免责条款:开发者不对因使用、误用或无法使用本软件而造成的任何直接、间接、偶然、特殊或后果性损害承担责任。

  5. 版权声明:本项目采用 MIT 协议开源,允许自由使用、修改和分发,但必须保留原始版权声明。

继续使用本软件即表示您已阅读、理解并同意上述所有条款。

Important

网络连接与隐私声明

主控程序(服务端)会根据授权状态与授权服务器进行网络通信:

版本类型 连接行为
试用版本 维持与授权服务器的持续连接
V1/V2 授权版本 启动时连接验证,通过后断开
V2 离线授权版本 无需连接授权服务器

除获得离线授权外,主控程序会与授权服务器进行必要的数据交互(如检测破解行为、验证授权有效性)。

使用本软件即表示您接受主控程序与授权服务器之间的数据传输。如您不同意,请勿使用本软件。


功能特性

远程桌面

远程桌面

  • 多种截图方式GDI兼容性强、DXGI高性能、虚拟桌面后台运行
  • 智能压缩算法
    • DIFF 差分算法 - SSE2 优化,仅传输变化区域
    • RGB565 算法 - 节省 50% 带宽
    • H.264 编码 - 视频级压缩,适合高帧率场景
    • 灰度模式 - 极低带宽消耗
  • 自适应质量:根据网络 RTT 自动调整帧率5-30 FPS、分辨率和压缩算法
  • 多显示器:支持多屏切换和多屏上墙显示
  • 隐私屏幕:被控端屏幕可隐藏,支持锁屏状态下控制
  • 文件拖拽Ctrl+C/V 跨设备复制粘贴文件
  • Web 远程桌面:通过浏览器访问远程桌面,支持手机/平板(配置指南

文件管理

文件管理

  • V2 传输协议:全新设计,支持大文件(>4GB
  • 断点续传:网络中断后自动恢复,状态持久化
  • C2C 传输:客户端之间直接传输,无需经过主控
  • 完整性校验SHA-256 哈希验证,确保文件完整
  • 批量操作:支持文件搜索、压缩、批量传输

终端管理

终端管理

  • 交互式 Shell:完整的命令行体验,支持 Tab 补全
  • ConPTY 技术Windows 10+ 原生伪终端支持
  • 现代 Web 终端:基于 WebView2 + xterm.jsv1.2.7+
  • 终端尺寸调整:自适应窗口大小

进程与窗口管理

进程管理 窗口管理
进程 窗口
  • 进程管理查看进程列表、CPU/内存占用、启动/终止进程
  • 代码注入:向目标进程注入 DLL需管理员权限
  • 窗口控制:最大化/最小化/隐藏/关闭窗口

媒体功能

视频管理 语音管理
视频 语音
  • 摄像头监控:实时视频流,支持分辨率调整
  • 音频监听:远程声音采集,支持双向语音
  • 键盘记录:在线/离线记录模式

其他功能

  • 服务管理:查看和控制 Windows 服务
  • 注册表浏览:只读方式浏览注册表内容
  • 会话控制:远程注销/关机/重启
  • SOCKS 代理:通过客户端建立代理隧道
  • FRP 穿透:内置 FRP 支持,轻松穿透内网
  • 代码执行:远程执行 DLL支持热更新

技术亮点

高性能网络架构

┌─────────────────────────────────────────────────────────┐
│                    IOCP 通信模型                          │
├─────────────────────────────────────────────────────────┤
│  • I/O 完成端口Windows 最高效的异步 I/O 模型            │
│  • 单主控支持 10,000+ 并发连接                            │
│  • 支持 TCP / UDP / KCP 三种传输协议                      │
│  • 自动分块处理大数据包(最大 128KB 发送缓冲)             │
└─────────────────────────────────────────────────────────┘

自适应质量控制

基于 RTTRound-Trip Time的智能质量调整系统

RTT 延迟 质量等级 帧率 分辨率 压缩算法 适用场景
< 30ms Ultra 25 FPS 原始 DIFF 局域网办公
30-80ms High 20 FPS 原始 RGB565 一般办公
80-150ms Good 20 FPS ≤1080p H.264 跨网/视频
150-250ms Medium 15 FPS ≤900p H.264 跨网办公
250-400ms Low 12 FPS ≤720p H.264 较差网络
> 400ms Minimal 8 FPS ≤540p H.264 极差网络
  • 零额外开销:复用心跳包计算 RTT
  • 快速降级2 次检测即触发,响应网络波动
  • 谨慎升级5 次稳定后才提升质量
  • 冷却机制:防止频繁切换

V2 文件传输协议

// 77 字节协议头 + 文件名 + 数据载荷
struct FileChunkPacketV2 {
    uint8_t   cmd;            // COMMAND_SEND_FILE_V2 = 85
    uint64_t  transferID;     // 传输会话 ID
    uint64_t  srcClientID;    // 源客户端 ID (0=主控端)
    uint64_t  dstClientID;    // 目标客户端 ID (0=主控端, C2C)
    uint32_t  fileIndex;      // 文件编号 (0-based)
    uint32_t  totalFiles;     // 总文件数
    uint64_t  fileSize;       // 文件大小(支持 >4GB
    uint64_t  offset;         // 当前块偏移
    uint64_t  dataLength;     // 本块数据长度
    uint64_t  nameLength;     // 文件名长度
    uint16_t  flags;          // 标志位 (FFV2_LAST_CHUNK 等)
    uint16_t  checksum;       // CRC16 校验(可选)
    uint8_t   reserved[8];    // 预留扩展
    // char filename[nameLength];  // UTF-8 相对路径
    // uint8_t data[dataLength];   // 文件数据
};

特性

  • 大文件支持uint64_t 突破 4GB 限制)
  • 断点续传(状态持久化到 %TEMP%\FileTransfer\
  • SHA-256 完整性校验
  • C2C 直传(客户端到客户端)
  • V1/V2 协议兼容

屏幕传输优化

  • SSE2 指令集:像素差分计算硬件加速
  • 多线程并行:线程池分块处理屏幕数据
  • 滚动检测:识别滚动场景,减少 50-80% 带宽
  • H.264 编码:基于 x264GOP 控制,视频级压缩

安全机制

层级 措施
传输加密 AES-256 数据加密,可配置 IV
身份验证 签名验证 + HMAC 认证
授权控制 序列号绑定IP/域名),多级授权
文件校验 SHA-256 完整性验证
会话隔离 Session 0 独立处理

依赖库

版本 用途
zlib 1.3.1 通用压缩
zstd 1.5.7 高速压缩
x264 0.164 H.264 编码
libyuv 190 YUV 转换
HPSocket 6.0.3 网络 I/O
jsoncpp 1.9.6 JSON 解析

系统架构

┌─────────────────────────────────────────────────────────────────────────────┐
│                         多层授权架构 (Multi-Layer Authorization)             │
├─────────────────────────────────────────────────────────────────────────────┤
│                                                                              │
│                          ┌─────────────────────┐                            │
│                          │    超级管理员        │                            │
│                          │   (授权服务器)       │                            │
│                          │   Super Admin       │                            │
│                          └─────────┬───────────┘                            │
│                                    │                                         │
│                     ┌──────────────┼──────────────┐                         │
│                     │ V2 授权      │ V2 授权      │ V2 授权                  │
│                     │ (ECDSA)      │ (ECDSA)      │ (ECDSA)                  │
│                     ▼              ▼              ▼                          │
│             ┌───────────┐  ┌───────────┐  ┌───────────┐                     │
│             │ 第一层 A   │  │ 第一层 B   │  │ 第一层 C   │  ◄── 独立运营      │
│             │ Layer-1 A │  │ Layer-1 B │  │ Layer-1 C │      完全隔离       │
│             └─────┬─────┘  └─────┬─────┘  └─────┬─────┘                     │
│                   │              │              │                            │
│          ┌────────┴────────┐     │       ┌──────┴──────┐                    │
│          │ V1 授权         │     │       │ V1 授权     │                    │
│          ▼                 ▼     ▼       ▼             ▼                    │
│    ┌──────────┐     ┌──────────┐ ...  ┌──────────┐  ┌──────────┐           │
│    │ 下级 A1  │     │ 下级 A2  │      │ 下级 C1  │  │ 下级 C2  │           │
│    │ Master   │     │ Master   │      │ Master   │  │ Master   │           │
│    └────┬─────┘     └────┬─────┘      └────┬─────┘  └────┬─────┘           │
│         │                │                 │             │                  │
│         ▼                ▼                 ▼             ▼                  │
│    ┌─────────┐     ┌─────────┐       ┌─────────┐   ┌─────────┐             │
│    │ 客户端  │     │ 客户端  │       │ 客户端  │   │ 客户端  │             │
│    │ 10,000+ │     │ 10,000+ │       │ 10,000+ │   │ 10,000+ │             │
│    └─────────┘     └─────────┘       └─────────┘   └─────────┘             │
│                                                                              │
├─────────────────────────────────────────────────────────────────────────────┤
│  授权类型        验证方式              特点                                   │
│  ─────────────────────────────────────────────────────────────────────────  │
│  V2 授权         ECDSA P-256 签名      支持离线验证,下级连接数限制            │
│  V1 授权         HMAC + 在线验证       连接上级服务器验证                      │
│  试用版          在线验证              功能受限,需保持连接                    │
└─────────────────────────────────────────────────────────────────────────────┘

架构优势

特性 说明
层级控制 超级用户可管理任意主控程序,支持无限层级
完全隔离 不同第一层用户的授权、数据、客户端完全隔离
独立运营 第一层用户可独立定价、发放授权,打造专属品牌
水平扩展 单 Master 支持 10,000+ 客户端,多层架构可达百万级
离线支持 V2 授权支持完全离线验证,无需依赖上游服务

主控程序Server

主控程序 YAMA.exe 提供图形化管理界面:

主界面

  • 基于 IOCP 的高性能服务端
  • 客户端分组管理
  • 实时状态监控RTT、地理位置、活动窗口
  • 一键生成客户端

受控程序Client

客户端生成

运行形式

类型 说明
ghost.exe 独立可执行文件,无外部依赖
TestRun.exe + ServerDll.dll 分离加载,支持内存加载 DLL
Windows 服务 后台运行,支持锁屏控制
Linux 客户端 跨平台支持v1.2.5+

快速开始

5 分钟快速体验

无需编译,下载即用:

  1. 下载发布版 - 从 Releases 下载最新版本
  2. 启动主控 - 运行 YAMA.exe,输入授权信息(见下方试用口令)
  3. 生成客户端 - 点击工具栏「生成」按钮,配置服务器 IP 和端口
  4. 部署客户端 - 将生成的客户端复制到目标机器并运行
  5. 开始控制 - 客户端上线后,双击即可打开远程桌面

Tip

首次测试建议在同一台机器上运行主控和客户端,使用 127.0.0.1 作为服务器地址。

编译要求

  • 操作系统Windows 10/11 或 Windows Server 2016+
  • 开发环境Visual Studio 2019 / 2022 / 2026
  • SDKWindows 10 SDK (10.0.19041.0+)

编译步骤

# 1. 克隆代码(必须使用 git clone不要下载 zip
git clone https://github.com/yuanyuanxiang/SimpleRemoter.git

# 2. 打开解决方案
#    使用 VS2019+ 打开 SimpleRemoter.sln

# 3. 选择配置
#    Release | x86 或 Release | x64

# 4. 编译
#    生成 -> 生成解决方案

常见问题

  • 依赖库冲突:#269
  • 非中文系统乱码:#157
  • 编译器兼容性:#171

部署方式

内网部署

主控与客户端在同一局域网,客户端直连主控 IP:Port。

外网部署FRP 穿透)

客户端 ──> VPS (FRP Server) ──> 本地主控 (FRP Client)

详细配置请参考:反向代理部署说明

授权说明

自 v1.2.4 起提供试用口令2 年有效期20 并发连接,仅限内网):

授权方式:按计算机 IP 绑定
主控 IP127.0.0.1
序列号12ca-17b4-9af2-2894
密码20260201-20280201-0020-be94-120d-20f9-919a
验证码6015188620429852704
有效期2026-02-01 至 2028-02-01

Note

多层授权方案

SimpleRemoter 采用企业级多层授权架构,支持代理商/开发者独立运营:

  • 离线验证:第一层用户获得授权后可完全离线使用
  • 独立控制:您的下级用户只连接到您的服务器,数据完全由您掌控
  • 自由定制:支持二次开发,打造您的专属版本

📖 查看完整授权方案说明


用户文档

针对不同用户角色提供完整的使用文档:

文档 适用对象 内容简介
📖 快速部署指南 首次使用者 10 分钟完成首次部署,导入授权、配置网络、生成受管程序
📖 多级网络搭建指南 需要管理下级的用户 构建总控→二级→受管端的多级网络架构
📖 日常使用手册 所有用户 远程桌面、文件管理、终端、进程管理等功能详解
📖 代理商运营手册 代理商/分销商 下级授权管理、FRP 代理服务配置
📖 定制化开发指南 技术型客户 品牌定制、界面修改、二次开发
📖 Web 远程桌面配置 移动端用户 通过浏览器访问远程桌面,支持手机/平板

客户端支持

Windows 客户端

系统要求Windows 7 SP1 及以上

功能完整性 全部功能支持

Linux 客户端v1.2.5+

系统要求

  • 显示服务器X11/Xorg暂不支持 Wayland
  • 必需库libX11
  • 推荐库libXtstXTest 扩展、libXss空闲检测

功能支持

功能 状态 实现
远程桌面 X11 屏幕捕获,鼠标/键盘控制
远程终端 PTY 交互式 Shell
文件管理 双向传输,大文件支持
进程管理 进程列表、终止进程
心跳/RTT RFC 6298 RTT 估算
守护进程 双 fork 守护化
剪贴板 开发中
会话管理 开发中

编译方式

cd linux
cmake .
make

更新日志

v1.3.1 (2026.4.15)

Web 远程桌面 & 多主控共享增强

新功能:

  • Web 远程桌面:基于 WebSocket 实现,支持手机/平板通过浏览器访问远程桌面(配置指南
  • 撤销共享菜单:支持撤销已共享给其他主控的客户端
  • 工具栏音频控制:远程桌面工具栏新增系统音频开关图标

改进:

  • 多显示器禁用自适应:客户端有多个显示器时自动禁用自适应质量
  • 状态栏过期日期自动更新:授权续期后状态栏立即刷新
  • 减少无效离线日志:客户端不在主机列表时减少离线日志输出
  • 多层授权自动更新:第二层及以下主控的授权自动同步更新
  • 使用提示增强:新增多处操作提示改善用户体验
  • DLL 缓存复用:将 DLL 保存到注册表,下次启动时直接复用

Bug 修复:

  • 修复共享客户端时键盘记录可能无法正常工作的问题

v1.3.0 (2026.4.8)

多层级 FRP 架构 & 品牌定制

新功能:

  • 本地 FRPS 服务器支持(仅 64 位):内置 FRP 服务端,简化部署
  • 多层级架构自动 FRP 集成:下级主控自动获取上级 FRP 配置
  • V2 授权下级连接数限制:支持控制下级并发连接数
  • 许可证文件导入/导出支持(.lic 格式)
  • 过期授权续期支持:无需重新生成许可证
  • 增强型硬件 ID (V2):解决 VPS 重复 SN 问题
  • MaxDepth 控制:限制分级 Master 层级深度
  • 许可证管理增强:配额支持、动态对话框、删除功能
  • IP 定位 API 多提供商回退:提高定位成功率
  • UI 品牌定制支持自定义程序名称、Logo、版权等
  • 运行时功能限制:试用版功能限制可配置
  • 输入历史下拉框:快速选择历史输入
  • 生成客户端新增选项:更多自定义配置
  • 支持动态修改项目链接:无需重新编译更换帮助/反馈链接

Bug 修复:

  • 修复 RebuildFilteredIndices 的 Use-after-free 崩溃
  • 修复 CLock::Lock 中 IOCP 竞态条件崩溃 (#215)
  • 修复崩溃保护服务清理和代理提升问题
  • 修复消息日志无限增长导致的潜在崩溃
  • 修复 FeatureFlags 引入后 UpperHash 字符串长度问题
  • 修复客户端 SN 生成以支持 HWIDVersion 设置

改进:

  • 重构 res/ 目录结构,添加菜单图标
  • 过期密码不再被自动清除
  • 保持下级主控与第一层主控的连接稳定

v1.0.2.9 (2026.3.27)

网络安全 & 稳定性增强

新功能:

  • 网络配置对话框IP 白名单/黑名单管理,实时生效
  • 可配置的连接限流DLL 请求限流、IP 封禁阈值可调
  • IP 历史记录对话框:查看授权 IP 登录历史
  • 状态栏显示 MTBF/运行时间和授权到期日期
  • 代理崩溃保护5 分钟内 3 次崩溃自动切换普通模式
  • 客户端搜索功能Ctrl+F 快速搜索 IP、位置、计算机名
  • 自动封禁异常 IP60 秒内超过 15 次连接自动封禁 1 小时
  • Proxy Protocol v2 支持FRP 代理后获取真实客户端 IP
  • Linux 剪贴板同步和 V2 文件传输支持
  • 右键菜单运行客户端程序
  • 多层授权混淆支持

Bug 修复:

  • 修复 OnUserOfflineMsg 竞态条件导致的崩溃
  • 修复客户端请求 FRPC DLL 时 FrpcParam 丢失
  • 最大数据包从 10MB 增加到 50MB
  • 支持 mstsc 远程会话读取用户注册表
  • 修复远程桌面最小化时剪贴板误触发
  • 修复操作进程对话框时主控崩溃
  • 状态栏主机数量实时更新
  • Linux select() 调用前重置 timeval
  • 授权码格式验证,过滤垃圾数据

改进:

  • 增强授权检查,添加 IP 封禁提示
  • 支持主控程序以用户权限运行
  • 大 DLL 自动使用 TinyRun 回退方案

v1.2.8 (2026.3.11)

邮件通知 & 远程音频

  • 主机上线邮件通知SMTP 配置、关键词匹配、右键快捷添加)
  • 远程音频播放WASAPI Loopback+ Opus 压缩24:1
  • 多 FRPS 服务器同时连接支持
  • 自定义光标显示和追踪
  • V2 授权协议ECDSA 签名)
  • 修复非中文 Windows 系统乱码问题
  • Linux 客户端屏幕压缩算法优化

v1.2.7 (2026.2.28)

V2 文件传输协议

  • 支持 C2C客户端到客户端直接传输
  • 断点续传和大文件支持(>4GB
  • SHA-256 文件完整性校验
  • WebView2 + xterm.js 现代终端
  • Linux 文件管理支持
  • 主机列表批量更新优化,减少 UI 闪烁

v1.2.6 (2026.2.16)

远程桌面工具栏重写

  • 状态窗口显示 RTT、帧率、分辨率
  • 全屏工具栏支持 4 个位置和多显示器
  • H.264 带宽优化
  • 授权管理 UI 完善

v1.2.5 (2026.2.11)

自适应质量控制 & Linux 客户端

  • 基于 RTT 的智能质量调整
  • RGB565 算法(节省 50% 带宽)
  • 滚动检测优化(节省 50-80% 带宽)
  • Linux 客户端初版发布

完整更新历史请查看:history.md


相关项目


联系方式

渠道 链接
QQ 962914132
Telegram @doge_grandfather
Email yuanyuanxiang163@gmail.com
LinkedIn wishyuanqi
Issues 问题反馈
PR 贡献代码

赞助支持

本项目源于技术学习与兴趣爱好,作者将根据业余时间不定期更新。如果本项目对您有所帮助,欢迎赞助支持:

Sponsor


如果您喜欢这个项目,请给它一个 Star