易语言远程控制技术教程.docx

上传人:b****2 文档编号:2835288 上传时间:2023-05-04 格式:DOCX 页数:56 大小:1.44MB
下载 相关 举报
易语言远程控制技术教程.docx_第1页
第1页 / 共56页
易语言远程控制技术教程.docx_第2页
第2页 / 共56页
易语言远程控制技术教程.docx_第3页
第3页 / 共56页
易语言远程控制技术教程.docx_第4页
第4页 / 共56页
易语言远程控制技术教程.docx_第5页
第5页 / 共56页
易语言远程控制技术教程.docx_第6页
第6页 / 共56页
易语言远程控制技术教程.docx_第7页
第7页 / 共56页
易语言远程控制技术教程.docx_第8页
第8页 / 共56页
易语言远程控制技术教程.docx_第9页
第9页 / 共56页
易语言远程控制技术教程.docx_第10页
第10页 / 共56页
易语言远程控制技术教程.docx_第11页
第11页 / 共56页
易语言远程控制技术教程.docx_第12页
第12页 / 共56页
易语言远程控制技术教程.docx_第13页
第13页 / 共56页
易语言远程控制技术教程.docx_第14页
第14页 / 共56页
易语言远程控制技术教程.docx_第15页
第15页 / 共56页
易语言远程控制技术教程.docx_第16页
第16页 / 共56页
易语言远程控制技术教程.docx_第17页
第17页 / 共56页
易语言远程控制技术教程.docx_第18页
第18页 / 共56页
易语言远程控制技术教程.docx_第19页
第19页 / 共56页
易语言远程控制技术教程.docx_第20页
第20页 / 共56页
亲,该文档总共56页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

易语言远程控制技术教程.docx

《易语言远程控制技术教程.docx》由会员分享,可在线阅读,更多相关《易语言远程控制技术教程.docx(56页珍藏版)》请在冰点文库上搜索。

易语言远程控制技术教程.docx

易语言远程控制技术教程

《易语言远程控制技术教程》

(2007年10月第一版)

前言

利用远程控制技术对企业管理,可加快我国经济建设的需要。

易语言以其易学易用功能完善的功能,从而为企业管理中的远程控制提供了基础的编程条件。

本教程从一个基本面说明了远程控制技术的编程环节,可能大家比较感兴趣的是双向通讯技术、自动上线技术、网络通讯协议、内存压缩图片技术、TELNET超级终端等技术,本教程均提供了例程。

高级的远程控制技术应用请大家继续学习WINSOCK,API应用,端口映射技术等。

对于破坏国家正常经济秩序的黑客行为,本书是严厉批评的。

由于黑客技术的发展,远程控制被少数人利用,对国民生产产生了不良的后果。

本教程不得不接触到远程控制这个方面,但仅以讨论的形式为大家介绍,并不进行细致的介绍,以让大家对此类黑客技术有所提防。

由于本教程中,某程序可能即包含了服务器组件,也包含了客户组件,因此如果用外部流行的“服务端/客户端”提法很容易混淆,因此本书将主动进行控制管理的一方称为:

“主控方”,编写的程序为:

“主控端”;将被动接受控制的一方称为:

“受控方”,编写的程序为:

“受控端”。

本教材个人可打印一份细看,各兄弟网站可自由转载而不用事先打招呼。

版权所有,不得批量印刷即可。

作者还要说的话:

本教程用了我两个月的时间写完,前期收集例程及写例程用了我更多的时间,特别辛苦。

远程控制是把双刃剑,可以好好利用,也可能造成不好的影响。

还好作者回头再看本教材后,感觉对于企业内部管理应用还是非常不错的,可以提高中国中小企业的管理水平,但不可能制作成类似于灰鸽子那样的破坏功能,本书没有提供这样的技术,也请大家自重,不要写破坏性的程序。

本书使用到大量的例程,足有200MB,还好,书中我基本都提供了下载链接,如果书中没有列出的例程,请大家跟贴指出来,我会补上。

我觉得最好的学习方法是先将这些例程收集全了,再一个一个打开看看,基本上就能明白了。

目录

目录1

第一课.远程控制原理4

1.企业管理的需要4

2.介绍相关管理工具4

3.组件简介6

第二课.组件选择7

1.数据报7

2.服务器/客户组件8

3.网络通讯支持库8

4.保密通讯支持库9

5.远程服务支持库10

6.网络传送支持库11

7.网络通讯支持库二12

8.表1:

网络通讯类支持库组件功能对比表12

网络传送大文件丢包的原因13

第三课.组件构成14

1.用例图1:

通讯类(易鸽子,局域网寻呼机,方舟千里眼)14

2.用例图2:

聊天室类14

3.用例图3:

远程控制15

4.用例图4:

远程数据服务(数据库)15

5.采用单对组件16

6.采用多种组件16

7.组件搭配16

8.表2:

有易语言源码的远程控制软件对比16

第四课.通讯协议18

1.指令简介18

2.指令应用18

第五课.用户连接19

1.连接方式19

2.登录口令20

3.身份验证,MAC和硬盘码20

第六课.远程监视20

1.“服务器/客户”组件通讯模式20

2.内存压缩图片20

3.“远程服务支持库”21

第七课.自动上线21

1.数据报广播自动上线21

2.多对“服务器/客户”组件反向扫描上线21

3.服务IP地址自动搜寻自动上线21

4.将IP地址直接绑定在受控端21

5.推举服务器21

第八课.客户端功能22

1.发送指令22

2.对话聊天22

3.监视屏幕23

4.遥控功能25

5.了解信息及修改信息26

5.TELNET超级终端26

6.文件传输27

7.鼠标键盘录制28

8.隐藏进程28

9.开机启动运行29

10.正常关机29

11.多用户识别30

12.不重复运行30

13.系统服务权限30

14.其他功能30

第九课.服务端功能30

1.安全性保证30

2.用户列表信息32

3.数据库操作34

4.自动生成EXE36

5.跨网远程39

第十课.捆绑与免杀39

1.捆绑39

2.免杀39

第十一课.打造超小受控端40

1.请使用斩月工具,去掉易语言的核心支持库。

40

2.尽量使用API,这样不带有大量的支持库,体积就小了。

41

第十二课一个实例的分析41

1.设计文档41

激活客户端过程42

客户端上线过程42

2.开机口令42

3.用户列表/选择用户43

4.发送指令43

5.激活用户44

6.发送文件45

本书引用例程

我收集了一些例程,较多,足有100MB以上,因此只能将例程的地址提供给大家,有需要时大家再自己搜索下载。

1.易语言自带例程:

数据报例程,服务器/客户组件例程,远程服务例程等。

2.远程桌面

易语言论坛搜索,关键字:

远程桌面,作者:

王军

3.诺亚远程控制系统

论坛搜索关键字:

诺亚,诺亚远程

4.让服务器控件真正分辨多客户,不用客户发送标识

5.使用GDI+在内存转换图像格式-凌晨孤星

6.冰河幻灵-鼠标录制程序

有几个例程,可搜索易语言论坛关键字:

鼠标录制,近在眼前

第一课.远程控制原理

1.企业管理的需要

利用易语言的远程控制技术,可以对企业中的电脑进行非常方便的管理。

典型的类似软件如:

QQ的远程协助功能,微软的NETMEETING,PCANYWHERE,还有一些网吧等单位利用远程管理,自动更新客户机的桌面游戏链接,游戏文件大文件的自动更新。

有的企业可以远程管理员工的桌面,及时发布企业重要信息,大文件的传输,远程维修客户电脑等。

2.介绍相关管理工具

在企业管理中,实际上已有一些软件了,如:

腾讯的QQ,还有CC,以及一些有名的远程管理软件PCANYWHERE;黑客使用远程控制较有名的是:

冰河、灰鸽子,任我行等。

企业内部使用的还有一些如:

局域网寻呼机,内部聊天工具,易鸽子,聊天室等。

PCANYWHERE

冰河

灰鸽子

局域网寻呼机

易鸽子

 

3.组件简介

易语言中数据报组件采用了UDP原理的协议。

还有采用简单TCP/IP协议的组件,如:

服务器/客户组件。

保密通讯支持库将TCP/IP协议及安全套接字层/RSA加密技术,两用户之间通讯较好及稳定。

而远程服务支持库采用了TCP/IP协议,并且封装了多线程池,支持多用户、多任务、多线程、大文件的数据传输。

第二课.组件选择

下面对易语言中几种远程管理的组件对比介绍

1.数据报

数据报是一种不可靠、小数据量的网络数据交互方式。

如果传递的数据量过大,有可能会失败,最好不要超过127字节。

如需要大数据量或者可靠数据传送方式,请使用基于连接的其它网络组件。

数据报组件转输的协议是UDP,也就是说,他的发送量非常小,介绍中说最好不要超过127字节,但在网络稳定的情况下,可以发送200字节不成问题。

同时它也是一种不需要握手过程的通讯协议,即:

它可以广播发送,这个优势可以利用到局域网中向所有用户发送消息,广播发送的速度也非常快,无需等待。

也可以利用这个组件的广播机制,进行快速的连接服务端。

即程序中同时使用数据报和“服务器/客户”组件,这样通过数据报通知已下线的客户连接服务器。

同时,如果设计得好的话,可以让这个组件自己推举服务器,即查到IP地址中哪一台电脑的IP值最大,找到最大号的,这台就作为服务器使用,或启动“服务器/客户”组件,改由“服务器/客户”组件进行服务。

2.服务器/客户组件

服务器组件是基于连接的网络数据交换的服务方组件,用作在指定端口监视来自客户方的数据。

需要采用一台电脑作为服务器使用,其他电脑作为客户机,使用上较为方便,一次最大可发送4380个字节,超过这个字节数,必须使用分包的办法,在接收的用户处再还原包。

由于可扩展性非常差,即不支持多用户,多线程,大文件传输入,在用户数量多,数据量大的情况下会产生紊乱,不建议大家用于商业程序中。

3.网络通讯支持库

是服务器/客户组件的升级版。

包括了监听等功能。

同上,不建议大家用于商业程序中。

4.保密通讯支持库

本支持库实现在网络上保密通讯的目的。

由于一些机密数据在网上传输过程中可能会被一些别有用心的人截获破坏,以致对数据的拥有者造成经济上或者是物质上的损失,这样就要求数据在网络上传输的过程中不会被他人利用破坏。

本支持库的设计和实现就是为了完成在网络上保密通讯的目的,注意本支持库仅仅是完成对数据在传输的过程中的保护。

理论上,在用户的私钥不公开的情况下,该通讯方式是绝对安全的,即使算法的设计者也不能做出任何破坏。

本支持库使用也非常简单,在客户端和服务程序连接前,设置好相应密钥,在实际的使用过程中,用户不必关心加密解密的过程,正常发送和接收数据就可以了。

为了完全理解该支持库,建议使用者查阅有关“安全套接字层(SSL)”的原理,本支持库就是对该原理的实现。

这是一个较好的用于商业的组件,每次最大发送:

20480个字节,再大的文件需要自定义分包协议传输,保密性能好。

但存在的问题是,多用户机制,及多线程不支持。

因此只能作为点对点传输的工具编程,即当用户需要传送时,手工建立两个用户的连接,再进行传输,建议一些保密要求极为严格的商业程序使用本支持库。

如军方、政府。

5.远程服务支持库

该支持库提供对服务器端程序和客户端程序的支持。

客户端发出请求,服务器端接受到客户端的请求后,就会执行事先设置好的触发函数,在触发函数的方法中就可以分析用户端的请求,然后计算出结果发回给相应的客户端。

该支持库的服务器模型支持多用户多任务,内部采用多个线程池协调同步共同完成任务数据的发送接收。

本支持库一般可以使用在网络服务中间件,远程调用服务器,分布式计算等等程序的开发过程中。

这个支持库是本书重点推荐的一个支持库。

支持多用户,多任务,多线程,大文件传送。

支持库内部已将多用户计划任务作为线程池保护起来,直接传输完成为止。

应用上极为广泛,如:

远程监视控制,远程数据服务等。

这是个多线程的,使用了4个线程池。

建议你使用同步连接模式,这样,客户的每一次请求处理完成后才顺序执行下一个请求,会有一个顺序性。

如果你使用异步传输模式快速的发向服务器实际上每个发送来的信息都作为一个请求放到了请求列队中。

异步连接模式:

服务端不会按照发送来的顺序返回信息,造成不便。

接受-处理-返回

就这样一个流程,每个发送的请求都单独处理。

你发的又不是数据流,如果你不停的发,服务器就会不停的接收直到请求文本发送结束服务器才处理这个请求。

如果你快速的发很多数据造成服务器来不及时处理。

缓存大量的请求信息会造成问题。

但是呢,线程数量是能自己控制的,你改成99999,就看你的机器处理能力了。

如果你一定要大量的发送请求信息,处理过程很复杂服务器不能及时处理,就会让服务器跨掉。

实际上这样的话,服务器的性能达到极限,你还要考虑带宽是否充足哦。

同步连接-处理客户端主动的请求信息,主动的查询。

在有明确查询目的时候使用。

异步连接-被动等待服务器的信息并做出反应,被动的接收然后响应服务器。

在不确定什么时间查询,需要服务器主动联系客户端的时候使用。

“服务器.发送文本”第1个参数问题:

如果你给的是文本型,就默认是请求代码

如果你给的整数型,就默认是客户句柄

而“到数值”方法返回的是双精度小数型,因此必须用整数型,可以用“取整()”命令,或整数型的变量。

用以下代码试试:

服务器.发送文本(取整(到数值(列表框1.取项目文本(列表框1.现行选中项)))

千万不能用“到数值()”这样的单一命令放在第一个参数中,因为“到数值()”返回的是双精度小数型。

因此还要用“到整数(到数值(……))”这样的命令方式。

6.网络传送支持库

本支持库实现对多种协议断点续传下载与FTP上传的支持,并提供了丰富的设置方式。

当前版本支持HTTP,FTP,MMS多线程下载及断点续传,以及对RTSP协议的单线程下载及断点续传。

用户可以根据各自的主机及网络情况进行设置,本支持库可以运行在linux下.详细情况参见例程,注意:

当前版本使用了映射文件模式,并且是一次全部映射的方法。

所以最大传送不超过一次映射文件的长度。

这个支持库主要是应用于FTP,需要FTP服务器。

易语言中有现成的例程,在远程控制中,用于客户端的自动上线功能。

7.网络通讯支持库二

本支持库实现了对原始套接字和ARP协议的支持。

通过原始套接字,我们可以更加自如地控制多种协议,而且能够对网络底层的传输机制进行控制;ARP(地址解析协议),就是将网络层(IP层,也就是相当于ISOOSI的第三层)地址解析为数据连接层(MAC层,也就是相当于ISOOSI的第二层)的MAC地址。

这个支持库使用较为自由,但必须要熟悉相关的网络通讯协议,如果你对其中的协议都了解了,使用这个支持库就简单了。

8.表1:

网络通讯类支持库组件功能对比表

表1:

网络通讯类支持库组件功能对比表

使用组件

优点

缺点

性能比较

系统核心支持库:

服务器/客户

简单易用

传送量小

最大发送:

4380个字节

是否稳定:

一般

自动分包:

否,需要自定协议

最大连接客户数:

未统计

外网可用:

未测试

系统核心支持库:

数据报

极易使用

传送量小,

不稳定,

发送出去不检查

最大发送:

最好不要超过127个字节。

经试网络稳定时可发送200个汉字

是否稳定:

不稳定

自动分包:

否,需要自定协议

最大连接客户数:

未统计

外网可用:

未测试

网络通讯支持库:

网络服务器/网络客户端

较易使用,可监听

传送量小

最大发送:

20480个字节

是否稳定:

稳定

自动分包:

否,需要自定协议

最大连接客户数:

未统计

外网可用:

未测试

保密通讯支持库:

保密服务器/保密客户端

保密,小范围保密转送文件,RSA加解密方法

较繁琐,

多客户可能出错

最大发送:

20480个字节

是否稳定:

很稳定

自动分包:

否,需要自定协议

最大连接客户数:

未统计

外网可用:

未测试

远程服务支持库:

远程服务/请求客户端

支持多用户多任务,采用多个线程池协调同步

一个线程池占用四个线程,开多了也有问题

最大发送:

不限字节

是否稳定:

极稳定

自动分包:

自动分包

最大连接客户数:

未统计

外网可用:

未测试

网络通讯支持库二

较自由

需了解现有通讯协议

与协议有关

网络传送支持库

FTP,可断点续转

需要开FTP

与FTP协议有关

网络套接字通信支持库

非官方

与网络套接字协议有关

9.网络传送大文件丢包的原因

不外乎以下几个原因:

1.单用户分包问题:

小量字节发送以上组件完全没有问题,但如果通讯内容超过了最大发送的范围,就只能通过分包传送解决。

正确的方法是:

分包时就要制定一个转送的协议,简单地就是在每个包前面加个标记和序号,有的还加上MD5码以检查是否传送完整,整个多少包的信息等,然后在服务端组织收包的工作。

有的用户传送时只与一个用户通讯,并通过延时解决交叉传送互相影响的问题,不太科学。

延时相对就时间长,时间长不一定不好,就看你能不能有信心等下去了。

2.多用户分包问题:

第二个原因是用户多,即使分包了,也不一定能正常转送完整,还要回过头来进行检查是否丢包,如果有丢包就要回头重新传,最后合并为一个文件。

并发的用户乱传包,你受得了吗?

需要写程序实现多用户多线程序操作,工作量不小。

最好组件能自己建立线程池,自己组织收包的工作。

3.支持库有BUG,如:

有人说发一个包,接收方却收到两个包。

还有支持库运行时间长了,会有各种问题,开一天,开一个星期,开一个月长时间的测试看看。

总结:

实际上,易语言核心支持库中的三个组件只能学习用,或发一些简单的指令什么的可完全胜任,简单的制作个QQ登录什么的,到此为止吧。

网络通讯支持库也只是个没有组件界面的简单升级版而已,浪费编程人员很多时间。

如果要实战,那么单用户大文件传送请直接考虑保密通讯支持库,多用户大文件传送请直接考虑远程服务支持库。

不要多想了,立即行动吧。

第三课.组件构成

1.用例图1:

通讯类(易鸽子,局域网寻呼机,方舟千里眼)

2.用例图2:

聊天室类

3.用例图3:

远程控制

远程控制

管理员

用户

4.用例图4:

远程数据服务(数据库)

5.采用单对组件

基本上编程人员在确定自己选用哪一种组件后,就固定在程序中只使用这种组件,编程上就较为简单。

但一些受单一组件限制的功能就无法解决,复杂一些的功能可能也难以应用,如:

服务端必须先上线再让客户机上线,服务端上线后不允许掉线,服务端掉线后,客户端必须重启等。

这样在单一组件的模式下,总是很难完成一些“自动化”的任务。

如果用时钟总是去偿试连接,可能造成网络资源的占用。

有时就会产生反向连接的状态,即客户端使用的是服务器组件,而服务端使用的是客户组件,这在一些黑客软件中采用比较多,但

6.采用多种组件

在这里是将组件的类型扩大化了,实际上,采用了这样一种策略,即自动上线即采用了数据报,也采用了服务端/客户反向连接,以及远程服务反向连接,和FTP网络地址的方式。

最终的通讯还是使用远程服务支持库来实现。

即自动连接是由不同组件完成的,连接后的操作权交由远程服务来完成。

特别注意的是,这里用数据报进行了广播形式的激活,这种方法速度非常快,在局域网内非常有效,而用英特网的IP地址的方法将服务端的IP地址告诉客户机的方法非常适合英特网用户使用。

7.组件搭配

如果限定了在只在局域网内进行远程服务,那么采用:

数据报激活+服务器/客户反向激活+远程服务支持库提供服务比较好。

如果是在英特网的广域网上使用,可以采用FTP,及网页上存放服务端IP地址的方式,或远程序服务支持库反向激活的方式进行激活,激活后的权限交由远程程序支持库操作比较好。

 

8.表2:

有易语言源码的远程控制软件对比

功能列表

非雪之恋

远程控制

方舟

千里眼

诺亚

远程控制

蝶蝶不休

远程控制

好人好

远程协助

yok9金立

远程控制

云霄

远程精灵

连接方式

一种

三种

一种

一种

一种

一种

一种

连接密码

使用组件

服务器/客户(反向)

服务器/客户/数据报

服务器/客户(反向)

服务器/客户

服务器/客户

远程服务

并行同步

远程服务

并行异步

受控端隐藏进程

模块中引用DLL

不隐藏

模块中引用DLL

直接调用DLL

受控端开机启动

注册表方式

注册表方式

主控端生成受控端

自动上线

数据报

手工设置

远程卸载

自杀程序

指令集/指令发送

有,带参数

有,较多

文字聊天

类QQ

捕获屏幕/连续监控

九画面

监视墙

小屏幕

连续/分包

即时视频传输

即时语音聊天

TELNET超级终端

查看受控端系统信息

查看受控端文件系统

查看受控端注册表

查看受控端剪辑板

查看受控端进程

共享/上传下载文件

上传大文件

可以

下载大文件

可以

记录键盘

可以

记录鼠标操作

检查插入光盘/通知

检查插入U盘/通知

远程录像

远程控制鼠标动作

指令方式

发动肉鸡攻击

自动免杀

自动捆绑

FTP操作

界面

简单界面

QQ界面

界面漂亮

蝴蝶

界面太差

皮肤漂亮

还行

评语

入门级

值得学习

进阶级

部分学习

不容易

值得学习

功能较全

9.实用例程简介

非雪之恋远程控制

这是一个极简单的远程序控制系统,采用了常见的“服务器/客户”反向连接的方式。

一些常用的命令列在界面中,操作简单方便。

方舟千里眼

采用了两对“服务器/客户”组件互相连接,以及用数据报发布广播自动上线功能。

特点是采用“服务器/客户”实现了远程监控,及九画面监控墙的功能。

有类似于QQ聊天的窗口。

自动上线找用户,非常方便。

诺亚远程控制

类似于灰鸽子的界面,采用了常见的“服务器/客户”反向连接的方式。

实现了简单指令集的功能。

较为简单。

蝶蝶不休远程控制

采用了常见的“服务器/客户”正向连接的方式。

可学习的地方是对进程及键盘鼠标的监视功能。

好人好远程协助

采用了常见的“服务器/客户”正向连接的方式。

是参加易语言大奖赛未得奖的作品,主要是写得太乱了。

对远程注册表、进程管理、鼠标控制都有较好的支持。

yok9金立远程控制

采用远程服务支持库,并行同步发送数据。

主控端可生成受控端EXE文件。

最重要的是对TELNET超级终端的支持。

以及远程进程方面可以学习。

还带一个漂亮的皮肤。

云霄远程精灵

采用远程服务支持库,并行异步发送数据。

功能较为全面,如:

聊天工具也有,也可以查看受控端剪辑板,生成受控端EXE文件,远程注册表,进程管理、鼠标控制等。

第四课.通讯协议

1.指令简介

按形式分,可分为:

简单指令、复合指令、复杂指令

按内容分,可分为以下:

1)文本指令/多文本指令

2)指令文本+字节集

3)指令文本+字节集+指令文本

4)指令文本+字节集+间隔符号+字节集+间隔符号

2.指令应用

1)简单指令:

文本指令/多文本指令

发送一些简单的指令,如让客户机电脑重启,开启光驱等。

如果带有参数,后面可跟着其他指令文本,中间用分隔符分隔。

主要用于单个指令。

例如:

打开光驱

也可用于组合指令,或

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 初中教育 > 语文

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2