中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [已解决]QQ自助登陆:如何对16进制MD5值本身进行Base64
« [1] [2] [3] »
作者:
标题: [已解决]QQ自助登陆:如何对16进制MD5值本身进行Base64 上一主题 | 下一主题
ec2049
初级用户





积分 57
发帖 25
注册 2007-1-21
状态 离线
『楼 主』:  [已解决]QQ自助登陆:如何对16进制MD5值本身进行Base64

目的是让QQ登陆。密码需要先MD5,再Base64,最后向服务器发送。

以为解决了:
http://www.cn-dos.net/forum/viewthread.php?tid=26993

结果发现ASCII字符串没用,需要将hex值本身进行Base64…

以“123456”为例:
1.MD5输出ASCII:E10ADC3949BA59ABBE56E057F20F883E
2.将hex值Base64:4QrcOUm6Wau+VuBX8g+IPg==
登陆正确。

ASCII字符经Base64则是:RTEwQURDMzk0OUJBNTlBQkJFNTZFMDU3RjIwRjg4M0U=
登陆失败。

有人专门写了VB控件作这个:
http://mji.512j.com/QQpwdhash.rar

很麻烦啊,要怎么解决呢@_@

[ Last edited by ec2049 on 2007-4-11 at 07:53 AM ]

2007-1-23 08:10
查看资料  发短消息 网志   编辑帖子  回复  引用回复
ec2049
初级用户





积分 57
发帖 25
注册 2007-1-21
状态 离线
『第 2 楼』:  

等啊等啊等啊……

2007-1-23 22:54
查看资料  发短消息 网志   编辑帖子  回复  引用回复
redtek
金牌会员





积分 2902
发帖 1147
注册 2006-9-21
状态 离线
『第 3 楼』:  

昨天想看看能不能帮兄点儿什么忙,只是实在看不懂:)

兄上面说 “ 以“123456”为例:
       1.MD5输出ASCII:E10ADC3949BA59ABBE56E057F20F883E
     ”
而我计算 “Echo 123456|md5” 出来的值是:41933E60E9C19B866B3D68864727AFE7

我想兄中间是不是还有一步计算过程(好象是转Hex的过程没有写出来),也主要是我没有看懂,也没能帮上兄什么忙,不好意思~:)

后,以到网上找了找,兄要实现的好象是 QQ同时启动多个号码自动登陆?

[ Last edited by redtek on 2007-1-23 at 10:01 AM ]



    Redtek,一个永远在网上流浪的人……

_.,-*~'`^`'~*-,.__.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._
2007-1-23 22:59
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
ec2049
初级用户





积分 57
发帖 25
注册 2007-1-21
状态 离线
『第 4 楼』:  

我发现了那个md5.exe的开关: -d%text%
举例:
C:\>md5 -d123456
E10ADC3949BA59ABBE56E057F20F883E
这才是正确的MD5值,与其它软件/网站计算结果相符。

进行Base64的不是ASCII值,而是:

[ Last edited by ec2049 on 2007-1-23 at 11:25 PM ]

附件 1: MD5-hex.png (2007-1-23 23:24, 2.3 K, 下载附件所需积分 1 点 ,下载次数: 14)


2007-1-23 23:09
查看资料  发短消息 网志   编辑帖子  回复  引用回复
redtek
金牌会员





积分 2902
发帖 1147
注册 2006-9-21
状态 离线
『第 5 楼』:  

看到了~:)))
上次使用 md5.exe /? 不行, 按unix帮助方式 md5.exe --help 还不行,md5.exe /help 不行,原来是: md5.exe -help (居然必须加一个减号才行),哈哈……

多谢ec2049兄指点~:)
MD5  --  Calculate MD5 signature of file.  Call
             with md5 [ options ] [file ...]

         Options:
              -csig   Check against sig, set exit status 0 = OK
              -dtext  Compute signature of text argument
              -l      Use lower case letters for hexadecimal digits
              -n      Do not show file name after sum
              -ofname Write output to fname (- = stdout)
              -u      Print this message
              -v      Print version information

by John Walker  --  http://www.fourmilab.ch/
Version 2.0 (2003-04-15)

This program is in the public domain.




    Redtek,一个永远在网上流浪的人……

_.,-*~'`^`'~*-,.__.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._
2007-1-23 23:16
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
ec2049
初级用户





积分 57
发帖 25
注册 2007-1-21
状态 离线
『第 6 楼』:  

现在要解决如何用MD5的hex值进行Base64,因为直接输出的ASCII无效……

[ Last edited by ec2049 on 2007-1-23 at 11:29 PM ]

2007-1-23 23:28
查看资料  发短消息 网志   编辑帖子  回复  引用回复
redtek
金牌会员





积分 2902
发帖 1147
注册 2006-9-21
状态 离线
『第 7 楼』:  

明白了,哈哈……
这QQ加密真有意思~:)



    Redtek,一个永远在网上流浪的人……

_.,-*~'`^`'~*-,.__.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._
2007-1-23 23:32
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
ec2049
初级用户





积分 57
发帖 25
注册 2007-1-21
状态 离线
『第 8 楼』:  

目前的思路:学习debug用法,借用临时文件……

2007-1-24 00:17
查看资料  发短消息 网志   编辑帖子  回复  引用回复
kafen
初级用户





积分 97
发帖 43
注册 2005-7-25
状态 离线
『第 9 楼』:  

我什么都不懂,因为好奇就看了看,
NFFyY09VbTZXYXUrVnVCWDhnK0lQZz09
以上这个字符如果经BASE64后则是:4QrcOUm6Wau+VuBX8g+IPg==

也就是登录正确的字符,不知道对楼主有没有什么参考作用。

2007-1-24 01:01
查看资料  发短消息 网志   编辑帖子  回复  引用回复
redtek
金牌会员





积分 2902
发帖 1147
注册 2006-9-21
状态 离线
『第 10 楼』:  

QQ密码转PwdHash:
@echo %dbg% off   &&   setlocal   &&   chcp 437|graftabl 936>nul   &&   set /p var=字符串:
for /f %%. in ('md5 -d%var%') do set "var=%%."

:toSplit
   if [%a%]==[32] (goto :toBase64) else (call call set "str=%str% %%var:~%a%,2%%" && set /a a+=2)
   goto :toSplit

:toBase64
   echo exit|%ComSpec%/kprompt e 100 %str% $_rcx$_10$_n tmp.tmp$_w$_q$_|debug>nul
   for /f %%. in ('type tmp.tmp^|base64') do ( set "base64=%%." )
   echo.&echo PwdHash码: %base64%   &&   del tmp.tmp >nul 2>nul
::  变量 %base64% 中存有 base64 码,兄可以直接随意调用





ec2049兄提供的外部工具(MD5工具与Base64工具)下载地址:
http://zhenlove.com.cn/cndos/fileup/files/md5.zip
http://zhenlove.com.cn/cndos/fileup/files/base64.zip

[ Last edited by redtek on 2007-1-23 at 01:52 PM ]

   此帖被 +4 点积分        点击查看详情   
评分人:【 kafen 分数: +2  时间:2007-1-24 03:09
评分人:【 0401 分数: +2  时间:2007-1-24 05:41




    Redtek,一个永远在网上流浪的人……

_.,-*~'`^`'~*-,.__.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._
2007-1-24 02:08
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
ec2049
初级用户





积分 57
发帖 25
注册 2007-1-21
状态 离线
『第 11 楼』:  

有效~谢谢:-)

继续研究中~

[ Last edited by ec2049 on 2007-1-24 at 04:52 AM ]

2007-1-24 04:50
查看资料  发短消息 网志   编辑帖子  回复  引用回复
0401
中级用户

带走



积分 435
发帖 88
注册 2005-9-24
状态 离线
『第 12 楼』:  

我也提供个思路,因为以前研究过Base64 编码运算,直接将代码拷过来改下,测试成功。只用到MD5.exe
@echo off
setlocal enabledelayedexpansion
set B64CODE=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=
set/p str=请输入密码:
for /f %%i in ('md5 -d%str%') do set "strhex=%%i"

:encloop
if not defined strhex goto :encbreak
set chr1=0x!strhex:~0,2!
set chr2=0x!strhex:~2,2!
set chr3=0x!strhex:~4,2!
set strhex=%strhex:~6%
for %%i in (chr1 chr2 chr3) do if "!%%i!"=="0x" set %%i=0
set/a enc1=%chr1%">>"2
set/a enc2=((%chr1%"&"3)"<<"4)"|"(%chr2%">>"4)
set/a enc3=((%chr2%"&"15)"<<"2)"|"(%chr3%">>"6)
set/a enc4=%chr3%"&"63
if %chr3% equ 0 if %chr2% equ 0 (set enc4=64& set enc3=64) else (set enc4=64)
set encstr=!encstr!!B64CODE:~%enc1%,1!!B64CODE:~%enc2%,1!!B64CODE:~%enc3%,1!!B64CODE:~%enc4%,1!
goto :encloop
:encbreak
echo QQPwdHash:[%encstr%]


   此帖被 +29 点积分       点击查看详情   
评分人:【 vkill 分数: +5  时间:2007-1-24 09:01
评分人:【 chenall 分数: +5  时间:2007-1-25 01:02
评分人:【 redtek 分数: +13  时间:2007-1-26 06:56
评分人:【 honghunter 分数: +4  时间:2008-1-11 23:11
评分人:【 hkymadmin 分数: +2  时间:2008-7-28 15:37


2007-1-24 05:35
查看资料  发短消息 网志   编辑帖子  回复  引用回复
redtek
金牌会员





积分 2902
发帖 1147
注册 2006-9-21
状态 离线
『第 13 楼』:  

0401兄代码非常精彩,欣赏~~~
明天分儿来时给兄加上~:)



    Redtek,一个永远在网上流浪的人……

_.,-*~'`^`'~*-,.__.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._
2007-1-24 06:19
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
vkill
金牌会员





积分 4103
发帖 1744
注册 2006-1-20
来自 甘肃.临泽
状态 离线
『第 14 楼』:  

0401兄那段base64确实漂亮

2007-1-24 09:01
查看资料  发送邮件  访问主页  发短消息 网志   编辑帖子  回复  引用回复
lxmxn
版主




积分 11386
发帖 4938
注册 2006-7-23
状态 离线
『第 15 楼』:  


  嗯,的确不错,不过要是密码含有特殊符号就不行了。


2007-1-24 09:04
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
« [1] [2] [3] »
请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


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



论坛跳转: