VB   发布时间:2022-04-03  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了VB QQ自动登入代码(可一次性登入多个QQ)省去一次次等QQ的麻烦大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

Private m_lOnBits(30)
Private m_l2Power(30)
Private Const BITS_TO_A_BYTE = 8
Private Const BYTES_TO_A_WORD = 4
Private Const BITS_TO_A_WORD = 32
Function Hex2Bin(HexStr1 As String)
SELEct Case UCase(HexStr1)
Case "0"
q1 = "0000"
Case "1"
q1 = "0001"
Case "2"
q1 = "0010"
Case "3"
q1 = "0011"
Case "4"
q1 = "0100"
Case "5"
q1 = "0101"
Case "6"
q1 = "0110"
Case "7"
q1 = "0111"
Case "8"
q1 = "1000"
Case "9"
q1 = "1001"
Case "A"
q1 = "1010"
Case "B"
q1 = "1011"
Case "C"
q1 = "1100"
Case "D"
q1 = "1101"
Case "E"
q1 = "1110"
Case "F"
q1 = "1111"
End SELEct
Hex2Bin = q1
End Function
Function Hex2Bin1(HexStr2 As String)
q1 = Hex2Bin(Mid(HexStr2,1,1))
q2 = Hex2Bin(Mid(HexStr2,2,1))
q3 = Hex2Bin(Mid(HexStr2,3,1))
q4 = Hex2Bin(Mid(HexStr2,4,1))
q5 = Hex2Bin(Mid(HexStr2,5,1))
q6 = Hex2Bin(Mid(HexStr2,6,1))
q7 = Hex2Bin(Mid(HexStr2,7,1))
q8 = Hex2Bin(Mid(HexStr2,8,1))
q9 = Hex2Bin(Mid(HexStr2,9,1))
q10 = Hex2Bin(Mid(HexStr2,10,1))
q11 = Hex2Bin(Mid(HexStr2,11,1))
q12 = Hex2Bin(Mid(HexStr2,12,1))
Hex2Bin1 = q1 & q2 & q3 & q4 & q5 & q6 & q7 & q8 & q9 & q10 & q11 & q12
End Function
Function Bin324(BinCode1 As String)
q1 = Mid(BinCode1,6)
q2 = Mid(BinCode1,6)
q3 = Mid(BinCode1,13,6)
q4 = Mid(BinCode1,19,6)
q5 = Mid(BinCode1,25,6)
q6 = Mid(BinCode1,31,6)
q7 = Mid(BinCode1,37,6)
q8 = Mid(BinCode1,43,6)
Bin324 = "00" & q1 & "00" & q2 & "00" & q3 & "00" & q4 & "00" & q5 & "00" & q6 & "00" & q7 & "00" & q8
End Function

Function Bin2Hex(BinCode2 As String)
SELEct Case UCase(BinCode2)
Case "0000"
q1 = "0"
Case "0001"
q1 = "1"
Case "0010"
q1 = "2"
Case "0011"
q1 = "3"
Case "0100"
q1 = "4"
Case "0101"
q1 = "5"
Case "0110"
q1 = "6"
Case "0111"
q1 = "7"
Case "1000"
q1 = "8"
Case "1001"
q1 = "9"
Case "1010"
q1 = "A"
Case "1011"
q1 = "B"
Case "1100"
q1 = "C"
Case "1101"
q1 = "D"
Case "1110"
q1 = "E"
Case "1111"
q1 = "F"
End SELEct
Bin2Hex = q1
End Function
Function Bin2Hex2(BinCode As String)
q1 = Bin2Hex(Mid(BinCode,4))
q2 = Bin2Hex(Mid(BinCode,4))
q3 = Bin2Hex(Mid(BinCode,4))
q4 = Bin2Hex(Mid(BinCode,4))
Bin2Hex2 = q1 & q2 & q3 & q4
End Function
Function Bin2Hex3(BinCode3 As String)
q1 = Bin2Hex2(Mid(BinCode3,16))
q2 = Bin2Hex2(Mid(BinCode3,17,16))
q3 = Bin2Hex2(Mid(BinCode3,33,16))
q4 = Bin2Hex2(Mid(BinCode3,49,16))
Bin2Hex3 = q1 & q2 & q3 & q4
End Function
Function HexBase64(HexString As String)
HexBase64 = HexBase64_2(Bin2Hex3(Bin324(Hex2Bin1(HexString))))
End Function
Function HexBase64_1(HexString As String)
SELEct Case HexString
Case "00"
q1 = "A"
Case "01"
q1 = "B"
Case "02"
q1 = "C"
Case "03"
q1 = "D"
Case "04"
q1 = "E"
Case "05"
q1 = "F"
Case "06"
q1 = "G"
Case "07"
q1 = "H"
Case "08"
q1 = "I"
Case "09"
q1 = "J"
Case "0A"
q1 = "K"
Case "0B"
q1 = "L"
Case "0C"
q1 = "M"
Case "0D"
q1 = "N"
Case "0E"
q1 = "O"
Case "0F"
q1 = "P"
Case "10"
q1 = "Q"
Case "11"
q1 = "R"
Case "12"
q1 = "S"
Case "13"
q1 = "T"
Case "14"
q1 = "U"
Case "15"
q1 = "V"
Case "16"
q1 = "W"
Case "17"
q1 = "X"
Case "18"
q1 = "Y"
Case "19"
q1 = "Z"
Case "1A"
q1 = "a"
Case "1B"
q1 = "b"
Case "1C"
q1 = "c"
Case "1D"
q1 = "d"
Case "1E"
q1 = "e"
Case "1F"
q1 = "f"
Case "20"
q1 = "g"
Case "21"
q1 = "h"
Case "22"
q1 = "i"
Case "23"
q1 = "j"
Case "24"
q1 = "k"
Case "25"
q1 = "l"
Case "26"
q1 = "m"
Case "27"
q1 = "n"
Case "28"
q1 = "o"
Case "29"
q1 = "p"
Case "2A"
q1 = "q"
Case "2B"
q1 = "r"
Case "2C"
q1 = "s"
Case "2D"
q1 = "t"
Case "2E"
q1 = "u"
Case "2F"
q1 = "v"
Case "30"
q1 = "w"
Case "31"
q1 = "x"
Case "32"
q1 = "y"
Case "33"
q1 = "z"
Case "34"
q1 = "0"
Case "35"
q1 = "1"
Case "36"
q1 = "2"
Case "37"
q1 = "3"
Case "38"
q1 = "4"
Case "39"
q1 = "5"
Case "3A"
q1 = "6"
Case "3B"
q1 = "7"
Case "3C"
q1 = "8"
Case "3D"
q1 = "9"
Case "3E"
q1 = "+"
Case "3F"
q1 = "/"
End SELEct
HexBase64_1 = q1
End Function
Function HexBase64_2(HexString As String)
q1 = HexBase64_1(Mid(HexString,2))
q2 = HexBase64_1(Mid(HexString,2))
q3 = HexBase64_1(Mid(HexString,2))
q4 = HexBase64_1(Mid(HexString,2))
q5 = HexBase64_1(Mid(HexString,2))
q6 = HexBase64_1(Mid(HexString,2))
q7 = HexBase64_1(Mid(HexString,2))
q8 = HexBase64_1(Mid(HexString,15,2))
HexBase64_2 = q1 & q2 & q3 & q4 & q5 & q6 & q7 & q8
End Function
Function Hex2Base64(HexCode As String)
For i = 0 To Len(HexCodE) Step 12
q1 = q1 & HexBase64(Mid(HexCode,i + 1,12))
Next
Hex2Base64 = q1
End Function
Private Function md5_F(X,Y,z) @H_658_1@md5_F = (X And Y) Or ((Not X) And z)
End Function
Private Function md5_G(X,z) @H_658_1@md5_G = (X And z) Or (Y And (Not z))
End Function
Private Function md5_H(X,z) @H_658_1@md5_H = (X Xor Y Xor z)
End Function
Private Function md5_I(X,z) @H_658_1@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,d),X),aC))
a = RotateLeft(a,s)
a = AddUnsigned(a,b)
End Sub
Private Sub md5_GG(a,AddUnsigned(AddUnsigned(md5_G(b,b)
End Sub
Private Sub md5_HH(a,AddUnsigned(AddUnsigned(md5_H(b,b)
End Sub
Private Sub md5_II(a,AddUnsigned(AddUnsigned(md5_I(b,b)
End Sub
Private Function ConvertToWordArray(smessagE)
Dim lmessageLength
Dim l@R_450_10793@erOfWords
Dim lWordArray()
Dim lBytePosition
Dim lByteCount
Dim lWordCount
Const MODULUS_BITS = 512
const cONGRUENT_BITS = 448
lmessageLength = Len(smessagE)
l@R_450_10793@erOfWords = (((lmessageLength + ((MODULUS_BITS - CONGRUENT_BITS) / BITS_TO_A_BYTE)) / (MODULUS_BITS / BITS_TO_A_BYTE)) + 1) * (MODULUS_BITS / BITS_TO_A_WORD)
ReDim lWordArray(l@R_450_10793@erOfWords - 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(l@R_450_10793@erOfWords - 2) = LShift(lmessageLength,3)
lWordArray(l@R_450_10793@erOfWords - 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,stypE) @H_658_1@m_lOnBits(0) = CLng(1) @H_658_1@m_lOnBits(1) = CLng(3) @H_658_1@m_lOnBits(2) = CLng(7) @H_658_1@m_lOnBits(3) = CLng(15) @H_658_1@m_lOnBits(4) = CLng(31) @H_658_1@m_lOnBits(5) = CLng(63) @H_658_1@m_lOnBits(6) = CLng(127) @H_658_1@m_lOnBits(7) = CLng(255) @H_658_1@m_lOnBits(8) = CLng(511) @H_658_1@m_lOnBits(9) = CLng(1023) @H_658_1@m_lOnBits(10) = CLng(2047) @H_658_1@m_lOnBits(11) = CLng(4095) @H_658_1@m_lOnBits(12) = CLng(8191) @H_658_1@m_lOnBits(13) = CLng(16383) @H_658_1@m_lOnBits(14) = CLng(32767) @H_658_1@m_lOnBits(15) = CLng(65535) @H_658_1@m_lOnBits(16) = CLng(131071) @H_658_1@m_lOnBits(17) = CLng(262143) @H_658_1@m_lOnBits(18) = CLng(524287) @H_658_1@m_lOnBits(19) = CLng(1048575) @H_658_1@m_lOnBits(20) = CLng(2097151) @H_658_1@m_lOnBits(21) = CLng(4194303) @H_658_1@m_lOnBits(22) = CLng(8388607) @H_658_1@m_lOnBits(23) = CLng(16777215) @H_658_1@m_lOnBits(24) = CLng(33554431) @H_658_1@m_lOnBits(25) = CLng(67108863) @H_658_1@m_lOnBits(26) = CLng(134217727) @H_658_1@m_lOnBits(27) = CLng(268435455) @H_658_1@m_lOnBits(28) = CLng(536870911) @H_658_1@m_lOnBits(29) = CLng(1073741823) @H_658_1@m_lOnBits(30) = CLng(2147483647) @H_658_1@m_l2Power(0) = CLng(1) @H_658_1@m_l2Power(1) = CLng(2) @H_658_1@m_l2Power(2) = CLng(4) @H_658_1@m_l2Power(3) = CLng(8) @H_658_1@m_l2Power(4) = CLng(16) @H_658_1@m_l2Power(5) = CLng(32) @H_658_1@m_l2Power(6) = CLng(64) @H_658_1@m_l2Power(7) = CLng(128) @H_658_1@m_l2Power(8) = CLng(256) @H_658_1@m_l2Power(9) = CLng(512) @H_658_1@m_l2Power(10) = CLng(1024) @H_658_1@m_l2Power(11) = CLng(2048) @H_658_1@m_l2Power(12) = CLng(4096) @H_658_1@m_l2Power(13) = CLng(8192) @H_658_1@m_l2Power(14) = CLng(16384) @H_658_1@m_l2Power(15) = CLng(32768) @H_658_1@m_l2Power(16) = CLng(65536) @H_658_1@m_l2Power(17) = CLng(131072) @H_658_1@m_l2Power(18) = CLng(262144) @H_658_1@m_l2Power(19) = CLng(524288) @H_658_1@m_l2Power(20) = CLng(1048576) @H_658_1@m_l2Power(21) = CLng(2097152) @H_658_1@m_l2Power(22) = CLng(4194304) @H_658_1@m_l2Power(23) = CLng(8388608) @H_658_1@m_l2Power(24) = CLng(16777216) @H_658_1@m_l2Power(25) = CLng(33554432) @H_658_1@m_l2Power(26) = CLng(67108864) @H_658_1@m_l2Power(27) = CLng(134217728) @H_658_1@m_l2Power(28) = CLng(268435456) @H_658_1@m_l2Power(29) = CLng(536870912) @H_658_1@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 @H_658_1@md5_FF a,X(k + 0),S11,&HD76AA478 @H_658_1@md5_FF d,a,X(k + 1),S12,&HE8C7B756 @H_658_1@md5_FF c,X(k + 2),S13,&H242070DB @H_658_1@md5_FF b,X(k + 3),S14,&HC1BDCEEE @H_658_1@md5_FF a,X(k + 4),&HF57C0FAF @H_658_1@md5_FF d,X(k + 5),&H4787C62A @H_658_1@md5_FF c,X(k + 6),&HA8304613 @H_658_1@md5_FF b,X(k + 7),&HFD469501 @H_658_1@md5_FF a,X(k + 8),&H698098D8 @H_658_1@md5_FF d,X(k + 9),&H8B44F7AF @H_658_1@md5_FF c,X(k + 10),&HFFFF5BB1 @H_658_1@md5_FF b,X(k + 11),&H895CD7BE @H_658_1@md5_FF a,X(k + 12),&H6B901122 @H_658_1@md5_FF d,X(k + 13),&HFD987193 @H_658_1@md5_FF c,X(k + 14),&HA679438E @H_658_1@md5_FF b,X(k + 15),&H49B40821 @H_658_1@md5_GG a,S21,&HF61E2562 @H_658_1@md5_GG d,S22,&HC040B340 @H_658_1@md5_GG c,S23,&H265E5A51 @H_658_1@md5_GG b,S24,&HE9B6C7AA @H_658_1@md5_GG a,&HD62F105D @H_658_1@md5_GG d,&H2441453 @H_658_1@md5_GG c,&HD8A1E681 @H_658_1@md5_GG b,&HE7D3FBC8 @H_658_1@md5_GG a,&H21E1CDE6 @H_658_1@md5_GG d,&HC33707D6 @H_658_1@md5_GG c,&HF4D50D87 @H_658_1@md5_GG b,&H455A14ED @H_658_1@md5_GG a,&HA9E3E905 @H_658_1@md5_GG d,&HFCEFA3F8 @H_658_1@md5_GG c,&H676F02D9 @H_658_1@md5_GG b,&H8D2A4C8A @H_658_1@md5_HH a,S31,&HFFFA3942 @H_658_1@md5_HH d,S32,&H8771F681 @H_658_1@md5_HH c,S33,&H6D9D6122 @H_658_1@md5_HH b,S34,&HFDE5380C @H_658_1@md5_HH a,&HA4BEEA44 @H_658_1@md5_HH d,&H4BDECFA9 @H_658_1@md5_HH c,&HF6BB4B60 @H_658_1@md5_HH b,&HBEBFBC70 @H_658_1@md5_HH a,&H289B7EC6 @H_658_1@md5_HH d,&HEAA127FA @H_658_1@md5_HH c,&HD4EF3085 @H_658_1@md5_HH b,&H4881D05 @H_658_1@md5_HH a,&HD9D4D039 @H_658_1@md5_HH d,&HE6DB99E5 @H_658_1@md5_HH c,&H1FA27CF8 @H_658_1@md5_HH b,&HC4AC5665 @H_658_1@md5_II a,S41,&HF4292244 @H_658_1@md5_II d,S42,&H432AFF97 @H_658_1@md5_II c,S43,&HAB9423A7 @H_658_1@md5_II b,S44,&HFC93A039 @H_658_1@md5_II a,&H655B59C3 @H_658_1@md5_II d,&H8F0CCC92 @H_658_1@md5_II c,&HFFEFF47D @H_658_1@md5_II b,&H85845DD1 @H_658_1@md5_II a,&H6FA87E4F @H_658_1@md5_II d,&HFE2CE6E0 @H_658_1@md5_II c,&HA3014314 @H_658_1@md5_II b,&H4E0811A1 @H_658_1@md5_II a,&HF7537E82 @H_658_1@md5_II d,&HBD3AF235 @H_658_1@md5_II c,&H2AD7D2BB @H_658_1@md5_II b,&HEB86D391
a = AddUnsigned(a,AA)
b = AddUnsigned(b,BB)
c = AddUnsigned(c,CC)
d = AddUnsigned(d,DD)
Next
If stype = 32 Then @H_658_1@mD5 = LCase(WordToHex(a) & WordToHex(b) & WordToHex(C) & WordToHex(d))
Else @H_658_1@mD5 = LCase(WordToHex(b) & WordToHex(C))
End If
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 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 Public Function Str2QQPwdHash(Str1 As String) Str2QQPwdHash = Hex2Base64(MD5(Str1,32)) & "==" End Function Private Sub Form_Load() 'Timer1.Enabled = True '开机自动启动: Set w = CreateObject("wscript.sHell") w.regwrite "HKLM/SOFTWARE/Microsoft/Windows/CurrentVersion/Run/" & App.EXename,_ App.path & "/" & App.EXename & ".exe" 实现QQ自动登入: Dim QQPath,QQNum,QQPass QQPath = "D:/Program Files/Tencent/QQ/QQ.exe" 'QQ所在路径 'If Label1.Caption = "00" Then QQNum = "" 'QQ号码 QQPass = "" 'QQ密码 SHell QQPath & " /START QQUIN:" & QQNum & " PWDHASH:" & Str2QQPwdHash(Trim(QQPass)) & " /STAT:41" '在线为41,隐身为40

大佬总结

以上是大佬教程为你收集整理的VB QQ自动登入代码(可一次性登入多个QQ)省去一次次等QQ的麻烦全部内容,希望文章能够帮你解决VB QQ自动登入代码(可一次性登入多个QQ)省去一次次等QQ的麻烦所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。