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 协议开源,允许自由使用、修改和分发,但必须保留原始版权声明。
继续使用本软件即表示您已阅读、理解并同意上述所有条款。
- 多种截图方式:GDI(兼容性强)、DXGI(高性能)、虚拟桌面(后台运行)
- 智能压缩算法:
- DIFF 差分算法 - SSE2 优化,仅传输变化区域
- RGB565 算法 - 节省 50% 带宽
- H.264 编码 - 视频级压缩,适合高帧率场景
- 灰度模式 - 极低带宽消耗
- 自适应质量:根据网络 RTT 自动调整帧率(5-30 FPS)、分辨率和压缩算法
- 多显示器:支持多屏切换和多屏上墙显示
- 隐私屏幕:被控端屏幕可隐藏,支持锁屏状态下控制
- 文件拖拽:Ctrl+C/V 跨设备复制粘贴文件
- 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 次稳定后才提升质量
- 冷却机制:防止频繁切换
// 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 解析 |
超级用户
│
├── Master 1 ──> 客户端群组 A(最多 10,000+)
├── Master 2 ──> 客户端群组 B
└── Master 3 ──> 客户端群组 C
设计优势:
- 层级控制:超级用户可管理任意主控程序
- 隔离机制:不同主控管理的客户端相互隔离
- 水平扩展:10 个 Master × 10,000 客户端 = 100,000 设备
主控程序 YAMA.exe 提供图形化管理界面:
- 基于 IOCP 的高性能服务端
- 客户端分组管理
- 实时状态监控(RTT、地理位置、活动窗口)
- 一键生成客户端
运行形式:
| 类型 | 说明 |
|---|---|
ghost.exe |
独立可执行文件,无外部依赖 |
TestRun.exe + ServerDll.dll |
分离加载,支持内存加载 DLL |
| Windows 服务 | 后台运行,支持锁屏控制 |
| Linux 客户端 | 跨平台支持(v1.2.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。
客户端 ──> 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
系统要求:Windows 7 SP1 及以上
功能完整性:✅ 全部功能支持
系统要求:
- 显示服务器:X11/Xorg(暂不支持 Wayland)
- 必需库:libX11
- 推荐库:libXtst(XTest 扩展)、libXss(空闲检测)
功能支持:
| 功能 | 状态 | 实现 |
|---|---|---|
| 远程桌面 | ✅ | X11 屏幕捕获,鼠标/键盘控制 |
| 远程终端 | ✅ | PTY 交互式 Shell |
| 文件管理 | ✅ | 双向传输,大文件支持 |
| 进程管理 | ✅ | 进程列表、终止进程 |
| 心跳/RTT | ✅ | RFC 6298 RTT 估算 |
| 守护进程 | ✅ | 双 fork 守护化 |
| 剪贴板 | ⏳ | 开发中 |
| 会话管理 | ⏳ | 开发中 |
编译方式:
cd linux
cmake .
makeV2 文件传输协议
- 支持 C2C(客户端到客户端)直接传输
- 断点续传和大文件支持(>4GB)
- SHA-256 文件完整性校验
- WebView2 + xterm.js 现代终端
- Linux 文件管理支持
- 主机列表批量更新优化,减少 UI 闪烁
远程桌面工具栏重写
- 状态窗口显示 RTT、帧率、分辨率
- 全屏工具栏支持 4 个位置和多显示器
- H.264 带宽优化
- 授权管理 UI 完善
自适应质量控制 & Linux 客户端
- 基于 RTT 的智能质量调整
- RGB565 算法(节省 50% 带宽)
- 滚动检测优化(节省 50-80% 带宽)
- Linux 客户端初版发布
完整更新历史请查看:history.md
- HoldingHands - 全英文界面远程控制
- BGW RAT - 大灰狼 9.5
- Gh0st - 经典 Gh0st 实现
| 渠道 | 链接 |
|---|---|
| 962914132 | |
| Telegram | @doge_grandfather |
| [email protected] | |
| wishyuanqi | |
| Issues | 问题反馈 |
| PR | 贡献代码 |
本项目源于技术学习与兴趣爱好,作者将根据业余时间不定期更新。如果本项目对您有所帮助,欢迎赞助支持:
如果您喜欢这个项目,请给它一个 ⭐ Star!









