注册 登录
编程论坛 汇编论坛

实现QQ命令行登陆所用加密算法(win32汇编)

zklhp 发布于 2010-02-22 22:03, 2921 次点击
;********************************************************************************
;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 的我不贴了 想看自己看~

代码+程序

只有本站会员才能查看附件,请 登录




4 回复
#2
zklhp2010-02-22 22:04
自己顶 挺使用 比网上那个bat写的好用(不过那个确实很强大~)
#3
longlong892010-04-30 19:15
无人up?俺来。^_^
#4
zy88738912010-08-07 12:09
    顶
#5
大熊猫正正2010-08-27 21:19
写的很好
1