怎么样做呢?
还有像NETMEETING中的操作远程电脑是怎么做的呢?原理是什么呢?有没有这方面的资料给点参考呢?
还有像NETMEETING中的操作远程电脑是怎么做的呢?原理是什么呢?有没有这方面的资料给点参考呢?
解决方案 »
- ACCESS与EXCEL的导入导出
- 红酒还真好喝
- 觉得无聊花了几天时间写了个扩展的picturebox,主要是对其图形和图像处理上做了扩展!
- 请问如何把FORM进行旋转90度再打印出来呢?
- listview有一个排序的属性,是否可以不显示排序结果,而只是把排序结果保存到数据库?
- 谁有证明Spread比FlexGrid的文档,告诉我,急!帮忙者皆有分!谢谢!
- 关于DATACOMBO的运用
- 题库管理系统
- 怎么判断数组有没有元素?
- win2K系统,怎么让一个程序在登录画面出现前运行?
- 请问局域网中SEAGATE以IP地址为基础上网的原理是怎么样的呢?它如何判断是从那个IP发来的请求呢?
- 我在VB里建了两个窗口,我怎样调用另一个窗口,两个窗口都是当前窗口,就想MDI窗口调用一个子窗口一样。
浅谈用VB6.0编写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
详细程序略。
---- 客户机端用tcpClient.SendData发命令。命令包括命令ID和命令参数,它们用符号“@”隔开。 ---- 另外,当客户机端断开与服务器端的来接后,服务器端应用tcpServer_Close事件,来继续准备接收客户机端的请求,其代码如下: Private Sub tcpServer_Close()
tcpServer.Close
tcpServer.Listen
End Sub---- 这就是一个最基本的特洛伊木马程序,只要你的机器运行了服务器端程序,那别人就可以在千里之外控制你的计算机。至于如何让服务器端程序运行就要发挥你的聪明才智了,在我的源程序中有一中方法,是修改系统注册表的方法。 ---- 成功的特洛伊木马程序要比这个复杂一些,还有程序的隐藏、自动复制、传播等问题要解决。警告:千万不要用BO程序破坏别人的系统。
回复人: DeityFox(神狐) (2001-12-15 18:52:56) 得0分
我有vb编的远程控制代码,留下email或
[email protected]