Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >C#开源项目:SiMay远程控制管理系统

C#开源项目:SiMay远程控制管理系统

作者头像
独立观察员
发布于 2022-12-06 10:32:51
发布于 2022-12-06 10:32:51
2.2K0
举报

C#开源项目:SiMay远程控制管理系统

Gitee仓库截图

下方基于原项目仓库readme

系统介绍

  • SiMay远程控制管理系统是一个Windows远程控制系统,底层基于IOCP的异步通信模型,能对海量客户端实时监控,目前功能已实现:逐行扫描远程桌面经典的文件管理、实时远程语音、实时摄像头、经典注册表管理、命令行终端、实时系统进程管理、用户桌面视图墙轮播等功能。并且可捕获UAC,WinLogon桌面。系统实现了中间会话服务器,可支持不同平台多主控端同时监控同一被控端。被控服务端支持绿色启动及以系统服务方式安装,项目完全采用C#.NET开发,代码仅供参考,项目不定时更新,欢迎关注点星星,fork。欢迎入群技术交流:905958449 :laughing: :blush:

申明

  • 作为创作者,我对由此软件引起的任何行为和/或损害不承担任何责任。您对自己的行为承担全部责任,并承认此软件仅用于教育和研究目的。不得用于您不拥有或有权使用的任何系统。使用此软件,您自动同意上述内容,感谢支持。

背景

  • 本项目仅为个人项目,经过几次重构,系统相对比较成熟了,决定开源反馈开源社区,希望更多人能和我一起进步,欢迎吐槽改进。

主控界面

创建服务端

远程桌面

文件管理

语音传输

注册表管理

中间服务器

系统项目结构

SiMay.Core【公共核心功能】

  • SiMay.Basic --基础通用库
  • SiMay.Core.Standard --系统核心统一公共库【统一通讯指令丶共用组件丶通信数据实体等..】
  • SiMay.Serialize.Standard --轻量级高性能二进制序列化库【作用:系统通信数据实体化】
  • SiMay.ModelBinder --调用绑定器

SiMay.RemoteMonitor【主控制端】

  • SiMay.RemoteControls.Core --主控端核心库
  • SiMay.RemoteMonitor.Windows --Windows主控管理端
  • SiMay.RemoteMonitor.Web --Web主控端
  • SiMay.RemoteMonitorForWebSite --Web监控前端

SiMay.Platform【平台实现】

  • SiMay.Platform.Windows -- 基于Windows的功能实现

SiMay.RemoteService【远程被控服务端】

  • SiMay.RemoteService.Loader --内存加载Loader,实现远程内存载入被控端核心库
  • SiMay.ServiceCore --被控端核心库

SiMay.SessionProvider【会话提供层】

  • SiMay.Net.SessionProvider --会话提供库【作用:提供服务器监听模式或者中间会话代理协议】
  • SiMay.Net.SessionProvider.Core --代理协议统一公用库【作用:统一中间库和服务器的通信指令及序列化等】
  • SiMay.Net.SessionProviderServiceCore -- 中间服务核心库
  • SiMay.Net.SessionProviderService --中间会话代理服务器【作用:提供保持服务端会话保持丶数据转发功能,基于此实现多平台端监控】

SiMay.Sockets【通信层】

  • SiMay.Socket.Standard --轻量级通信引擎
  • SiMaySocketTestApp --通信引擎测试程序

编译

  • 1.Bin为编译目录,重新生成后,主控程序将编译到此目录,Bin->dat目录为被控服务端目录,被控服务端编译后在此。(没有目录新建一下)

运行

  • 1.局域网

主控端:打开位与Bin目录下的主控端程序SiMayRemoteMonitor.exe,确认系统设置服务器地址为0.0.0.0(监听本机所有网卡),端口默认5200,使用会话模式为=本地服务器,然后保存配置重启程序, 重启后日志输出监听成功,即主控端设置正确。

被控服务端创建:打开主控端-->创建客户-->地址输入本机物理地址(或127.0.0.1),端口设置为服务端监听端口(默认5200)-->点击连接测试检查配置是否正确-->创建服务端文件,服务端文件即为配置完成的被控端程序(如提示找不到文件,请检查被控服务程序是否存在[编译步骤是否正确]),双击运行被控服务程序即可在主控端看见服务在线信息,如主控端无在线信息,请检查上述步骤是否配置正确。

  • 2.广域网

条件:需要主控端处于公网环境(或者设置路由内网映射、使用内网映射工具[如花生壳,内网通]),并且开放主控端监听端口(注意检查端口是否开放、防火墙通行规则)。创建客户端-->被控服务端连接至主控端的公网地址,端口即可

  • 3.中间服务器部署

条件:需要中间服务器处于公网环境(建议部署在公网服务器,或者设置路由内网映射),并且开放中间服务器监听端口(默认522端口、注意检查端口是否开放、防火墙通行规则)。

主控端设置: 系统设置-->会话服务器地址 输入 中间服务器的公网地址,端口。-->设置会话模式为:中间会话模式-->确认AccessKey与中间服务器Accesskey一致。(中间会话服务器系统设置位于标题栏系统菜单右键)-->创建客户端并选择会话模式为中间会话模式,ip,端输入中间服务器的公网地址即可

  • 4.Web端监控 编译SiMay.RemoteMonitor.Web.exe,Web服务为控制台形式无系统设置界面,可直接使用Windows控制端保存的系统配置文件SiMayConfig.ini,会话模式可使用服务器模式或者中间会话模式启动,启动成功后控制台打印监听成功或初始化成功字样即设置正确(服务器模式为监听成功,中间会话模式为初始化成功 及 WebSocket端口监听成功),如有被控端连接成功,控制台会实时打印上线连接信息,Web服务设置完成。

上述Web服务设置完成后,下一步需要部署Web网站SiMay.WebRemoteMonitor,首先打开Index.html文件编辑WebSocket连接地址,指向Web服务的公网地址与端口即可。

使用浏览器,访问SiMay.WebRemoteMonitor网站,页面弹出Id,Key输入框即表示与Web服务连接成功,输入SiMay.RemoteMonitorFor.Web.exe配置的账号密码即可登录,连接成功后页面可看到被控服务端计算机桌面视图,长按视图可打开更多功能。

技术

  • 组件式系统架构设计
  • 远程同步调用
  • 实体消息传输协议
  • 应用多连接会话支持
  • 可视区域逐行扫描算法的远程桌面
  • 中间会话服务转发,支持多个主控端同时实时监控
  • HOOK技术
  • WebSocket Web端监控
  • IOCP异步Socket高性能通信模型
  • 基于Windows WaInXX系列实现的语音通讯
  • 基于Dx组件捕获摄像头

开发环境

  • 建议 Visual Studio 2019 企业版

参与贡献

  • Fork 本仓库
  • 新建 Feat_xxx 分支
  • 提交代码
  • 新建 Pull Request

未来构想

  • 移动Web监控端
  • 跨平台的系统管理监控

SiMay远程监控管理系统更新及更新计划说明

6.0更新

  1. 跨平台支持,重构中间会话服务器使其支持多主控端同步监控 --2020.2.15
  2. 二进制序列化器采用反射缓存,提高系统性能 -- 2020.1.25
  3. 屏幕视图轮播 --2020.1.15
  4. Web端主控端 --2020.5.15(预览)
  5. 远程核心库加载并行控制 --未完成
  6. 远程桌面,语音监听,摄像头监控支持录制功能 --2.26
  7. 远程核心库载入更新(可实现功能快速升级及逻辑调整) -- 6.7
  8. 框架升级调整(实现"应用"的开放封闭设计原则,减少"应用代码"对核心代码的影响) --11.10
  9. 远程被控端服务文件更新 --11.23 10.框架升级调整(应用模块实现远程同步调用) --11.13 11.框架升级调整(应用模块支持多应用服务独立连接并可断线重连、增强复用性) --7.20 12.增加下载管理模块 - 11.22

5.0更新

  1. 优化了通讯库,支持FULL丶PACK数据处理方式,实现了更友好的配置接口
  2. 新增中间会话转发服务,增加了SessionProvider层,控制端支持监听模式丶中间会话模式,在此基础上实现了Web监控服务,支持Web方式监控
  3. 增强了远程桌面模块,支持全屏监控的远程鼠标控制及多屏幕切换
  4. 重构代码结构,实现了组件化系统框架,屏蔽了系统底层实现细节,增强了可扩展性 --2019.5.19
  5. 远程桌面增加了可视区域扫描算法,仅扫描可视区域变化部分,优化了远程桌面模块,速度更加快了 --2019.4.2
  6. 增强系统管理模块,实现了进程实时监控 --8.28
  7. 语音监听,视频监控支持录制功能 --6.0已实现
  8. 被控服务实现了以服务方式安装,使用服务方式可实现Session隔离穿透捕获桌面(锁屏,UAC), --11.9
  9. 文件管理功文件夹传输重构优化 2019.7.13
  10. 系统传输数据消息实体化 -- 2019-6-4
  11. 二进制序列化器采用反射缓存,提高系统性能 --已实现
  12. 远程桌面增加画面质量调整,优化低速率网络下的控制体验,使画面更加流畅 -- 7.27
  13. 支持远程更新服务端 -- 7.27
  14. 增加列表排序功能 -- 7.27
  15. 注册表组件更新,支持二进制丶多种类型数据编辑 -- 9.6
  16. 重构主控端,主控端逻辑核心库与展示层彻底分离(如:基于核心库横向扩展Web主控端,实现多平台逻辑复用) - 11.2

4.0更新

  1. 重写了通讯层,解决网络环境极差时频繁断开连接的情况,实现了对象池,以更好的并发能力应对大规模的客户端数据交互
  2. 设计了更稳定的通讯层接口,通讯层彻底与逻辑层分离
  3. 优化了部分功能的通讯协议
  4. 优化了远程桌面模块
  5. 修复远程桌面在高分屏笔记本时显示不完全的问题
  6. 修复视频监控显示不完全的问题
  7. 增强了语音监听模块
  8. 优化了窗体上的设计,用户体验更好了
  9. 修复了系统管理
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-12-04,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 独立观察员博客 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
【程序源代码】Windows远程控制系统​
开源了,本项目是一个Windows远程控制系统,系个人平时在开发中的一个学习总结项目,项目完全采用C#.NET开发,实现了热区域逐行扫描算法的远程桌面,桌面视墙,文件管理,语音监听,视频监控,注册表管理,进程管理,各模块采用独立连接,支持异常情况重连。
程序源代码
2020/02/24
1.9K0
【愚公系列】2022年10月 使用win11系统自带远程桌面,远程控制VMware虚拟机系统
身为开发人员,虚拟化系统是经常用到的,因为虚拟化能隔绝环境,虚拟出各种各样系统给开发人员测试。不仅仅是VMware虚拟机,还有服务部署docker,k8s等等虚拟化无处不在。本文就尝试使用cpolar进行wind11的远程控制。
愚公搬代码
2022/10/28
2.3K0
打造一款属于自己的远程控制软件(一)
本人为了工作中便于管理手中大量的计算机一直在寻找一款合适的远程控制软件。鉴于网上下载的远程控制软件大多都被不同程度地植入后门,于是萌生了自己打造一款远控的想法,正好借着这个机会重新拾起快要被遗忘了的C++,也借此将源代码与大众网友分享。采用成熟的MFC框架技术来搭建远控客户端和服务端,实现了进程管理、文件管理、服务管理、远程SHELL和屏幕监视功能,层次结构清晰,为日后软件版本的迭代留下了扩展空间。 编程环境 Visual Studio 2010 连接方式 采用反弹型连接方式,被控端主动连接控制端从而能够轻
FB客服
2018/03/22
6.4K0
打造一款属于自己的远程控制软件(一)
使用ipv6内网穿透,实现私有云盘搭建,实现远程控制等功能
ipv6为每一个设备都标注了地址,因此可以直接使用ipv6访问内网中的设备,实现与公网唯一ip一样的功能 从而可以实现远程ftp访问,远程控制,实现个人私有云盘搭建。 买个4t的硬盘安装在家里的电脑上,用ipv6实现内网穿透,就相当于有一个4T的网络云盘了,随时随地就能访问了 就是说你只需要两台能联网的电脑设备就行了,一台用于你身边使用,另一台放到家里等,只要都能上网,就能使用ipv6点对点传输数据,不需要中间商赚差价
全栈程序员站长
2022/06/29
10K0
使用ipv6内网穿透,实现私有云盘搭建,实现远程控制等功能
Python手把手实现远程控制桌面
本项目旨在让大家理解远控软件的原理,通过远控桌面可以实现远程控制我们的电脑,更好更方便的管理电脑。文末将给出初始版的完整代码,需要使用到的其他工具也会有所说明。最终实现的效果就是只要用户点击了客户端的程序运行,我们就可以在服务端对其进行控制。效果如下:左边是客服端程序运行了,然后我们就可以在左边的另一台电脑上打开服务端程序进行控制,可以看到左边的屏幕图像也已经显示在了右边的电脑上。完整代码见文末!
AI科技大本营
2021/03/12
2.3K0
Python手把手实现远程控制桌面
【愚公系列】2022年12月 使用win11系统自带SSH,远程控制VMware中Windows虚拟机系统
身为开发人员,虚拟化系统是经常用到的,因为虚拟化能隔绝环境,虚拟出各种各样系统给开发人员测试。不仅仅是VMware虚拟机,还有服务部署docker,k8s等等虚拟化无处不在。本文就尝试使用cpolar进行wind11的远程控制。
愚公搬代码
2022/12/30
3K0
【愚公系列】2022年12月 使用win11系统自带SSH,远程控制VMware中Windows虚拟机系统
有哪些好的C#开源项目推荐?
链接:https://www.zhihu.com/question/27993498/answer/1014561869
JusterZhu
2022/12/07
2.7K0
有哪些好的C#开源项目推荐?
一文详解远程控制安全与远程控制软件(横测ToDesk\AnyDesk\向日葵)
远程控制的安全性已经算半个老生常谈的问题了,作为常年远程办公的人,这里我只想说一句,无论你用什么软件都会有安全上的隐患,做不到百分百的安全,但相对安全,咱们还是可以自主把控的。
海拥
2023/09/19
2.1K0
一文详解远程控制安全与远程控制软件(横测ToDesk\AnyDesk\向日葵)
「Cpolar」看我如何实现公网远程控制Mac OS【使用mac自带VNC】
💂作者简介: THUNDER王,一名热爱财税和SAP ABAP编程以及热爱分享的博主。目前于江西师范大学本科在读,同时任汉硕云(广东)科技有限公司ABAP开发顾问。在学习工作中,我通常使用偏后端的开发语言ABAP,SQL进行任务的完成,对SAP企业管理系统,SAP ABAP开发和数据库具有较深入的研究。 ---- 💅文章概要: 在上一章节中,我们讲了如何使用Typecho搭建个人博客网站并且使用Cpolar内网穿透免去域名注册的烦恼。在这一节中,我们将继续开始我们的学习:如何实现公网远程控制macOS系
THUNDER王
2023/03/30
2.6K0
「Cpolar」看我如何实现公网远程控制Mac OS【使用mac自带VNC】
Quasar远程控制
Quasar是一种公开可用的开源远程访问木马(RAT),主要针对Windows操作系统,它通过恶意附件在网络钓鱼电子邮件中分发,改项目最初是由GitHub用户MaxXor开发,用于合法用途,然而该工具此后被黑客用于各种网络间谍活动
Al1ex
2022/09/07
6.3K0
Quasar远程控制
远程桌面优化避坑指南
最近发现在局域网中用Windows远程桌面看视频画面有肉眼可见的延迟,测试帧率发现只有33帧,于是在网上找优化方法。网上的优化方案就几种,但都基本只讲如何设置,没说明原因。经过测试发现,有些设置不仅没有效果,还会产生“负优化”。所以还是有必要分享一下。
黄啊码
2022/06/20
10.7K0
实测办公场景下,国产远程控制软件的表现力如何?(技术解析)
大家好,我是码农飞哥,作为一个常年混迹职场的老码农。我在工作和生活中碰到了很多问题,也帮助别人解决了很多问题。前有帮实习生配环境,后有帮同事调BUG,中间还有教老爸如何使用手机。
码农飞哥
2022/12/08
1K0
实测办公场景下,国产远程控制软件的表现力如何?(技术解析)
【软件】RustDesk自己搭建远程控制服务软件 支持控制手机
现在的远程控制软件真是越来越不好用了,todesk限制越来越多、向日葵有限速(我这时不时高延迟)、teamviewer限制了设备数等等等。所以如果能自己搭建一个远程控制,那连接速率就可以自主可控了,还安全。
小锋学长生活大爆炸
2022/11/12
5.8K0
【软件】RustDesk自己搭建远程控制服务软件 支持控制手机
【愚公系列】2022年12月 使用win11系统自带SSH,远程控制VMware中Liunx虚拟机系统
身为开发人员,虚拟化系统是经常用到的,因为虚拟化能隔绝环境,虚拟出各种各样系统给开发人员测试。不仅仅是VMware虚拟机,还有服务部署docker,k8s等等虚拟化无处不在。本文就尝试使用cpolar进行wind11的远程控制。
愚公搬代码
2022/12/05
1.7K0
【愚公系列】2022年12月 使用win11系统自带SSH,远程控制VMware中Liunx虚拟机系统
黑客玩具入门——4、漏洞扫描与Metasploit
Legion是Sparta的一个分支,它是一个开源的、易于使用的、超级可扩展的、半自动的网络渗透测试框架。它是一款Kali Linux系统默认集成的Python GUI应用程序工具。Legion是一个Nmap、Nikto、Hydra等工具的集合,利用各个工具的优秀功能,完成收集信息、扫描和爆破等任务。
zaking
2023/12/01
2.9K0
黑客玩具入门——4、漏洞扫描与Metasploit
记一次实现远程控制电脑开机过程
先说说为什么有这个想法,比如在游戏首发的时候,想远程控制电脑开始下载;想远程电脑查询电脑 上的资料等等。作为一名IT行业的从业者,在生活和工作中需要电脑的地方很多,我们不能无时无刻把电脑带在身边,但是现在我们身边无时无刻伴随着两样东西:蜂窝网络和手机。因为我的习惯不喜欢电脑长时间的开着,我不用我就关掉,而且我的电脑散热风扇风比较大,我觉得长时间开着影响室内空气质量,所以我就有了远程控制电脑开机的需求,使用蜂窝网络和手机来实现此需求便可以随时随地的控制。
晓晨
2020/10/29
2.9K0
记一次实现远程控制电脑开机过程
AGV监控与任务管理系统设计
AGV管理监控调度系统能够对AGV进行实时状态监控和任务信息的下达与接收,是AGV系统重要核心技术之一。
老King
2023/12/12
7090
AGV监控与任务管理系统设计
【远程工具系列】节点小宝、RustDesk、向日葵、ToDesk、TeamViewer、AnyDesk ——六款主流远程控制软件横向测评对比
无论你是 DevOps 运维工程师、自由开发者,还是需要远程办公、远程剪辑乃至远程教学的普通用户,一款兼顾 “远程桌面 + 文件传输 + 内网穿透 + 异地组网” 的工具都能让效率几何级跃升。
猫头虎
2025/05/22
6550
【远程工具系列】节点小宝、RustDesk、向日葵、ToDesk、TeamViewer、AnyDesk ——六款主流远程控制软件横向测评对比
如何使用Kali远程控制安卓系统
一、查看Metasploit工具中可以在Android系统下使用的payload类型 可以看到有9种可以在Android下使用的payload 这些payload可以作为我们后面攻击的软件的生成工具
知识与交流
2021/04/02
7.2K1
如何使用Kali远程控制安卓系统
用novnc实现浏览器远程控制桌面
访问 https://sourceforge.net/projects/tigervnc/files/stable/1.13.1/
治电小白菜
2024/07/10
9652
用novnc实现浏览器远程控制桌面
推荐阅读
相关推荐
【程序源代码】Windows远程控制系统​
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档