中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [已结]为何QQ无法通过命令行的方式自动登陆
作者:
标题: [已结]为何QQ无法通过命令行的方式自动登陆 上一主题 | 下一主题
HAT
版主





积分 9023
发帖 5017
注册 2007-5-31
状态 离线
『楼 主』:  [已结]为何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 ]

2007-8-30 20:54
查看资料  发短消息 网志   编辑帖子  回复  引用回复
slore
铂金会员





积分 5212
发帖 2478
注册 2007-2-8
状态 离线
『第 2 楼』:  

4Z1c1a8DeNoF9j+JHHRnrwAA==

2007-8-30 21:23
查看资料  发短消息 网志   编辑帖子  回复  引用回复
HAT
版主





积分 9023
发帖 5017
注册 2007-5-31
状态 离线
『第 3 楼』:  

slore兄,还是不行。
你的电脑上可以吗?
另,能否把你的加密方法分享下?

2007-8-30 21:30
查看资料  发短消息 网志   编辑帖子  回复  引用回复
slore
铂金会员





积分 5212
发帖 2478
注册 2007-2-8
状态 离线
『第 4 楼』:  

我自动登陆不是用这种方法的。。。

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

用大写看看……
QQUIN: PWDHASH:
加密都是MD5+BASE64啊……

   此帖被 +4 点积分        点击查看详情   
评分人:【 HAT 分数: +4  时间:2007-8-30 22:23


2007-8-30 21:53
查看资料  发短消息 网志   编辑帖子  回复  引用回复
HAT
版主





积分 9023
发帖 5017
注册 2007-5-31
状态 离线
『第 5 楼』:  

经测试,大写后可以正常登陆,竟然是这种问题,汗水。
分还是要加滴。

2007-8-30 22:23
查看资料  发短消息 网志   编辑帖子  回复  引用回复
vincenit
新手上路





积分 6
发帖 3
注册 2006-9-17
状态 离线
『第 6 楼』:  

学习了
!!!

2007-9-1 17:14
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
yt110
初级用户





积分 22
发帖 9
注册 2008-3-23
状态 离线
『第 7 楼』:  

原来如此!我说咋不行了!

2008-3-27 15:31
查看资料  发短消息 网志   编辑帖子  回复  引用回复
acme
中级用户




积分 238
发帖 98
注册 2007-4-10
来自 陕西
状态 离线
『第 8 楼』:  

老大,可以写一个详细的让我们这些新手参考吗?
我试验了很多次都无法正常登陆.
谢谢!



一切皆有可能!我行!我能!
2008-4-17 21:21
查看资料  发送邮件  访问主页  发短消息 网志  OICQ (422076812)  编辑帖子  回复  引用回复
tvzml
初级用户





积分 157
发帖 67
注册 2007-5-13
状态 离线
『第 9 楼』:  

QQ2008用这招捕获不到密码输入框

2008-4-17 21:55
查看资料  发短消息 网志   编辑帖子  回复  引用回复
hansom
初级用户




积分 161
发帖 87
注册 2008-5-25
状态 离线
『第 10 楼』:  

没什么问题啊,我用这个你这个命令 都上你的这个QQ,只是把路径改成我自己的。

2008-12-12 00:31
查看资料  发短消息 网志   编辑帖子  回复  引用回复
matlan
初级用户




积分 87
发帖 63
注册 2008-8-23
状态 离线
『第 11 楼』:  另一方法得到PWDHASH

登陆qq,系统菜单->好友与资料->更新好友.然后通过cmd ->wmic ->process查看进程就可以看到密码了

2009-3-14 12:58
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
srain87
新手上路





积分 9
发帖 6
注册 2009-3-17
状态 离线
『第 12 楼』:  

学习了,有趣的问题

2009-3-18 08:40
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: