选择显示字体大小

用vb学做“黑客”程序

  只要掌握了原理,你也能写出一个所谓的“黑客”程序。下面笔者带领大家用vb亲自编写一个远程控制程序。从而揭开它的神秘面纱。

  一、所用控件

  在程序中将使用winsock控件。winsock控件是一个activex控件,使用tcp协议或udp协
议连接到远程计算机上并与之交换数据。和定时器控件一样,winsock控件在运行时是不可见的。winsock的工作原理是:客户端向服务器端发出连接请求,服务器端则不停地监听客户端的请求,当两者的协议沟通时,客户端和服务器端之间就建立了连接,这时客户端和服务器端就可以实现双向数据传输。实际编程中,必须分别建立一个服务器端应用程序和一个客户端应用程序,两个应用程序中分别有自己的winsock控件。首先设置winsock控件使用的协议,这里我们使用tcp协议。现在,让我们开始用vb建立两个程序,一个是客户端程序myclient,另一个是服务器端程序myserver。

  二、编写客户端程序

  首先来建客户端程序myclient。在myclient程序中建立一个窗体,加载winsock控件,称为tcpclient,表示使用的是tcp协议,再加入两个文本框(text1和text2),用来输入服务器的ip地址和端口号,然后建立一个按钮(cd1),用来建立连接,按下之后就可以对连接进行初始化了,代码如下:

  private sub cd1_click()

  tcpclient.romotehost=text1.text

  tcpclient.romoteport=val(text2.text)'端口号,缺省为1001

  tcpclient.connect '调用connect方法,与指定ip地址的计算机进行连接

  cd1.enabled=false

  end sub

  连接之后就是如何处理所收到的数据的问题了。客户端和服务器端建立连接后,如果有任何一端接收到新的数据,就会触发该端winsock控件的dataarrival事件,在响应这个事件时,可以使用getdata方法获得发送来的数据。比如可以在tcpclient的dataarrival事件中编写代码如下:

  private sub tcpclient_dataarrival(byval bytestotal as long)

  dim x as string

  tcpclient.getdata x '使用getdata获得发送来的数据

  .......

  end sub

  后面的省略部分表示对接收到的数据进行的具体处理,读者可以根据实际情况编写。

  三、编写服务器端程序

  先建立一个窗体,加载winsock控件,名称为tcpserver。另外在窗体上加入一个文本框text1用来显示客户机的ip地址和客户机发送过来的数据信息。

  当客户端程序运行时,在客户端程序按下连接按钮后,客户端向服务器端程序请求连接,这时服务器端的connectionrequest事件被触发,所以服务器端程序要解决连接问题,可以使用connectionrequest事件完成此功能。代码如下:

  '在窗体的load事件中对tcpserver控件进行初始化

  private sub form_load()

  tcpserver.localport=1001

  tcpserver.listen '把服务器置于监听检测状态

  end sub

  '服务器端接收到客户端的连接请求,首先检查当前状态是否处于连接关闭状态

  private sub tcpclient_connectionrequest(byval requestid as long)

  if tcpserver.state<>sckclosed then '检查控件的state属性是否为关闭

  tcpserver.close '

  tcpserver.accept requestid '

  end if

  end sub

  现在我们在服务器端程序tcpserver的dataarrival事件中添加以下代码,以便让服务器端程序可以接收客户机端的指令,并运行相应的程序。

  四、测试远程控制程序

  现在,你就可以将这两个程序分别运行于两台使用tcp/ip协议联网的机器了。在客户机端你按下连接按钮,再输入“c:mmand.com”,可以看到在服务器端立刻打开一个dos窗口,设想一下,如果它运行一些破坏性的命令会发生什么事情?这就是一个最基本的远程控制程序。当然,真正的黑客程序要复杂得多,但基本原理是相同的。现在你该恍然大悟了吧?


 


关键字 本文所属关键字

相关 与本文相关文章

分类 所有文章关键字导航

源码编程相关

Java   Asp   PHP   .Net   XML   C/C++   CGI   VB   Jsp   J2ee   J2se   J2me   EJB   Servlet   Tomcat   Resin   Struts   Weblogic   Eclipse   ANT   GUI   JMS   Web servise   IDEA   Webphere   Hibernate   Spring   Jboss   Applet   Swing   Socket   Javamail   Perl   Ajax   P2P   安全   模式   框架   测试   开源   游戏

SQL数据库相关

My-SQL   Ms-SQL   Access   DB2   Oracle   Sybase   SQLserver   索引   存储过程   加密   数据库   分页   视图  

手机无线相关

3G   Wap   CDMA   GRPS   GSM   IVR   彩信   短信   无线   增值业务

网页设计制作相关

HTML   CSS   网页配色   网页特效   Javascript   VBscript   Dreamweaver   Frontpage   JS   Web   网站设计

网站建设推广相关

建站经验   网站优化   网站排名   推广   Alexa

操作系统/服务器相关

Windows XP   Windows 2000   Windows 2003   Windows Me   Windows 9.x   Linux   UNIX   注册表   操作系统   服务器   应用服务器

图形图像多媒体相关

Photoshop   Fireworks   Flash   Coreldraw   Illustrator   Freehand   Photoimpact   多媒体   图形图像

标准 网站致力的规范

Valid CSS!

无不良内容,无不良广告,无恶意代码

Valid XHTML 1.0 Transitional

creativecommons