Board logo

标题: [已结]为何QQ无法通过命令行的方式自动登陆 [打印本页]

作者: HAT     时间: 2007-8-30 20:54    标题: [已结]为何QQ无法通过命令行的方式自动登陆


start qq.exe /start qquin:QQ号码 pwdhash:HASH加密后的密码 /stat:40
运行命令后,弹出QQ登陆框,但无法自动登陆。
本来以为是QQ版本问题,于是把原来的QQ2006珊瑚虫卸载掉,去腾讯官网下载了QQ2007BETA4,但问题依旧。
望高人指点。

=========================================总结一下=========================================

原理及使用方法:
start "" "C:\Program Files\Tencent\QQ\qq.exe" /start QQUIN:843875648 PWDHASH:4Z1c1a8DeNoF9j+JHHRnrw== /stat:40


  Quote:
10:上线登陆
40:隐身登陆
41:上线登陆
QQUIN和PWDHASH必须使用大写字母

原理:QQ在传输密码的时候,先做一次MD5加密,再做一次BASE64变换,这样可以得到正常的文本信息以便网络传输。找一个MD5在线查询的网站(比如http://www.xmd5.org/),输入QQ密码的明文,转换得到MD5加密的结果,再找一个BASE64在线查询的网站(比如http://www.waishi.net/ip/tools/base64.htm),输入刚才得到的MD5加密的结果,转换得到HASH编码即可。

使用VBS的SendKeys方法自动登录,因无法保证获取正确的交单,存在风险,因此不予考虑。

经测试,目前无法用这个方法登陆最新的QQ2009Preview4,可能是新版的QQ尚未开启这个命令接口吧,只能期待2009正式版了。

自动获取QQ路径的几种方法:读注册表、全盘搜索、获取进程信息等:
@echo off
rem 使用WMIC获取进程信息中的QQ路径
for /f "tokens=2 delims==" %%a in ('wmic process where "name='qq.exe'" get executablepath /value') do (
  set QQPath=%%a
)
echo %QQPath%
pause

@echo off
rem 使用WMIC全盘搜索获取QQ路径
for /f "skip=1 delims=" %%a in ('wmic datafile where "filename='qq' and extension='exe'" get name') do (
  set QQPath=%%a
)
echo %QQPath%
pause

@echo off
rem 使用reg命令读注册表获取QQ路径
for /f "tokens=2*" %%a in ('reg query HKEY_LOCAL_MACHINE\Software\Tencent\QQ /v Install^|findstr "Install"') do (
  set QQPath=%%b
)
echo %QQPath%
pause

@echo off
rem 使用reg export命令到处注册表项再搜索获取QQ路径以避免reg query可能存在的吃中文字符的问题
reg export "HKEY_LOCAL_MACHINE\SOFTWARE\Tencent\QQ" "%temp%\qq.txt">nul
for /f "tokens=2 delims==" %%a in ('type "%temp%\qq.txt"^|findstr /i "Install"') do (
  set QQPath=%%~a
)
set QQPath=%QQPath:\\=\%
echo %QQPath%
pause

@echo off
rem 调用VBS读注册表获取QQ路径
>"%temp%\my.vbs" echo Set WshShell = WScript.CreateObject("WScript.Shell")
>>"%temp%\my.vbs" echo WScript.Echo WshShell.RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Tencent\QQ\Install")
for /f "delims=" %%a in ('cscript /nologo "%temp%\my.vbs"') do (
  set QQPath=%%a
)
echo %QQPath%
pause

@echo off
rem 全盘搜索获取QQ路径
set fName=qq.exe
for %%a in (C D E F G H I J K L M N O P Q R S T U V W X Y Z) do (
  if exist %%a:\nul (
    pushd %%a:\
    for /r %%b in (*.exe) do (
      if /i "%%~nxb" equ "%fName%" (
        set fPath=%%b
        goto :show
      )
    )
    popd
  )
)
:show
echo %fPath%
pause
对QQ密码进行加密:

QQ自助登陆:如何对16进制MD5值本身进行Base64
http://www.cn-dos.net/forum/viewthread.php?tid=27000

MD5加密.hta
http://www.cn-dos.net/forum/viewthread.php?tid=36823

MD5.vbs
http://www.cn-dos.net/forum/view ... mp;page=2#pid303952

PWDHASH.vbs
http://www.cn-dos.net/forum/view ... mp;page=2#pid303953

QQ密码生成PWDHASH的JavaScript源代码
http://www.cn-dos.net/forum/view ... mp;page=2#pid194595

[ Last edited by HAT on 2009-1-5 at 23:13 ]
作者: slore     时间: 2007-8-30 21:23
4Z1c1a8DeNoF9j+JHHRnrwAA==
作者: HAT     时间: 2007-8-30 21:30
slore兄,还是不行。
你的电脑上可以吗?
另,能否把你的加密方法分享下?
作者: slore     时间: 2007-8-30 21:53
我自动登陆不是用这种方法的。。。

你的算出来是对的啊,要加AA==

用大写看看……
QQUIN: PWDHASH:
加密都是MD5+BASE64啊……
作者: HAT     时间: 2007-8-30 22:23
经测试,大写后可以正常登陆,竟然是这种问题,汗水。
分还是要加滴。
作者: vincenit     时间: 2007-9-1 17:14
学习了
!!!
作者: yt110     时间: 2008-3-27 15:31
原来如此!我说咋不行了!
作者: acme     时间: 2008-4-17 21:21
老大,可以写一个详细的让我们这些新手参考吗?
我试验了很多次都无法正常登陆.
谢谢!
作者: tvzml     时间: 2008-4-17 21:55
QQ2008用这招捕获不到密码输入框
作者: hansom     时间: 2008-12-12 00:31
没什么问题啊,我用这个你这个命令 都上你的这个QQ,只是把路径改成我自己的。
作者: matlan     时间: 2009-3-14 12:58    标题: 另一方法得到PWDHASH

登陆qq,系统菜单->好友与资料->更新好友.然后通过cmd ->wmic ->process查看进程就可以看到密码了
作者: srain87     时间: 2009-3-18 08:40
学习了,有趣的问题