【2023.1.23】想利用放假在家的时间,结合前面所学的网站开发,桌面应用开发及Windows黑客编程知识,做一款远控软件服务提供系统,主要目的是练练手,计划用时三天(如果不被其他事情打断的话)
项目开发计划
- 想利用放假在家的时间,结合前面所学的网站开发,桌面应用开发及Windows黑客编程知识,从零做一款远控软件服务提供系统,主要目的是练练手,计划用时三天(如果不被其他事情打断的话),后续会放出开发进度
项目功能介绍
- 牧马场1.0系统,为web用户提供远控软件定制和管理服务,用户注册账号登录后,可以按照自己需求定制远控软件,并在网站前端对部署的远控软件进行监管,提供远控软件功能定制、状态监控、消息收发、文件传送、远程命令执行等功能。
项目组织结构
- horse-front: 牧马场系统前端
- horse-back: 牧马场系统后端
- horse-table: 牧马场系统数据表保存目录
- horse-redis: 牧马场系统redis数据保存目录
- horse-serv: 远控软件服务器端
- horse-cli: 远控软件客户端
- horse-demo: 系统开发阶段测试代码
项目技术选型
项目 |
技术 |
系统前端 |
Vue/Vue router/Vuex/ElementUI |
系统后端 |
SprintBoot/SpringSecurity/MyBatis/JWT/ |
关系型数据库 |
MySql |
缓存型数据库 |
Redis |
消息队列 |
RabbitMQ |
远控软件服务端 |
Qt |
远控软件客户端 |
Win32 api |
前端同后端的通信 |
Axios |
后端同前端的通信 |
WebSocket |
客户端补丁文件 |
Python脚本 |
项目设计思维导图

项目设计总体框图

项目特点
- 用户无需在本地安装远控软件,无需使用vps跳板,即可做到本地远控不留痕迹
- 用户只需要联网登录账号,即可使用服务器上的资源,将原本分散到各用户主机的服务端,收归到统一的服务器进行集中管理
- 用户可以同时在多台目标机器上部署多个远控软件,可以在网页上对这些远控软件进行批量监控和管理
项目不足之处
- 高并发方面:系统本身设计是可以应对高并发场景的,但受限于服务器实际可用资源(资金有限,所有项目都部署到同一台服务器上),目前只能做少量测试用...
- 前端:通过nodeJs部署,未做反向代理和负载均衡,未做故障迁移
- 后端:jar包部署到服务器,未做反向代理和负载均衡,未做故障迁移
- 数据库:用redis来保存需要频繁访问的数据,一定程度减轻了mysql的访问压力,但未做数据库的集群化管理和故障迁移
- 消息队列:所有用户使用同一虚拟主机,同一交换机,只通过路由key区分不同用户,未做集群管理和故障迁移
- 远控软件服务端:持续运行在服务器上,使用子进程来建立远控连接,并且使用了qt的信号和槽机制来监控远控消息是否可读可写,保证连接的建立和消息收发都是非阻塞式的,能够应对高并发场景。但是在高并发环境下,只用单进程读取大量远控软件信息,并推送到前台界面,可能会较吃力。
- 安全性方面:
- 对用户数据进行了加密再保存到数据库中
- 用户认证采用JWT认证
- 未对远控软件的消息传输进行加密,存在安全风险
- 实用性方面:
- 当前未对远控软件做免杀,没法通过windows defender等杀软的检测,不能投入实际生产应用环境,当然,做这个系统的本身目的也只是为了练练手,做娱乐用
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库