中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-07-02 23:00
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [已结]为何QQ无法通过命令行的方式自动登陆 查看 2,422 回复 11
楼 主 [已结]为何QQ无法通过命令行的方式自动登陆 发表于 2007-08-30 20:54 ·  中国 重庆 电信
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
19年会员
UID 89899
性别 男
状态 离线

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


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/viewthread.php?tid=27000&page=2#pid303952

PWDHASH.vbs
http://www.cn-dos.net/forum/viewthread.php?tid=27000&page=2#pid303953

QQ密码生成PWDHASH的JavaScript源代码
http://www.cn-dos.net/forum/viewthread.php?tid=29795&page=2#pid194595

[ Last edited by HAT on 2009-1-5 at 23:13 ]
2 发表于 2007-08-30 21:23 ·  中国 陕西 西安 电信
铂金会员
★★★★
积分 5,212
发帖 2,478
注册 2007-02-08 23:39
19年会员
UID 79003
性别 男
状态 离线
4Z1c1a8DeNoF9j+JHHRnrwAA==
3 发表于 2007-08-30 21:30 ·  中国 重庆 电信
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
19年会员
UID 89899
性别 男
状态 离线
slore兄,还是不行。
你的电脑上可以吗?
另,能否把你的加密方法分享下?
4 发表于 2007-08-30 21:53 ·  中国 陕西 西安 电信
铂金会员
★★★★
积分 5,212
发帖 2,478
注册 2007-02-08 23:39
19年会员
UID 79003
性别 男
状态 离线
我自动登陆不是用这种方法的。。。

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

用大写看看……
QQUIN: PWDHASH:
加密都是MD5+BASE64啊……
本帖最近评分记录 (共 1 条) 点击查看详情
评分人分数时间
HAT +4 2007-08-30 22:23
5 发表于 2007-08-30 22:23 ·  中国 重庆 电信
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
19年会员
UID 89899
性别 男
状态 离线
经测试,大写后可以正常登陆,竟然是这种问题,汗水。
分还是要加滴。
6 发表于 2007-09-01 17:14 ·  中国 上海 崇明区 电信
新手上路
积分 6
发帖 3
注册 2006-09-17 22:15
19年会员
UID 62883
状态 离线
学习了
!!!
7 发表于 2008-03-27 15:31 ·  中国 湖北 武汉 电信
初级用户
积分 22
发帖 9
注册 2008-03-23 21:27
18年会员
UID 113810
性别 男
状态 离线
原来如此!我说咋不行了!
8 发表于 2008-04-17 21:21 ·  中国 江苏 苏州 电信
中级用户
★★
积分 238
发帖 98
注册 2007-04-10 07:50
19年会员
UID 84593
性别 男
来自 陕西
状态 离线
老大,可以写一个详细的让我们这些新手参考吗?
我试验了很多次都无法正常登陆.
谢谢!
一切皆有可能!我行!我能!
9 发表于 2008-04-17 21:55 ·  中国 浙江 嘉兴 平湖市 电信
初级用户
★★
积分 157
发帖 67
注册 2007-05-13 11:03
19年会员
UID 88378
性别 男
状态 离线
QQ2008用这招捕获不到密码输入框
10 发表于 2008-12-12 00:31 ·  中国 江苏 苏州 电信
初级用户
★★
积分 161
发帖 87
注册 2008-05-25 17:25
18年会员
UID 119673
性别 男
状态 离线
没什么问题啊,我用这个你这个命令 都上你的这个QQ,只是把路径改成我自己的。
11 另一方法得到PWDHASH 发表于 2009-03-14 12:58 ·  中国 山西 忻州 联通
初级用户
★★
积分 87
发帖 63
注册 2008-08-23 11:28
17年会员
UID 123947
性别 男
状态 离线
登陆qq,系统菜单->好友与资料->更新好友.然后通过cmd ->wmic ->process查看进程就可以看到密码了
12 发表于 2009-03-18 08:40 ·  中国 江苏 苏州 电信
新手上路
积分 9
发帖 6
注册 2009-03-17 10:49
17年会员
UID 141557
性别 男
状态 离线
学习了,有趣的问题
论坛跳转: