28 KiB
SimpleRemoter
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
免责声明
请在使用本软件前仔细阅读以下声明:
-
合法用途:本项目仅供合法的技术研究、学习交流和授权的远程管理使用。严禁将本软件用于未经授权访问他人计算机系统、窃取数据、监控他人隐私等任何违法行为。
-
使用者责任:使用者必须遵守所在国家/地区的法律法规。因使用本软件而产生的任何法律责任,由使用者自行承担。
-
无担保声明:本软件按"现状"提供,不附带任何明示或暗示的担保,包括但不限于适销性、特定用途适用性的担保。
-
免责条款:开发者不对因使用、误用或无法使用本软件而造成的任何直接、间接、偶然、特殊或后果性损害承担责任。
-
版权声明:本项目采用 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.js(v1.2.7+)
- 终端尺寸调整:自适应窗口大小
进程与窗口管理
| 进程管理 | 窗口管理 |
|---|---|
![]() |
![]() |
- 进程管理:查看进程列表、CPU/内存占用、启动/终止进程
- 代码注入:向目标进程注入 DLL(需管理员权限)
- 窗口控制:最大化/最小化/隐藏/关闭窗口
媒体功能
| 视频管理 | 语音管理 |
|---|---|
![]() |
![]() |
- 摄像头监控:实时视频流,支持分辨率调整
- 音频监听:远程声音采集,支持双向语音
- 键盘记录:在线/离线记录模式
其他功能
- 服务管理:查看和控制 Windows 服务
- 注册表浏览:只读方式浏览注册表内容
- 会话控制:远程注销/关机/重启
- SOCKS 代理:通过客户端建立代理隧道
- FRP 穿透:内置 FRP 支持,轻松穿透内网
- 代码执行:远程执行 DLL,支持热更新
技术亮点
高性能网络架构
┌─────────────────────────────────────────────────────────┐
│ IOCP 通信模型 │
├─────────────────────────────────────────────────────────┤
│ • I/O 完成端口:Windows 最高效的异步 I/O 模型 │
│ • 单主控支持 10,000+ 并发连接 │
│ • 支持 TCP / UDP / KCP 三种传输协议 │
│ • 自动分块处理大数据包(最大 128KB 发送缓冲) │
└─────────────────────────────────────────────────────────┘
自适应质量控制
基于 RTT(Round-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 编码:基于 x264,GOP 控制,视频级压缩
安全机制
| 层级 | 措施 |
|---|---|
| 传输加密 | 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 分钟快速体验
无需编译,下载即用:
- 下载发布版 - 从 Releases 下载最新版本
- 启动主控 - 运行
YAMA.exe,输入授权信息(见下方试用口令) - 生成客户端 - 点击工具栏「生成」按钮,配置服务器 IP 和端口
- 部署客户端 - 将生成的客户端复制到目标机器并运行
- 开始控制 - 客户端上线后,双击即可打开远程桌面
Tip
首次测试建议在同一台机器上运行主控和客户端,使用
127.0.0.1作为服务器地址。
编译要求
- 操作系统:Windows 10/11 或 Windows Server 2016+
- 开发环境:Visual Studio 2019 / 2022 / 2026
- SDK:Windows 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. 编译
# 生成 -> 生成解决方案
常见问题:
部署方式
内网部署
主控与客户端在同一局域网,客户端直连主控 IP:Port。
外网部署(FRP 穿透)
客户端 ──> VPS (FRP Server) ──> 本地主控 (FRP Client)
详细配置请参考:反向代理部署说明
授权说明
自 v1.2.4 起提供试用口令(2 年有效期,20 并发连接,仅限内网):
授权方式:按计算机 IP 绑定
主控 IP:127.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
- 推荐库:libXtst(XTest 扩展)、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、位置、计算机名
- 自动封禁异常 IP:60 秒内超过 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
相关项目
- HoldingHands - 全英文界面远程控制
- BGW RAT - 大灰狼 9.5
- Gh0st - 经典 Gh0st 实现
联系方式
| 渠道 | 链接 |
|---|---|
| 962914132 | |
| Telegram | @doge_grandfather |
| yuanyuanxiang163@gmail.com | |
| wishyuanqi | |
| Issues | 问题反馈 |
| PR | 贡献代码 |
赞助支持
本项目源于技术学习与兴趣爱好,作者将根据业余时间不定期更新。如果本项目对您有所帮助,欢迎赞助支持:
如果您喜欢这个项目,请给它一个 ⭐ Star!








