27 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 採用企業級多層授權架構,支援代理商/開發者獨立運營:
- 離線驗證:第一層使用者獲得授權後可完全離線使用
- 獨立控制:您的下級使用者只連接到您的伺服器,資料完全由您掌控
- 自由定制:支援二次開發,打造您的專屬版本
用戶端支援
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!








