设为首页
收藏本站
切换到窄版
登录
立即注册
找回密码
搜索
搜索
本版
帖子
用户
快捷导航
论坛
BBS
C语言
C++
NET
JAVA
PHP
易语言
数据库
IE盒子
»
论坛
›
IE盒子
›
易语言
›
使用易语言开发一款远控软件
返回列表
发帖
查看:
139
|
回复:
0
使用易语言开发一款远控软件
[复制链接]
圣星空
圣星空
当前离线
积分
9
1
主题
6
帖子
9
积分
新手上路
新手上路, 积分 9, 距离下一级还需 41 积分
新手上路, 积分 9, 距离下一级还需 41 积分
积分
9
发消息
发表于 2022-12-19 10:19:07
|
显示全部楼层
|
阅读模式
界面/功能实现
远控为C/S结构,主要功能实现都在服务端,而客户端则根据收到的指令进行对应的操作, 下面是本文要实现的功能;
1. 服务端
主机信息
命令执行
端口扫描
键盘记录
开机启动
文件上传
屏幕监控
2. 客户端
根据服务端指令进行相应操作
功能实现
先把大体界面画出来,用到以下组件:选择夹、超级列表框、服务器、客户、状态栏等等
主机信息
客户端:
2022-07-18-14-06-45-image.png
客户端上线后发送数据 "加入连接+主机名" 到服务端,如:加入连接admin;便于服务端取数据进行数据操作区分
上线
服务端:使用超级列表框组件对上线主机进行展示,并添加一个服务器组件
当服务端数据到达时取回数据,并以每个汉字2字节的大小来提取标志位✅,也就是8字节的“加入连接”来判断客户端发送来的数据,从而进行主机名提取;最后按照顺序,以id,ip,主机名、时间上、状态等方式插入表
离线
当客户离开时将离开的ip与列表框的ip一列进行遍历对比,如果一致则将该ip的状态修改成离线。
效果 ,剩下的就是一些细节日志问题了,自行添加;
命令执行
整体实现逻辑: 取用户右键单击☑️选中位置,弹出命令执行菜单;当用户点击”命令执行“时取所选中列表项的IP,并跳转选择夹到命令执行栏,当点击执行时候,服务端发送标志头和命令给客户端,客户端取回响应数据并返回给服务端。

服务端:
首先创建菜单,在主窗口右键选择菜单编辑器
添加功能选项,将可视打勾
设置在表单中右击弹出菜单
让右击后取鼠标位置弹出菜单
单击命令执行选项,添加被点击后的功能
画一个命令执行界面
“执行”
按钮被点击服务器发送编辑框的内容到被选择的主机上
客户端:
把命令执行的标志头取出来后,剩下的就是要执行的命令了,这里用到了一个封装好的模块,取DOS返回文本1() ,也可以使用运行()方法将cmd结果写入文本,然后再读文件返回给服务器。
端口扫描
这里先考虑同步扫描,就是循环端口范围,使用
复制窗口组件
函数对客户1进行复制,然后再使用复制的客户进行循环连接判断,设置标志当用户点击停止时候停止循环连接。
效果:
多线程实现:
效果:
键盘记录
键盘记录在hook类中内置了
客户端:
首先创建一个hook全局变量,类型为类_钩子 ,当客户端收到监控键盘指令时候安装键盘监控,安装转换为可读值加上标志位发送给服务端,服务端进行展示。
服务端:
开机启动
这里只简单写到C:\Users\USERNAME\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\ 这个启动路径下这一种方式
服务端:
发送设置开机启动指令
客户端:
接收到指令后取当前用户文件名进行路径拼接写文件
文件上传
文件上传使用分包发送,也就是将上传文件读到变量中以固定字节大小进行切割发送,客户端再根据数据包大小判断是否为最后一个数据包,进行拼接写文件。
服务端:
这里以10000字节为一个包发送
客户端:
客户端收到的数据包小于1w时,就认为是最后一个分包,直接写入文件。
屏幕监控
屏幕监控用幻灯片模式,客户端一张张截图拼凑发送给服务端展示,截图更替速度快就能实现gif的效果,还是取决于网速,相当于文件上传功能,只不过是一直在循环。
服务端:
为了方便为我选择在服务、客户端添加各添加两个组件,一个负责普通的操作;另一个是用于屏幕监控准备,因为要断开监控必须将客户端踢出。
客户端:
使用时钟事件进行循环
服务端操作判断
效果
回复
使用道具
举报
返回列表
发帖
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
回帖后跳转到最后一页
浏览过的版块
NET
数据库
PHP
C语言
C++
快速回复
返回顶部
返回列表