实现QQ命令行登陆所用加密算法(win32汇编)
;********************************************************************************;by zklhp Email:zklhp@
;2010.2.22
;转载请保留完整
;********************************************************************************
实现QQ命令行登陆所用的算法 就是md5+base64 写个程序方便计算
经测试 QQ2008使用正常 其他的就不知道了
使用方法 console 密码
程序会输入像这样的内容
QQ.exe /START QQUIN: PWDHASH:3cvrgGWfT7/RwzvsbMbhHQ== /STAT:40
加上QQ号 就行了 类似这样
QQ.exe /START QQUIN:493165744 PWDHASH:3cvrgGWfT7/RwzvsbMbhHQ== /STAT:40
呵呵 不用试了 这个不是我的密码 嘿嘿
40 隐身 41 正常
在没有QQ挂机软件的情况下 这个还挺好用 方便同时登陆多个QQ
代码
程序代码:
;MASMPlus 代码模板 - 控制台程序 ;******************************************************************************** ;QQLoginHash ;by zklhp Email:zklhp@ ;2010.2.22 ;转载请保留完整 ;******************************************************************************** .586 .model flat, stdcall option casemap :none include windows.inc include user32.inc include kernel32.inc include masm32.inc ;include gdi32.inc ;includelib gdi32.lib includelib user32.lib includelib kernel32.lib includelib masm32.lib include macro.asm .data lpszDigest db 17d dup(0) lpszBuffer db 512d dup(0) lpszOut db 512d dup(0) _MD5hash proto :DWORD,:DWORD,:DWORD .CODE include md5.asm ;参考多个版本的源代码编写 有一个不知道作者 在此一并表示感谢 include _cmdline.asm ;来自罗云彬的《Windows 环境下32位汇编程序设计》一书 include base64.asm START: invoke _argc ;得到参数个数 .if eax != 2 invoke StdOut,CTXT('QQLoginHash v0.1',0dh,0ah) invoke StdOut,CTXT('本程序实现QQ命令行登陆所用的算法',0dh,0ah) invoke StdOut,CTXT('by zklhp Email:zklhp@',0dh,0ah) invoke _argv,0,offset lpszBuffer,sizeof lpszBuffer invoke wsprintf,offset lpszOut,CTXT('Usage:%s 待加密字符串',0dh,0ah),offset lpszBuffer invoke StdOut,offset lpszOut invoke StdOut,CTXT('请按任意键继续. . .',0dh,0ah) invoke StdIn,offset lpszBuffer,sizeof lpszBuffer invoke ExitProcess, NULL .endif invoke _argv,1,offset lpszBuffer,sizeof lpszBuffer invoke lstrlen,offset lpszBuffer invoke _MD5hash,offset lpszBuffer,eax,offset lpszDigest ;md5 invoke _base64,offset lpszDigest,16,offset lpszBuffer ;base64 invoke wsprintf,offset lpszOut,CTXT('QQ.exe /START QQUIN: PWDHASH:%s /STAT:40',0dh,0ah),offset lpszBuffer invoke StdOut,offset lpszOut invoke StdOut,CTXT('请按任意键继续. . .',0dh,0ah) invoke StdIn,offset lpszBuffer,sizeof lpszBuffer invoke ExitProcess,0 end START
md5 和 base64 的我不贴了 想看自己看~
代码+程序
QQLoginHash.rar
(28.14 KB)