QQ防盗及第三方QQ登陆器原理
今天来说一下QQ木马的原理和第三方QQ登陆器防盗的原理!
其实,要想防止QQ被盗,只要了解QQ盗号程序的实现原理,就能找出防范的方法来。
一、分析QQ盗号软件的原理及程序实现的重点
常见的QQ木马盗号技术实现主要使用如下方法:
1.对指定进程[QQ.exe],发送消息,获取进程的控件内容,如密码输入框内容。
2.对指定进程[QQ.exe],利用全局HOOK(钩子),进行键盘记录,获取输入的内容。
目前常见的QQ盗号木马大部分都是使用上面的手法进行盗号的,大家可以看出,这两种手法都需要对QQ进程进行监控,其重点就是:
监控QQ登陆时输入帐号密码的界面,获取该界面内控件(号码输入框和密码输入框)的内容;
还有就是对这些控件的键盘输入内容进行监控记录。
二、寻求解决
及实现方法
如果我们能够不经过登陆界面的QQ号码和密码的输入(或者不使用QQ程序的标准登陆界面)来登陆QQ的话,那么针对QQ进程和QQ登陆界面进行监控记录的木马,就会失去效果了.
1.这里第一个大家可能会想到在一部干净的电脑上登陆一次QQ然后设为自动登陆,这样以后使用这个自动登陆就不会被木马盗取密码了,但是这种办法使用比较不方便,一个QQ只能登陆一个,所以有人发现了下面这种办法!也就是PWDHash!
2.PWDHash的由来
QQ的PWDhash 原本是为实现 QQ 与 TM、QQGAME无缝切换而用的将密码加密传递的参数。使得用户能在 QQ 与 TM、QQGAME之间快速切换而不用再次输入密码。
(下面的/STAT:41代
正常登陆,41是隐身登陆):
QQ程序路径 /START QQUIN:QQ帐号 PWDHASH:加密后的QQ密码 /STAT:41
例如:
"C:\Program Files\TENCENT\QQ.exe" /START QQUIN:132456
PWDHASH:4QrcOUm6Wau+VuBX8g+IPg== /STAT:41
概念:
PWDHASH就是对我们的原始QQ密码进行加密处理,MD5(32bit)?HEX2ASCII(ansi)?Base64! 先用MD5散列算法处理,然后再用BASE64编码对这个HASH字节组做第二次编码得到的。因
为MD5是不可逆的,所以只能把密码还原到MD5,理论上说是无法从PWDHASH反推出原始的QQ密码的。但是,如果密码过于简单,如十位以下的纯数字、生日,纯大写,纯小写之类的,是可以被简单暴力破解的。
利用PWDHASH登录的利与弊
有利的一面:免去输入密码之苦,双击一下就可以登录,同时也可以防止密码被键盘记录软件盗取。
不好的一面:如果是多人共用电脑,或者电脑可以被别人随意使用,只要别人获取了你的PWDHASH那么别人是可以随意登陆你的QQ的。
三、总结
在计算机世界里没有绝对的安全,使用QQ密码参数传递来登陆QQ虽然可以避免输入QQ帐号密码时被记录,但是登陆后在QQ.EXE进程后面会留有登陆时的参数,只要用
不过因为这种办法无法获取密码,和这种办法使用并不广泛,所以目前市面上的QQ木马都没有针对这个办法进行改进,所以目前来说还是相对比较安全的!
相关资料:
QQ和QQ游戏的注册表路径
HKLM\SOFTWARE\Tencent\QQ\Install
HKLM\SOFTWARE\TENCENT\QQGame\SYS\GameDirectory
1.快捷方式启动法
"C:\Program Files\TENCENT\QQ.exe" /START QQUIN:123456
PWDHASH:4QrcOUm6Wau+VuBX8g+IPg== /STAT:41
2.BAT启动法
@ECHO OFF&SETLOCAL ENABLEDELAYEDEXPANSION for /f "tokens=1,2,*" %%i in ('REG QUERY "HKLM\SOFTWARE\TENCENT\PLATFORM_TYPE_LIST\1" ^| FIND /I "TypePath"') DO (
SET QQPath=%%k
echo 当前QQ文件地址是!QQPath!)
start "" "!QQPath!" /START QQUIN:123456 PWDHASH:4QrcOUm6Wau+VuBX8g+IPg==
/STAT:41)
exit
3.vbs启动法
On Error Resume Next
Set QQ = CreateObject("WScript.Shell")
QQPath = QQ.RegRead("HKLM\SOFTWARE\Tencent\QQ\Install") QQ.Run """" & QQPath & "\QQ.exe"" /START QQUIN:123456 PWDHASH:4QrcOUm6Wau+VuBX8g+IPg== /STAT:41"