分享一个远程控制软件源代码

开门见山给地址
下载链接

【2021年12月4日】补充说明:
下载前先看一下啊朋友们!这个是远程控制软件,说一下载到桌面就被当做病毒杀掉了的朋友们,能不能带点脑子?
这个本来就被杀毒软件定义为病毒啊朋友们,不然你们下载是干嘛的?是打算当杀毒软件来使用吗?[手动滑稽]。
这个是远程控制软件源代码,注意是源代码,朋友们。是需要自己拿到代码去编译的。年代久远,我也不知道是否编译能否通过,如果不能通过,请自己解决,因为我现在也不知道这个代码怎么跑起来。
毕竟我现在在开滴滴送外卖,技术忘得差不多了!

效果如图所示
这里写图片描述

代码是2013年研究远程控制软件的时候基于gh0st3.6的源代码上面修改的。没有怎么去优化,也不免杀,有很多Bug遗留。放出代码也仅仅是为了给远程控制爱好者作为入门级的参考。

因为现在很久没有用C++做windows上面的开发了。电脑上也没安装visual studio。就简单的介绍下这个代码。运行目录如下图所示
这里写图片描述

使用方法
在控制端运行Gh0st.exe程序。
这里写图片描述
上线地址填写控制端所在的IP地址。(新手要注意内网和外网的区别!没有外网IP的,可以研究下向日葵内网上线的课题,这里就不引述了。)
反正也只是用于学习远程控制软件的运行机制,所以默认的端口和一些参数就不用改了。

点击生成服务端。(记得一定要关闭杀毒软件呀!什么361,卡巴死你之类的都给他关掉,服务器端记得关闭防火墙。)。

生成服务端后,就在当前目录下生成AeroServer.exe程序。

双击AeroServer.exe,就会发现在Gh0st3.8主界面中已经上线了。

软件运行的大概流程是很清晰的:

1.服务器端(控制机)Gh0st采用windows环境下的高效完成端口IOCP来处理网络数据,启动程序后IOCP初始化并监听1990端口,等待连接和处理网络数据。
2.客户端(肉鸡)被运行后,去连接指定的上线IP/或域名对应的端口(这里是1990)。
3.连接成功,运行在肉鸡上的程序和服务端里应外合。开始黑暗的特洛伊之旅。

指令流程:

控制机发送一条指令给肉鸡,在我们这个代码中就是 Gh0st.exe 发送指令到AeroServer.exe
肉鸡接收到这条指令后。解析对应的指令,然后执行相应的命令
执行完的结果进行回传给控制端。控制端才知道执行的结果是成功抑或是失败。

需要解决的问题:

1.网络数据包的传输
windows网络编程,需要解决数据粘包问题,需要解决掉线重连的问题。需要解决网络延时问题。

2.远程屏幕的查看。原理是被控端程序扫描整个屏幕,生成一张图,将这张图压缩后通过网络传输到控制端。控制端收到这个网络包,通过网络协议中的约定去解析。发现是一个远程桌面信息的包,解包后在本地进行展示。绘制出这张图。大家知道24帧/s的速度就能够产生连续的动画。在远程控制中也是这个原理,不间断的更新远程桌面,就能够产生连续的视觉效果。

如果想要了解更多的方法,可以去了解远程控制软件VNC。它的远程帧缓冲。查看这里了解远程帧缓冲相关的文章

3.在远程屏幕的传输中,屏幕扫描算法非常重要。因为它影响到传输包的大小、频率。比如被控端桌面长期保持不变,还有必要进行全屏扫描吗?比如被控制端桌面只开了个小的聊天窗口,其他的全都没有变化,如果只扫描、变更那个聊天窗口的内容,需要传输的网络数据是否就会少很多,在同等的带宽下,会让画面更清晰流畅?所以我们用不同的远程控制软件,会感觉有不同的控制效果。有些远程控制界面卡、画质渣。而有些效果就很好。流畅、反应迅速。比如teamview,windows自带的mstsc工具等。

远程控制软件中需要解决的问题有很多。涉及到系统的方方面面,除了网络传输,数据压缩,音视频的处理,服务器编程,EXE文件格式的处理等等。这不是一篇文章所能概述完成的。有兴趣的朋友可以自行了解相关的知识。

witch_soya
2016年11月19日10:00:15

  • 8
    点赞
  • 39
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值