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

27 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 採用企業級多層授權架構,支援代理商/開發者獨立運營:

  • 離線驗證:第一層使用者獲得授權後可完全離線使用
  • 獨立控制:您的下級使用者只連接到您的伺服器,資料完全由您掌控
  • 自由定制:支援二次開發,打造您的專屬版本

📖 查看完整授權方案說明


用戶端支援

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