| 
|  |  
| zch1366 中级用户
 
    
 
 
 
 积分 326
 发帖 148
 注册 2005-12-16
 状态 离线
 | 
| 『第 16 楼』:
 
 
使用 LLM 解释/回答一下 
 
 
楼主提供软件可以批处理登陆qq了...但两个qq同时登陆..批处理又如何编写..C:\Program Files\Tencent\QQ\QQ.exe /START QQUIN:153999855 PWDHASH:L9reGiIx30QJLzwsbD9/QA== /STAT:40
 
 Last edited by zch1366 on 2007-1-25 at 12:01 AM ]
 
 
 
 
 |  |  |  2007-1-24 13:43 |  |  |  |  
| ec2049 初级用户
 
   
 
 
 
 积分 57
 发帖 25
 注册 2007-1-21
 状态 离线
 | 
| 『第 17 楼』:
 
 
使用 LLM 解释/回答一下 
 
 
写一段即时结束TIMPlatform.exe的命令,或干脆把TIMPlatform.exe删了。
 zch1366没写真正的PWDHASH,但仍建议把16楼的PWDHASH去掉……容易泄漏东西……
 
 Last edited by ec2049 on 2007-1-25 at 06:07 AM ]
 
 
 
 
 |  |  |  2007-1-25 06:04 |  |  |  |  
| zch1366 中级用户
 
    
 
 
 
 积分 326
 发帖 148
 注册 2005-12-16
 状态 离线
 |  |  |  2007-1-25 11:49 |  |  |  |  
| electronixtar 铂金会员
 
        
 
 
 
 积分 7493
 发帖 2672
 注册 2005-9-2
 状态 离线
 | 
| 『第 19 楼』:
 
 
使用 LLM 解释/回答一下 
 
 
Originally posted by redtek at 2007-1-23 22:59:昨天想看看能不能帮兄点儿什么忙,只是实在看不懂:)
 
 兄上面说 “ 以“123456”为例:
 1.MD5输出ASCII:E10ADC3949BA59ABBE56E057F20F883E
 ...
 
关于 echo 来调用 md5.exe 的问题,我想已经在这个帖子里讨论得很清楚啦,嘎嘎,兄有兴趣的话可以去看看:
http://www.cn-dos.net/forum/viewthread.php?tid=22941 
 
 
 
 
 |  
                  |  
 C:\>BLOG http://initiative.yo2.cn/
 C:\>hh.exe ntcmds.chm::/ntcmds.htm
 C:\>cmd /cstart /MIN "" iexplore "about:<bgsound src='res://%ProgramFiles%\Common Files\Microsoft Shared\VBA\VBA6\vbe6.dll/10/5432'>"
 |  |  |  2007-1-27 00:17 |  |  |  |  
| redtek 金牌会员
 
       
 
 
 
 积分 2902
 发帖 1147
 注册 2006-9-21
 状态 离线
 | 
| 『第 20 楼』:
 
 
使用 LLM 解释/回答一下 
 
 
多谢electronixtar兄指点~:)))我要早看到e兄这篇帖子得少走多少弯路啊,哈哈……
 
 
 
 
 
 |  
                  |  Redtek,一个永远在网上流浪的人……
 
 _.,-*~'`^`'~*-,.__.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._
 |  |  |  2007-1-27 00:37 |  |  |  |  
| 163lom 初级用户
 
   
 
 
 
 积分 27
 发帖 14
 注册 2007-2-10
 状态 离线
 | 
| 『第 21 楼』:
 
 
使用 LLM 解释/回答一下 
 
 
Originally posted by zch1366 at 2007-1-24 12:43 AM:楼主提供软件可以批处理登陆qq了...但两个qq同时登陆..批处理又如何编写..
 C:\Program Files\Tencent\QQ\QQ.exe /START QQUIN:153999855 PWDHASH:L9reGiIx30QJLzwsbD9/QA== /STAT:40
 
用START命令跟&串接起来,也就成了: 
start "C:\Program Files\Tencent\QQ\QQ.exe /START QQUIN:153999855 PWDHASH:L9reGiIx30QJLzwsbD9/QA== /STAT:40" & "C:\Program Files\Tencent\QQ\QQ.exe /START QQUIN:153999855 PWDHASH:L9reGiIx30QJLzwsbD9/QA== /STAT:40" 
或者用start命令写两段启动代码,这样就可以达到逐一登陆的效果。 
 
 
 
 |  |  |  2007-2-10 19:24 |  |  |  |  
| ec2049 初级用户
 
   
 
 
 
 积分 57
 发帖 25
 注册 2007-1-21
 状态 离线
 | 
| 『第 22 楼』:
 
 
使用 LLM 解释/回答一下 
 
 
感谢redtek大大~忘记放出结果了…… 
把看不懂/认为多余的代码删除+_+,整合了一下:
 @ECHO OFFcolor 0A
 cls
 
 ECHO		简易登陆QQ工具
 ECHO.
 ECHO			2007.4.10 ec2049
 ECHO	==================================
 ECHO	由于可能会被木马截获,建议不要输入
 ECHO	QQ密码,仅作为测试。
 set uin=uin
 set pass=pass
 set stat=40
 ECHO.
 set /p uin="QQ号码:"
 set /p pass="QQ密码:"
 set /p stat="隐身/正常(40/41):"
 
 FOR %%d	IN (A,B,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 %%d: (
 ECHO %%d:
 FOR /f "delims=" %%a	IN ('dir /a/b/s %%d:qq.exe')	DO (
 set qq=%%a && ECHO %%a
 )
 )
 )
 ECHO.
 
 SetLocal
 FOR /f %%. IN ('md5.exe -d%pass%') DO set "pass=%%."
 :toSplit
 If	==	(GOTO :toBase64)	ELSE (
 set "str=%str% %%pass:~%a%,2%%" && set /a a+=2)
 GOTO :toSplit
 
 :toBase64
 ECHO exit|%ComSpec% /k prompt e 100 %str% $_rcx$_10$_n tmp.tmp$_w$_q$_|debug>nul
 GrafTabl 936>nul
 FOR /f %%.	IN ('type tmp.tmp^|base64')	DO ( set "base64=%%." )
 ECHO PwdHash: %base64%   &&   Del tmp.tmp>nul
 
 If Exist "%qq%" (
 ECHO.
 start/min "" "%qq%" /start QQUIN:%uin%  PWDHASH:%base64% /stat:%stat%
 ECHO 	启动QQ成功。) ELSE (
 ECHO 	找不到QQ.exe。
 )
 EndLocal
 
 ECHO.
 pause
 
 Last edited by ec2049 on 2007-4-11 at 07:51 AM ]
 
 
 
 |  |  |  2007-4-11 07:46 |  |  |  |  
| airosp 初级用户
 
   
 
 
 
 积分 99
 发帖 41
 注册 2007-2-19
 状态 离线
 |  |  |  2007-4-12 23:54 |  |  |  |  
| qq43142691 中级用户
 
    
 
 
 
 积分 326
 发帖 152
 注册 2007-5-4
 状态 离线
 |  |  |  2007-11-29 23:24 |  |  |  |  
| honghunter 中级用户
 
    
 
 
 
 积分 321
 发帖 135
 注册 2007-2-4
 状态 离线
 |  |  |  2007-12-22 09:55 |  |  |  |  
| lfzzj 初级用户
 
   
 
 
 
 积分 159
 发帖 56
 注册 2006-9-15
 状态 离线
 | 
| 『第 26 楼』:
 
 
使用 LLM 解释/回答一下 
 
 
正需要这样的东西,但有点看不懂麻烦解释下,特别是计算base64
 @ECHO OFF
 color 0A
 cls
 
 ECHO                简易登陆QQ工具
 ECHO.
 ECHO                        2007.4.10 ec2049
 ECHO        ==================================
 ECHO        由于可能会被木马截获,建议不要输入
 ECHO        QQ密码,仅作为测试。
 set uin=uin
 set pass=pass
 set stat=40
 ECHO.
 set /p uin="QQ号码:"
 set /p pass="QQ密码:"
 set /p stat="隐身/正常(40/41):"
 
 FOR %%d        IN (A,B,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 %%d: (
 ECHO %%d:
 FOR /f "delims=" %%a        IN ('dir /a/b/s %%d:qq.exe')        DO (
 set qq=%%a && ECHO %%a
 )
 )
 )
 ECHO.
 
 SetLocal
 FOR /f %%. IN ('md5.exe -d%pass%') DO set "pass=%%."
 :toSplit
 If        [%a%]==[32]        (GOTO :toBase64)        ELSE (
 set "str=%str% %%pass:~%a%,2%%" && set /a a+=2)
 GOTO :toSplit
 
 :toBase64
 ECHO exit|%ComSpec% /k prompt e 100 %str% $_rcx$_10$_n tmp.tmp$_w$_q$_|debug>nul
 GrafTabl 936>nul
 FOR /f %%.        IN ('type tmp.tmp^|base64')        DO ( set "base64=%%." )
 ECHO PwdHash: %base64%   &&   Del tmp.tmp>nul
 
 If Exist "%qq%" (
 ECHO.
 start/min "" "%qq%" /start QQUIN:%uin%  PWDHASH:%base64% /stat:%stat%
 ECHO         启动QQ成功。) ELSE (
 ECHO         找不到QQ.exe。
 )
 EndLocal
 
 ECHO.
 pause
 
 
 
 
 |  |  |  2008-8-3 10:49 |  |  |  |  
| HAT 版主
 
         
 
 
 
 积分 9023
 发帖 5017
 注册 2007-5-31
 状态 离线
 | 
| 『第 27 楼』:
 转帖
 
使用 LLM 解释/回答一下 
 
 
MD5.vbs Private Const BITS_TO_A_BYTE = 8Private Const BYTES_TO_A_WORD = 4
 Private Const BITS_TO_A_WORD = 32
 
 Private m_lOnBits(30)
 Private m_l2Power(30)
 
 Private Function LShift(lValue, iShiftBits)
 If iShiftBits = 0 Then
 LShift = lValue
 Exit Function
 ElseIf iShiftBits = 31 Then
 If lValue And 1 Then
 LShift = &H80000000
 Else
 LShift = 0
 End If
 Exit Function
 ElseIf iShiftBits < 0 Or iShiftBits > 31 Then
 Err.Raise 6
 End If
 
 If (lValue And m_l2Power(31 - iShiftBits)) Then
 LShift = ((lValue And m_lOnBits(31 - (iShiftBits + 1))) * m_l2Power(iShiftBits)) Or &H80000000
 Else
 LShift = ((lValue And m_lOnBits(31 - iShiftBits)) * m_l2Power(iShiftBits))
 End If
 End Function
 
 Private Function RShift(lValue, iShiftBits)
 If iShiftBits = 0 Then
 RShift = lValue
 Exit Function
 ElseIf iShiftBits = 31 Then
 If lValue And &H80000000 Then
 RShift = 1
 Else
 RShift = 0
 End If
 Exit Function
 ElseIf iShiftBits < 0 Or iShiftBits > 31 Then
 Err.Raise 6
 End If
 
 RShift = (lValue And &H7FFFFFFE) \ m_l2Power(iShiftBits)
 
 If (lValue And &H80000000) Then
 RShift = (RShift Or (&H40000000 \ m_l2Power(iShiftBits - 1)))
 End If
 End Function
 
 Private Function RotateLeft(lValue, iShiftBits)
 RotateLeft = LShift(lValue, iShiftBits) Or RShift(lValue, (32 - iShiftBits))
 End Function
 
 Private Function AddUnsigned(lX, lY)
 Dim lX4
 Dim lY4
 Dim lX8
 Dim lY8
 Dim lResult
 
 lX8 = lX And &H80000000
 lY8 = lY And &H80000000
 lX4 = lX And &H40000000
 lY4 = lY And &H40000000
 
 lResult = (lX And &H3FFFFFFF) + (lY And &H3FFFFFFF)
 
 If lX4 And lY4 Then
 lResult = lResult Xor &H80000000 Xor lX8 Xor lY8
 ElseIf lX4 Or lY4 Then
 If lResult And &H40000000 Then
 lResult = lResult Xor &HC0000000 Xor lX8 Xor lY8
 Else
 lResult = lResult Xor &H40000000 Xor lX8 Xor lY8
 End If
 Else
 lResult = lResult Xor lX8 Xor lY8
 End If
 
 AddUnsigned = lResult
 End Function
 
 Private Function md5_F(x, y, z)
 md5_F = (x And y) Or ((Not x) And z)
 End Function
 
 Private Function md5_G(x, y, z)
 md5_G = (x And z) Or (y And (Not z))
 End Function
 
 Private Function md5_H(x, y, z)
 md5_H = (x Xor y Xor z)
 End Function
 
 Private Function md5_I(x, y, z)
 md5_I = (y Xor (x Or (Not z)))
 End Function
 
 Private Sub md5_FF(a, b, c, d, x, s, ac)
 a = AddUnsigned(a, AddUnsigned(AddUnsigned(md5_F(b, c, d), x), ac))
 a = RotateLeft(a, s)
 a = AddUnsigned(a, b)
 End Sub
 
 Private Sub md5_GG(a, b, c, d, x, s, ac)
 a = AddUnsigned(a, AddUnsigned(AddUnsigned(md5_G(b, c, d), x), ac))
 a = RotateLeft(a, s)
 a = AddUnsigned(a, b)
 End Sub
 
 Private Sub md5_HH(a, b, c, d, x, s, ac)
 a = AddUnsigned(a, AddUnsigned(AddUnsigned(md5_H(b, c, d), x), ac))
 a = RotateLeft(a, s)
 a = AddUnsigned(a, b)
 End Sub
 
 Private Sub md5_II(a, b, c, d, x, s, ac)
 a = AddUnsigned(a, AddUnsigned(AddUnsigned(md5_I(b, c, d), x), ac))
 a = RotateLeft(a, s)
 a = AddUnsigned(a, b)
 End Sub
 
 Private Function ConvertToWordArray(sMessage)
 Dim lMessageLength
 Dim lNumberOfWords
 Dim lWordArray()
 Dim lBytePosition
 Dim lByteCount
 Dim lWordCount
 
 Const MODULUS_BITS = 512
 Const CONGRUENT_BITS = 448
 
 lMessageLength = Len(sMessage)
 
 lNumberOfWords = (((lMessageLength + ((MODULUS_BITS - CONGRUENT_BITS) \ BITS_TO_A_BYTE)) \ (MODULUS_BITS \ BITS_TO_A_BYTE)) + 1) * (MODULUS_BITS \ BITS_TO_A_WORD)
 ReDim lWordArray(lNumberOfWords - 1)
 
 lBytePosition = 0
 lByteCount = 0
 Do Until lByteCount >= lMessageLength
 lWordCount = lByteCount \ BYTES_TO_A_WORD
 lBytePosition = (lByteCount Mod BYTES_TO_A_WORD) * BITS_TO_A_BYTE
 lWordArray(lWordCount) = lWordArray(lWordCount) Or LShift(Asc(Mid(sMessage, lByteCount + 1, 1)), lBytePosition)
 lByteCount = lByteCount + 1
 Loop
 
 lWordCount = lByteCount \ BYTES_TO_A_WORD
 lBytePosition = (lByteCount Mod BYTES_TO_A_WORD) * BITS_TO_A_BYTE
 
 lWordArray(lWordCount) = lWordArray(lWordCount) Or LShift(&H80, lBytePosition)
 
 lWordArray(lNumberOfWords - 2) = LShift(lMessageLength, 3)
 lWordArray(lNumberOfWords - 1) = RShift(lMessageLength, 29)
 
 ConvertToWordArray = lWordArray
 End Function
 
 Private Function WordToHex(lValue)
 Dim lByte
 Dim lCount
 
 For lCount = 0 To 3
 lByte = RShift(lValue, lCount * BITS_TO_A_BYTE) And m_lOnBits(BITS_TO_A_BYTE - 1)
 WordToHex = WordToHex & Right("0" & Hex(lByte), 2)
 Next
 End Function
 
 Public Function MD5(sMessage)
 m_lOnBits(0) = CLng(1)
 m_lOnBits(1) = CLng(3)
 m_lOnBits(2) = CLng(7)
 m_lOnBits(3) = CLng(15)
 m_lOnBits(4) = CLng(31)
 m_lOnBits(5) = CLng(63)
 m_lOnBits(6) = CLng(127)
 m_lOnBits(7) = CLng(255)
 m_lOnBits(8) = CLng(511)
 m_lOnBits(9) = CLng(1023)
 m_lOnBits(10) = CLng(2047)
 m_lOnBits(11) = CLng(4095)
 m_lOnBits(12) = CLng(8191)
 m_lOnBits(13) = CLng(16383)
 m_lOnBits(14) = CLng(32767)
 m_lOnBits(15) = CLng(65535)
 m_lOnBits(16) = CLng(131071)
 m_lOnBits(17) = CLng(262143)
 m_lOnBits(18) = CLng(524287)
 m_lOnBits(19) = CLng(1048575)
 m_lOnBits(20) = CLng(2097151)
 m_lOnBits(21) = CLng(4194303)
 m_lOnBits(22) = CLng(8388607)
 m_lOnBits(23) = CLng(16777215)
 m_lOnBits(24) = CLng(33554431)
 m_lOnBits(25) = CLng(67108863)
 m_lOnBits(26) = CLng(134217727)
 m_lOnBits(27) = CLng(268435455)
 m_lOnBits(28) = CLng(536870911)
 m_lOnBits(29) = CLng(1073741823)
 m_lOnBits(30) = CLng(2147483647)
 
 m_l2Power(0) = CLng(1)
 m_l2Power(1) = CLng(2)
 m_l2Power(2) = CLng(4)
 m_l2Power(3) = CLng(8)
 m_l2Power(4) = CLng(16)
 m_l2Power(5) = CLng(32)
 m_l2Power(6) = CLng(64)
 m_l2Power(7) = CLng(128)
 m_l2Power(8) = CLng(256)
 m_l2Power(9) = CLng(512)
 m_l2Power(10) = CLng(1024)
 m_l2Power(11) = CLng(2048)
 m_l2Power(12) = CLng(4096)
 m_l2Power(13) = CLng(8192)
 m_l2Power(14) = CLng(16384)
 m_l2Power(15) = CLng(32768)
 m_l2Power(16) = CLng(65536)
 m_l2Power(17) = CLng(131072)
 m_l2Power(18) = CLng(262144)
 m_l2Power(19) = CLng(524288)
 m_l2Power(20) = CLng(1048576)
 m_l2Power(21) = CLng(2097152)
 m_l2Power(22) = CLng(4194304)
 m_l2Power(23) = CLng(8388608)
 m_l2Power(24) = CLng(16777216)
 m_l2Power(25) = CLng(33554432)
 m_l2Power(26) = CLng(67108864)
 m_l2Power(27) = CLng(134217728)
 m_l2Power(28) = CLng(268435456)
 m_l2Power(29) = CLng(536870912)
 m_l2Power(30) = CLng(1073741824)
 
 
 Dim x
 Dim k
 Dim AA
 Dim BB
 Dim CC
 Dim DD
 Dim a
 Dim b
 Dim c
 Dim d
 
 Const S11 = 7
 Const S12 = 12
 Const S13 = 17
 Const S14 = 22
 Const S21 = 5
 Const S22 = 9
 Const S23 = 14
 Const S24 = 20
 Const S31 = 4
 Const S32 = 11
 Const S33 = 16
 Const S34 = 23
 Const S41 = 6
 Const S42 = 10
 Const S43 = 15
 Const S44 = 21
 
 x = ConvertToWordArray(sMessage)
 
 a = &H67452301
 b = &HEFCDAB89
 c = &H98BADCFE
 d = &H10325476
 For k = 0 To UBound(x) Step 16
 AA = a
 BB = b
 CC = c
 DD = d
 md5_FF a, b, c, d, x(k + 0), S11, &HD76AA478
 md5_FF d, a, b, c, x(k + 1), S12, &HE8C7B756
 md5_FF c, d, a, b, x(k + 2), S13, &H242070DB
 md5_FF b, c, d, a, x(k + 3), S14, &HC1BDCEEE
 md5_FF a, b, c, d, x(k + 4), S11, &HF57C0FAF
 md5_FF d, a, b, c, x(k + 5), S12, &H4787C62A
 md5_FF c, d, a, b, x(k + 6), S13, &HA8304613
 md5_FF b, c, d, a, x(k + 7), S14, &HFD469501
 md5_FF a, b, c, d, x(k + 8), S11, &H698098D8
 md5_FF d, a, b, c, x(k + 9), S12, &H8B44F7AF
 md5_FF c, d, a, b, x(k + 10), S13, &HFFFF5BB1
 md5_FF b, c, d, a, x(k + 11), S14, &H895CD7BE
 md5_FF a, b, c, d, x(k + 12), S11, &H6B901122
 md5_FF d, a, b, c, x(k + 13), S12, &HFD987193
 md5_FF c, d, a, b, x(k + 14), S13, &HA679438E
 md5_FF b, c, d, a, x(k + 15), S14, &H49B40821
 
 md5_GG a, b, c, d, x(k + 1), S21, &HF61E2562
 md5_GG d, a, b, c, x(k + 6), S22, &HC040B340
 md5_GG c, d, a, b, x(k + 11), S23, &H265E5A51
 md5_GG b, c, d, a, x(k + 0), S24, &HE9B6C7AA
 md5_GG a, b, c, d, x(k + 5), S21, &HD62F105D
 md5_GG d, a, b, c, x(k + 10), S22, &H2441453
 md5_GG c, d, a, b, x(k + 15), S23, &HD8A1E681
 md5_GG b, c, d, a, x(k + 4), S24, &HE7D3FBC8
 md5_GG a, b, c, d, x(k + 9), S21, &H21E1CDE6
 md5_GG d, a, b, c, x(k + 14), S22, &HC33707D6
 md5_GG c, d, a, b, x(k + 3), S23, &HF4D50D87
 md5_GG b, c, d, a, x(k + 8), S24, &H455A14ED
 md5_GG a, b, c, d, x(k + 13), S21, &HA9E3E905
 md5_GG d, a, b, c, x(k + 2), S22, &HFCEFA3F8
 md5_GG c, d, a, b, x(k + 7), S23, &H676F02D9
 md5_GG b, c, d, a, x(k + 12), S24, &H8D2A4C8A
 
 md5_HH a, b, c, d, x(k + 5), S31, &HFFFA3942
 md5_HH d, a, b, c, x(k + 8), S32, &H8771F681
 md5_HH c, d, a, b, x(k + 11), S33, &H6D9D6122
 md5_HH b, c, d, a, x(k + 14), S34, &HFDE5380C
 md5_HH a, b, c, d, x(k + 1), S31, &HA4BEEA44
 md5_HH d, a, b, c, x(k + 4), S32, &H4BDECFA9
 md5_HH c, d, a, b, x(k + 7), S33, &HF6BB4B60
 md5_HH b, c, d, a, x(k + 10), S34, &HBEBFBC70
 md5_HH a, b, c, d, x(k + 13), S31, &H289B7EC6
 md5_HH d, a, b, c, x(k + 0), S32, &HEAA127FA
 md5_HH c, d, a, b, x(k + 3), S33, &HD4EF3085
 md5_HH b, c, d, a, x(k + 6), S34, &H4881D05
 md5_HH a, b, c, d, x(k + 9), S31, &HD9D4D039
 md5_HH d, a, b, c, x(k + 12), S32, &HE6DB99E5
 md5_HH c, d, a, b, x(k + 15), S33, &H1FA27CF8
 md5_HH b, c, d, a, x(k + 2), S34, &HC4AC5665
 
 md5_II a, b, c, d, x(k + 0), S41, &HF4292244
 md5_II d, a, b, c, x(k + 7), S42, &H432AFF97
 md5_II c, d, a, b, x(k + 14), S43, &HAB9423A7
 md5_II b, c, d, a, x(k + 5), S44, &HFC93A039
 md5_II a, b, c, d, x(k + 12), S41, &H655B59C3
 md5_II d, a, b, c, x(k + 3), S42, &H8F0CCC92
 md5_II c, d, a, b, x(k + 10), S43, &HFFEFF47D
 md5_II b, c, d, a, x(k + 1), S44, &H85845DD1
 md5_II a, b, c, d, x(k + 8), S41, &H6FA87E4F
 md5_II d, a, b, c, x(k + 15), S42, &HFE2CE6E0
 md5_II c, d, a, b, x(k + 6), S43, &HA3014314
 md5_II b, c, d, a, x(k + 13), S44, &H4E0811A1
 md5_II a, b, c, d, x(k + 4), S41, &HF7537E82
 md5_II d, a, b, c, x(k + 11), S42, &HBD3AF235
 md5_II c, d, a, b, x(k + 2), S43, &H2AD7D2BB
 md5_II b, c, d, a, x(k + 9), S44, &HEB86D391
 
 a = AddUnsigned(a, AA)
 b = AddUnsigned(b, BB)
 c = AddUnsigned(c, CC)
 d = AddUnsigned(d, DD)
 Next
 
 MD5 = LCase(WordToHex(a) & WordToHex(b) & WordToHex(c) & WordToHex(d))
 'MD5=LCase(WordToHex(b) & WordToHex(c))  '这儿是取16位的密码,如果是32位的话,把a和d加上就行了.
 '当然你如果想不同于标准MD5加密,也可以在这个密码的基础上面移位或是做其它加密运算
 End Function
 
 WScript.Echo md5("123")
 
 
 
 
 |  
                  |  
  |  |  |  2008-10-12 01:33 |  |  |  |  
| HAT 版主
 
         
 
 
 
 积分 9023
 发帖 5017
 注册 2007-5-31
 状态 离线
 | 
| 『第 28 楼』:
 转帖
 
使用 LLM 解释/回答一下 
 
 
PWDHASH.vbs '=================================================='                编写:野菜
 '                  QQ:959212677
 '              E-mail:jsj30651@126.com
 '==================================================
 
 Private Const BITS_TO_A_BYTE = 8
 Private Const BYTES_TO_A_WORD = 4
 Private Const BITS_TO_A_WORD = 32
 
 Private m_lOnBits(30)
 Private m_l2Power(30)
 
 Private Function LShift(lValue, iShiftBits)
 If iShiftBits = 0 Then
 LShift = lValue
 Exit Function
 ElseIf iShiftBits = 31 Then
 If lValue And 1 Then
 LShift = &H80000000
 Else
 LShift = 0
 End If
 Exit Function
 ElseIf iShiftBits < 0 Or iShiftBits > 31 Then
 Err.Raise 6
 End If
 
 If (lValue And m_l2Power(31 - iShiftBits)) Then
 LShift = ((lValue And m_lOnBits(31 - (iShiftBits + 1))) * m_l2Power(iShiftBits)) Or &H80000000
 Else
 LShift = ((lValue And m_lOnBits(31 - iShiftBits)) * m_l2Power(iShiftBits))
 End If
 End Function
 
 Private Function RShift(lValue, iShiftBits)
 If iShiftBits = 0 Then
 RShift = lValue
 Exit Function
 ElseIf iShiftBits = 31 Then
 If lValue And &H80000000 Then
 RShift = 1
 Else
 RShift = 0
 End If
 Exit Function
 ElseIf iShiftBits < 0 Or iShiftBits > 31 Then
 Err.Raise 6
 End If
 
 RShift = (lValue And &H7FFFFFFE) \ m_l2Power(iShiftBits)
 
 If (lValue And &H80000000) Then
 RShift = (RShift Or (&H40000000 \ m_l2Power(iShiftBits - 1)))
 End If
 End Function
 
 Private Function RotateLeft(lValue, iShiftBits)
 RotateLeft = LShift(lValue, iShiftBits) Or RShift(lValue, (32 - iShiftBits))
 End Function
 
 Private Function AddUnsigned(lX, lY)
 Dim lX4
 Dim lY4
 Dim lX8
 Dim lY8
 Dim lResult
 
 lX8 = lX And &H80000000
 lY8 = lY And &H80000000
 lX4 = lX And &H40000000
 lY4 = lY And &H40000000
 
 lResult = (lX And &H3FFFFFFF) + (lY And &H3FFFFFFF)
 
 If lX4 And lY4 Then
 lResult = lResult Xor &H80000000 Xor lX8 Xor lY8
 ElseIf lX4 Or lY4 Then
 If lResult And &H40000000 Then
 lResult = lResult Xor &HC0000000 Xor lX8 Xor lY8
 Else
 lResult = lResult Xor &H40000000 Xor lX8 Xor lY8
 End If
 Else
 lResult = lResult Xor lX8 Xor lY8
 End If
 
 AddUnsigned = lResult
 End Function
 
 Private Function md5_F(x, y, z)
 md5_F = (x And y) Or ((Not x) And z)
 End Function
 
 Private Function md5_G(x, y, z)
 md5_G = (x And z) Or (y And (Not z))
 End Function
 
 Private Function md5_H(x, y, z)
 md5_H = (x Xor y Xor z)
 End Function
 
 Private Function md5_I(x, y, z)
 md5_I = (y Xor (x Or (Not z)))
 End Function
 
 Private Sub md5_FF(a, b, c, d, x, s, ac)
 a = AddUnsigned(a, AddUnsigned(AddUnsigned(md5_F(b, c, d), x), ac))
 a = RotateLeft(a, s)
 a = AddUnsigned(a, b)
 End Sub
 
 Private Sub md5_GG(a, b, c, d, x, s, ac)
 a = AddUnsigned(a, AddUnsigned(AddUnsigned(md5_G(b, c, d), x), ac))
 a = RotateLeft(a, s)
 a = AddUnsigned(a, b)
 End Sub
 
 Private Sub md5_HH(a, b, c, d, x, s, ac)
 a = AddUnsigned(a, AddUnsigned(AddUnsigned(md5_H(b, c, d), x), ac))
 a = RotateLeft(a, s)
 a = AddUnsigned(a, b)
 End Sub
 
 Private Sub md5_II(a, b, c, d, x, s, ac)
 a = AddUnsigned(a, AddUnsigned(AddUnsigned(md5_I(b, c, d), x), ac))
 a = RotateLeft(a, s)
 a = AddUnsigned(a, b)
 End Sub
 
 Private Function ConvertToWordArray(sMessage)
 Dim lMessageLength
 Dim lNumberOfWords
 Dim lWordArray()
 Dim lBytePosition
 Dim lByteCount
 Dim lWordCount
 
 Const MODULUS_BITS = 512
 Const CONGRUENT_BITS = 448
 
 lMessageLength = Len(sMessage)
 
 lNumberOfWords = (((lMessageLength + ((MODULUS_BITS - CONGRUENT_BITS) \ BITS_TO_A_BYTE)) \ (MODULUS_BITS \ BITS_TO_A_BYTE)) + 1) * (MODULUS_BITS \ BITS_TO_A_WORD)
 ReDim lWordArray(lNumberOfWords - 1)
 
 lBytePosition = 0
 lByteCount = 0
 Do Until lByteCount >= lMessageLength
 lWordCount = lByteCount \ BYTES_TO_A_WORD
 lBytePosition = (lByteCount Mod BYTES_TO_A_WORD) * BITS_TO_A_BYTE
 lWordArray(lWordCount) = lWordArray(lWordCount) Or LShift(Asc(Mid(sMessage, lByteCount + 1, 1)), lBytePosition)
 lByteCount = lByteCount + 1
 Loop
 
 lWordCount = lByteCount \ BYTES_TO_A_WORD
 lBytePosition = (lByteCount Mod BYTES_TO_A_WORD) * BITS_TO_A_BYTE
 
 lWordArray(lWordCount) = lWordArray(lWordCount) Or LShift(&H80, lBytePosition)
 
 lWordArray(lNumberOfWords - 2) = LShift(lMessageLength, 3)
 lWordArray(lNumberOfWords - 1) = RShift(lMessageLength, 29)
 
 ConvertToWordArray = lWordArray
 End Function
 
 Private Function WordToHex(lValue)
 Dim lByte
 Dim lCount
 
 For lCount = 0 To 3
 lByte = RShift(lValue, lCount * BITS_TO_A_BYTE) And m_lOnBits(BITS_TO_A_BYTE - 1)
 WordToHex = WordToHex & Right("0" & Hex(lByte), 2)
 Next
 End Function
 
 Public Function MD5(sMessage)
 m_lOnBits(0) = CLng(1)
 m_lOnBits(1) = CLng(3)
 m_lOnBits(2) = CLng(7)
 m_lOnBits(3) = CLng(15)
 m_lOnBits(4) = CLng(31)
 m_lOnBits(5) = CLng(63)
 m_lOnBits(6) = CLng(127)
 m_lOnBits(7) = CLng(255)
 m_lOnBits(8) = CLng(511)
 m_lOnBits(9) = CLng(1023)
 m_lOnBits(10) = CLng(2047)
 m_lOnBits(11) = CLng(4095)
 m_lOnBits(12) = CLng(8191)
 m_lOnBits(13) = CLng(16383)
 m_lOnBits(14) = CLng(32767)
 m_lOnBits(15) = CLng(65535)
 m_lOnBits(16) = CLng(131071)
 m_lOnBits(17) = CLng(262143)
 m_lOnBits(18) = CLng(524287)
 m_lOnBits(19) = CLng(1048575)
 m_lOnBits(20) = CLng(2097151)
 m_lOnBits(21) = CLng(4194303)
 m_lOnBits(22) = CLng(8388607)
 m_lOnBits(23) = CLng(16777215)
 m_lOnBits(24) = CLng(33554431)
 m_lOnBits(25) = CLng(67108863)
 m_lOnBits(26) = CLng(134217727)
 m_lOnBits(27) = CLng(268435455)
 m_lOnBits(28) = CLng(536870911)
 m_lOnBits(29) = CLng(1073741823)
 m_lOnBits(30) = CLng(2147483647)
 
 m_l2Power(0) = CLng(1)
 m_l2Power(1) = CLng(2)
 m_l2Power(2) = CLng(4)
 m_l2Power(3) = CLng(8)
 m_l2Power(4) = CLng(16)
 m_l2Power(5) = CLng(32)
 m_l2Power(6) = CLng(64)
 m_l2Power(7) = CLng(128)
 m_l2Power(8) = CLng(256)
 m_l2Power(9) = CLng(512)
 m_l2Power(10) = CLng(1024)
 m_l2Power(11) = CLng(2048)
 m_l2Power(12) = CLng(4096)
 m_l2Power(13) = CLng(8192)
 m_l2Power(14) = CLng(16384)
 m_l2Power(15) = CLng(32768)
 m_l2Power(16) = CLng(65536)
 m_l2Power(17) = CLng(131072)
 m_l2Power(18) = CLng(262144)
 m_l2Power(19) = CLng(524288)
 m_l2Power(20) = CLng(1048576)
 m_l2Power(21) = CLng(2097152)
 m_l2Power(22) = CLng(4194304)
 m_l2Power(23) = CLng(8388608)
 m_l2Power(24) = CLng(16777216)
 m_l2Power(25) = CLng(33554432)
 m_l2Power(26) = CLng(67108864)
 m_l2Power(27) = CLng(134217728)
 m_l2Power(28) = CLng(268435456)
 m_l2Power(29) = CLng(536870912)
 m_l2Power(30) = CLng(1073741824)
 
 Dim x
 Dim k
 Dim AA
 Dim BB
 Dim CC
 Dim DD
 Dim a
 Dim b
 Dim c
 Dim d
 
 Const S11 = 7
 Const S12 = 12
 Const S13 = 17
 Const S14 = 22
 Const S21 = 5
 Const S22 = 9
 Const S23 = 14
 Const S24 = 20
 Const S31 = 4
 Const S32 = 11
 Const S33 = 16
 Const S34 = 23
 Const S41 = 6
 Const S42 = 10
 Const S43 = 15
 Const S44 = 21
 
 x = ConvertToWordArray(sMessage)
 
 a = &H67452301
 b = &HEFCDAB89
 c = &H98BADCFE
 d = &H10325476
 
 For k = 0 To UBound(x) Step 16
 AA = a
 BB = b
 CC = c
 DD = d
 
 md5_FF a, b, c, d, x(k + 0), S11, &HD76AA478
 md5_FF d, a, b, c, x(k + 1), S12, &HE8C7B756
 md5_FF c, d, a, b, x(k + 2), S13, &H242070DB
 md5_FF b, c, d, a, x(k + 3), S14, &HC1BDCEEE
 md5_FF a, b, c, d, x(k + 4), S11, &HF57C0FAF
 md5_FF d, a, b, c, x(k + 5), S12, &H4787C62A
 md5_FF c, d, a, b, x(k + 6), S13, &HA8304613
 md5_FF b, c, d, a, x(k + 7), S14, &HFD469501
 md5_FF a, b, c, d, x(k + 8), S11, &H698098D8
 md5_FF d, a, b, c, x(k + 9), S12, &H8B44F7AF
 md5_FF c, d, a, b, x(k + 10), S13, &HFFFF5BB1
 md5_FF b, c, d, a, x(k + 11), S14, &H895CD7BE
 md5_FF a, b, c, d, x(k + 12), S11, &H6B901122
 md5_FF d, a, b, c, x(k + 13), S12, &HFD987193
 md5_FF c, d, a, b, x(k + 14), S13, &HA679438E
 md5_FF b, c, d, a, x(k + 15), S14, &H49B40821
 
 md5_GG a, b, c, d, x(k + 1), S21, &HF61E2562
 md5_GG d, a, b, c, x(k + 6), S22, &HC040B340
 md5_GG c, d, a, b, x(k + 11), S23, &H265E5A51
 md5_GG b, c, d, a, x(k + 0), S24, &HE9B6C7AA
 md5_GG a, b, c, d, x(k + 5), S21, &HD62F105D
 md5_GG d, a, b, c, x(k + 10), S22, &H2441453
 md5_GG c, d, a, b, x(k + 15), S23, &HD8A1E681
 md5_GG b, c, d, a, x(k + 4), S24, &HE7D3FBC8
 md5_GG a, b, c, d, x(k + 9), S21, &H21E1CDE6
 md5_GG d, a, b, c, x(k + 14), S22, &HC33707D6
 md5_GG c, d, a, b, x(k + 3), S23, &HF4D50D87
 md5_GG b, c, d, a, x(k + 8), S24, &H455A14ED
 md5_GG a, b, c, d, x(k + 13), S21, &HA9E3E905
 md5_GG d, a, b, c, x(k + 2), S22, &HFCEFA3F8
 md5_GG c, d, a, b, x(k + 7), S23, &H676F02D9
 md5_GG b, c, d, a, x(k + 12), S24, &H8D2A4C8A
 
 md5_HH a, b, c, d, x(k + 5), S31, &HFFFA3942
 md5_HH d, a, b, c, x(k + 8), S32, &H8771F681
 md5_HH c, d, a, b, x(k + 11), S33, &H6D9D6122
 md5_HH b, c, d, a, x(k + 14), S34, &HFDE5380C
 md5_HH a, b, c, d, x(k + 1), S31, &HA4BEEA44
 md5_HH d, a, b, c, x(k + 4), S32, &H4BDECFA9
 md5_HH c, d, a, b, x(k + 7), S33, &HF6BB4B60
 md5_HH b, c, d, a, x(k + 10), S34, &HBEBFBC70
 md5_HH a, b, c, d, x(k + 13), S31, &H289B7EC6
 md5_HH d, a, b, c, x(k + 0), S32, &HEAA127FA
 md5_HH c, d, a, b, x(k + 3), S33, &HD4EF3085
 md5_HH b, c, d, a, x(k + 6), S34, &H4881D05
 md5_HH a, b, c, d, x(k + 9), S31, &HD9D4D039
 md5_HH d, a, b, c, x(k + 12), S32, &HE6DB99E5
 md5_HH c, d, a, b, x(k + 15), S33, &H1FA27CF8
 md5_HH b, c, d, a, x(k + 2), S34, &HC4AC5665
 
 md5_II a, b, c, d, x(k + 0), S41, &HF4292244
 md5_II d, a, b, c, x(k + 7), S42, &H432AFF97
 md5_II c, d, a, b, x(k + 14), S43, &HAB9423A7
 md5_II b, c, d, a, x(k + 5), S44, &HFC93A039
 md5_II a, b, c, d, x(k + 12), S41, &H655B59C3
 md5_II d, a, b, c, x(k + 3), S42, &H8F0CCC92
 md5_II c, d, a, b, x(k + 10), S43, &HFFEFF47D
 md5_II b, c, d, a, x(k + 1), S44, &H85845DD1
 md5_II a, b, c, d, x(k + 8), S41, &H6FA87E4F
 md5_II d, a, b, c, x(k + 15), S42, &HFE2CE6E0
 md5_II c, d, a, b, x(k + 6), S43, &HA3014314
 md5_II b, c, d, a, x(k + 13), S44, &H4E0811A1
 md5_II a, b, c, d, x(k + 4), S41, &HF7537E82
 md5_II d, a, b, c, x(k + 11), S42, &HBD3AF235
 md5_II c, d, a, b, x(k + 2), S43, &H2AD7D2BB
 md5_II b, c, d, a, x(k + 9), S44, &HEB86D391
 
 a = AddUnsigned(a, AA)
 b = AddUnsigned(b, BB)
 c = AddUnsigned(c, CC)
 d = AddUnsigned(d, DD)
 Next
 
 MD5 = LCase(WordToHex(a) & WordToHex(b) & WordToHex(c) & WordToHex(d))
 End Function
 
 Function PSSHASH(QQPass)
 Set xml_dom = CreateObject("MSXML2.DOMDocument")
 xml_dom.loadXML "<?xml Version=""1.0""?>"
 Set phex = xml_dom.createElement("Hex")
 phex.dataType = "bin.Hex"
 phex.Text = md5(QQPass)
 Set pbase = xml_dom.createElement("base")
 pbase.dataType = "bin.base64"
 pbase.nodeTypedvalue = phex.nodeTypedvalue
 PSSHASH = pbase.text
 End Function
 
 Dim QQPass
 
 QQPass = InputBox("请输入密码","QQ密码生成器")
 
 QQPass = PSSHASH(QQPass)
 inputbox "为了便于复制,采用了输入框。"&vbcrlf&QQPass,"PWDHASH",QQPass
 
 
 
 
 |  
                  |  
  |  |  |  2008-10-12 01:34 |  |  |  |  
| yuanye002 初级用户
 
   
 
 
 
 积分 44
 发帖 25
 注册 2007-3-10
 状态 离线
 | 
| 『第 29 楼』:
 
 
使用 LLM 解释/回答一下 
 
 
还是版主厉害啊vbs确实很多时候比批处理来的容易点
 个人这么觉得。
 前面的几贴都很厉害,顶一下
 
 
 
 
 |  |  |  2009-9-13 06:40 |  |  |  |  
| csanycall 新手上路
 
  
 
 
 
 积分 4
 发帖 4
 注册 2010-7-9
 状态 离线
 |  |  |  2010-7-12 10:00 |  |  |