Red de conocimiento informático - Conocimiento del nombre de dominio - Cómo usar VB para escribir el software de inicio de sesión QQ

Cómo usar VB para escribir el software de inicio de sesión QQ

'El siguiente contenido se guarda en el módulo Módulo.

bas

Const pública BITS_TO_A_BYTE = 8

Const pública BYTES_TO_A_WORD = 4

Const pública BITS_TO_A_WORD = 32

M_lOnBits públicos(30)

Pública m_l2Power(30)

Función pública LShift(lValue, iShiftBits)

Si iShiftBits = 0 entonces

LShift = lValue p>

Función de salida

ElseIf iShiftBits = 31 Entonces

Si lValue y 1 entonces

LShift = amp;H80000000

Else

Else

LShift = 0

Finalizar si

Salir de la función

ElseIf iShiftBits lt; 0 O iShiftBits gt; 31 Entonces

Err.Raise 6

Fin

If (lValue And m_l2Power(31 - iShiftBits)) Entonces

LShift = ((lValue y m_lOnBits(31 - (iShiftBits 1)))* m_l2Power(iShiftBits)) o H80000000

Else

LShift = ((lValue y m_lOnBits( 31 - iShiftBits)) * m_l2Power(iShiftBits))* m_l2Power(iShiftBits))

End If

Fin de función

Función pública RShift(lValue, iShiftBits)

Si iShiftBits = 0 entonces

RShift = lValue

Salir de la función

De lo contrario, si iShiftBits = 31 entonces

Si lValue y amp H80000000 entonces

RShift = 1

Else

RShift = 0

Finalizar si

Salir de la función

ElseIf iShiftBits lt; 0 o iShiftBits gt 31 Then

Err.Raise 6

Fin

RShift = (lValue Y amp; H7FFFFFFE) \ m_l2Power(iShiftBits)

Si (lValue Y amp; H80000000) Entonces

RShift = (RShift O (amp.H7FFFFFFE) \ m_l2Power(iShiftBits)

De lo contrario, si es ShiftB

es lt; 0 o iShiftBits gt; 31 Entonces

Err; H40000000 \ m_l2Power(iShiftBits - 1)))

Finalizar si

Finalizar función

Función pública RotateLeft(lValue, iShiftBits)

RotateLeft = LShift(lValue, iShiftBits) o RShift(lValue, (32 - iShiftBits))

Fin Función

Función pública AddUnsigned(lX, lY)

Dim lX4

Dim lY4

Dim lX8

Dim lY8

Dim lResult

lX8 = lX Y amp H80000000

lY8 = lY Y amp; lX Y amp; H40000000

lY4 = lY Y amp; H40000000

lResultado = (lX Y amp; H3FFFFFFF) (lY Y amp; H3FFFFFFF)

Si lX4 y lY4 entonces

lResultado = lResultado

lResultado = lResultado Xor & H40000000 Xor lX8 Xor lY8

De lo contrario

lResultado = lResultado /p>

Else

lResultado = lResultado Xor lX8 Xor lY8

Finalizar si

AddUnsigned = lResultado

Finalizar función

Función pública md5_F(x, y, z)

md5_F = (x e y) o ((no x) y z)

Función final

Función pública md5_G(x, y, z)

md5_G = (x y z) o (y y (no z))

Función final

Función pública md5_H(x, y, z)

md5_H = (x Xor y Xor z)

Función final

Función pública md5_I( x, y , z)

md5_I = (y Xor (x Or (Not z)))

Función final

Sub pública 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

Public 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

Sub público md5_HH(a, b, c, d, x, s, ac)

a = AddUnsigned(a, AddUnsigned(AddUnsigned(md5_H(b, c, d), x), ac))

a = AddUnsigned(a, AddUnsigned(md5_H(b , c, d), x), ac))

a = RotateLeft(a, s)

a = AddUnsigned(a, b)

Fin Sub

Sub público md5_II(a, b, c, d, x, s, ac)

a = AddUnsigned(a, AddUnsigned(AddUnsigned(md5_H(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

Función pública ConvertToWordArray(sMessage)

Dim lMessageLength

Dim lNumberOfWords

Dim lWordArray()

Dim lBytePosition

DimlByteCount

Dim lWordCount

Const MODULUS_BITS = 512

Const CONGRUENT_BITS = 448

lMessageLength = Len(sMessage)

lNumberOfWords = (((lMessageLength ((MODULUS_BITS - CONGRUENT_BITS )))))))

lNumberOfWords = (((lMessageLength ((MODULUS_BITS - CONGRUENT_BITS))))))))) Mismos bits) (bits_to_a_byte))\ (modulus_bits \ bits_to_a_byte)) 1) * (MODULUS_BITS \ BITS_TO_A_WORD)

p>

ReDim lWordArray(lNumberOfWords - 1)

lBytePosition = 0

lByteCount = 0

Hacer hasta lByteCount gt = lMessageLength

lWordCount = lByteCount \ BYTES_TO_A_WORD

lBytePosition = (lByteCount Mod BYTES_TO_A_WORD) * BITS_TO_A_BYTE

lWordArray(lWordCount) = lWordArray(lWordCount) O LShift(Asc(Mid(sMessage, lByteCount 1, 1)), lBytePosition)

lByteCount = lByteCount 1

Bucle

lWordCount = lByteCount \ BYTES_TO_A_WORD

lBytePosition= (lByteCount Mod BYTES_TO_A_WORD) * BITS_TO_A_ BYTE

lWordArray(lWordCount) = lWordArray(lWordCount) o LShift(amp;H80, lBytePosition)

lWordArray(lNumberOfWords - 2) = LShift (lMessageLength, 3 )

lWordArray(lNumberOfWords - 1) = RShift(lMessageLength, 29)

ConvertToWordArray = lWordArray

Función final

Función pública WordToHex (lValue)

Dim lByte

Dim lCount

Para lCount = 0 a 3

lByte = RShift(lValue, lCount * BITS_BitTorrent_Length , lMessageLength, lMessageLength, lMessageLength, lMessageLength, lMessageLength, lMessageLength) lCount * BITS_TO_A_BYTE) y m_lOnBits(BITS_TO_A_BYTE - 1)

WordToHex = WordToHex & Right("0" & ​​​​Hex(lByte), 2)

Siguiente

Finalizar función

Función pública 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_l2Potencia(3) = CLng(8)

m_ l2Potencia(4) = CLng(16)

m_l2Potencia(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_l2Potencia(15) = CLng(32768)

m_l2Potencia(16) = CLng(6

5536)

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)

p>

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)

Dimx

Dim k

Atenuar AA

Atenuar BB

Atenuar CC

Atenuar DD

Atenuar a

Atenuar b

Atenuar c

Atenuar d

Const S11 = 7

Const S12 = 12

Const S13 = 17

p>

Const S14 = 22

Const S21 = 5

Const S22 = 9

Const S23 = 14

Const S24 = 20

Const S31 = 4

Const S32 = 11

ConstS33 = 16

Const S34 = 23

Const S41 = 6

Const S42 = 10

Const S43 = 15

Const S44 = 21

x = ConvertToWordArray (sMessage)

a = amp;H67452301

b = amp;HEFCDAB89

c = amp;H98BADCFE

d = amp H10325476

Para k = 0 a UBound(x) Paso 16

AA = a

BB = b

CC = c

DD = d

md5_FF a, b, c, d, x(k 0), S11, amplificador HD76AA478

md5_FF d, a, b, c FF c, d, a, b, x(k 2), S13, amplificador H242070DB

md5_FF c, d, a, b, x(k 2), amplificador H242070DB

md5_FF b, c, d, a, x (k 3), S14, amplificador;

;HC1BDCEEE

md5_ FF a, b, c, d, x (k 4), S11, amplificador HF57C0FAF

md5_FF d, a, b, c, x (k 5 ), S12, amplificador H4787C62A

md5_FF c, d, a, b, x(k 6), S13, amplificador HA8304613

md5_FF b, c, d, a, x(k 7), S14, amplificador HFD469501

md5_FF a, b, c, d, x (k 8), S11, amplificador; b, c, x (k 9), S12, amperio.H8B44F7AF

md5_FF c, d, a, b, x (k 10), S13, amperio HFFFF5BB1

md5_FF b, c, d, a, x (k 11), S14, amperio H895CD7BE

md5_FF a, b, c, d, x (k 12), S11, amperio;

md5_FF d, a, b, c, x (k 13), S12, amplificador HFD987193

md5_FF c, d, a, b, x (k 14), S13, amplificador;

md5_FF b, c, d, a, x (k 15), S14, amplificador H49B40821

md5_GG a, b, c, d, x (k 1), S21 , amplificador HF61E2562

md5_GG d, a, b, c, x (k 6), S22, amplificador HC040B340

md5_GG c, d, a, b, x (k) 11), S23, amp; H265E5A51

md5_GG b, c, d, a, x (k 0), S24, amp; HE9B6C7AA

md5_GG a, b, c, d , x(k 5), S21, amperio HD62F105D

md5_GG d, a, b, c, x (k 10), S22, amperio H2441453

md5_GG c, d. , a, b, x (k 15), S23, amplificador HD8A1E681

md5_GG b, c, d, a, x (k 4), S24, amplificador; md5_GG a, b, c, d, x (k 9), S21, amperio H21E1CDE6

md5_GG d, a, b, c, x (k 14), S22, amperio HC33707D6

md5_GG c, d, a, b, x(k 3), S22, amplificador HC33707D6

md5_GG c, d, a, b, x(k 3) b, x(k; 3), S23, amplificador HF4D50D87

md5_GG b, c, d, a, x (k 8), S24, amplificador H455A14ED

md5_GG a, b, c, d; , x (k 13), S21, amp; HA9E3E905

md5 _GG d, a, b, c, x (k 2), S22, amp; d, a, b, x (k 7), S23, amperio H676F02D9

m

d5_GG d, a, b, x (k 2), S22, amperio HFCEFA3F8H676F02D9

md5_GG b, c, d, a, x (k 12), S24, amperio; /p>

md5_HH a, b, c, d, x (k 5), S31, amp HFFFA3942

md5_HH d, a, b, c, x (k 8), S32, amplificador H8771F681

md5_HH c, d, a, b, x (k 11), S33, amplificador.H6D9D6122

md5_HH b, c, d, a, x (k 14) ), S34, amplificador HFDE5380C

md5_HH a, b, c, d, x (k 1), S31, amplificador HF6BB4B60

md5_HH b, c, d, a, x(k 10), S34, amplificador HBEBFBC70

md5_HH a, b, c, d, x(k 13) d, x(k 13), S31, amp; p>md5_HH d, a, b, c, x (k 0), S32, amplificador HEAA127FA

md5_HH c, d, a, b, x (k 3), S33, amplificador; /p>

md5 _HH b, c, d, a, x (k 6), S34, amplificador H4881D05

md5_HH a, b, c, d, x (k 9), S31; , amplificador HD9D4D039

md5_HH d, a, b, c, x (k 12), S32, amplificador; 15), S33 y H1FA27CF8

md5_HH b, c, d, a, x (k 2), S34 y HC4AC5665

md5_II a, b, c, d , x (k 0), S41, amp.HF4292244

md5_II d, a, b, c, x (k 7), S42, amp. H432AFF97

md5_II c, d , a, b, x (k 14), S43, amperio H655B59C3

md5_II d, a, b, c, x (k 3), S42, amperio; md5_II c, d, a, b, x(k 10), S42, amp H8F0CCC92

md5_II c, d, a, b, x(k 10) b, x(k 10), S43 , amperio H6FA87E4F

md5_II d, a, b, c, x (k 15), S42, amperio HFE2CE6E0

md5_II c, d, a, b, x (k; 6), S43, amp; HA3014314

md5_II b, c, d, a, x (k 13), S44, amp; H4E0811A1

md5_II a, b, c, d , x (k 4), S41, amperio HF7537E82

md5_II d, a, b, c, x (k 11), S42, amperio HBD3AF235

md5_II c, d , a, b, x (k 2), S43, amp.H2AD7D2BB

md5_II

b, c, d, a, x(k 9), S44, amplificador HEB86D391

a = AddUnsigned(a, AA)

b = AddUnsigned(b, BB)

c = AgregarSin firmar(c, CC)

d = AgregarSin firmar(d, DD)

Siguiente

MD5 = LCase(WordToHex( a) amp; WordToHex(b) amp; WordToHex(c) amp; WordToHex(d))

' MD5=LCase(WordToHex(b) amp; WordToHex(c)) 'Lo hice Recortado a ajuste la contraseña de la base de datos de 16 bytes: D

Función final

Clase de codificación 'BASE64:

Función pública BASE64(HexCode)

Dim i, n

Dim TmpStr, TmpStr1, TmpStr2, TmpStr3, HexString

Para i = 0 a Len(HexCode) Paso 12

HexString = Mid(HexCode , i 1, 12)

TmpStr1 = "":TmpStr2 = "":TmpStr3 = ""

Para n = 1 a 12 Paso 1

TmpStr1 = TmpStr1 amp Hex2Bin(Mid(HexString, n, 1))

Siguiente

Para n = 1 a 43 Paso 6

TmpStr2 = TmpStr2 amp; "00" amp; Mid(TmpStr1, n, 6)

Siguiente

Para n = 1 a 49 Paso 16

TmpStr3 = TmpStr3 amp;SplitBin( Mid(TmpStr2, n, 16))

Siguiente

Para n = 1 a 15 Paso 2

TmpStr = TmpStr amp;HexBase64( Mid(TmpStr3, n, 2))

Siguiente paso

Siguiente paso

BASE64 = TmpStr

Finalizar función

' Conversión binaria

Función pública Hex2Bin(HexStr)

Seleccione caso UCase(HexStr)

Caso "0": Hex2Bin = "0000"

Caso "1": Hex2Bin = "0001"

Caso "2": Hex2Bin = "0010"

Caso "3".

Hex2Bin = "0011"

Caso "4": Hex2Bin = "0100"

Caso "5": Hex2Bin = "0101"

Caso "6" :Hex2Bin = "0110"

Caso "7":Hex2Bin = "0111"

Caso "8":Hex2Bin = "1000"

Caso "9 ": Hex2Bin = "1001"

Caso "A": Hex2Bin = "1010"

Caso "B": Hex2Bin="1011"

Caso " C": Hex2Bin="1100"

Caso "D": Hex2Bin = "1101"

Caso "E": Hex2Bin = "1110"

Caso "F": Hex2Bin = "1111"

Finalizar selección

Finalizar función

Función pública SplitBin(BinCode)

Atenuar i

Para i = 1 a 13 Paso 4

SplitBin = SplitBin amp; Bin2Hex(Mid(BinCode, i, 4)

SplitBin = SplitBin amp; Bin2Hex( Mid(BinCode, i,) 4))

Siguiente

Función final

Función pública Bin2Hex(BinCode)

Seleccionar caso UCase (BinCode)

Caso "0000": Bin2Hex = "0"<

Caso "0001": Bin2Hex = "1"

Caso "0010": Bin2Hex = "2"

Caso "0011":Bin2Hex = "3"

Caso "0100": Bin2Hex = "4"

Caso "0101" :Bin2Hex = "5"

Caso "0110" :Bin2Hex = "6"

Caso "0111" :Bin2Hex = "7"

Caso "1000 ": Bin2Hex = "8"

Caso "1001": Bin2Hex = "9"

Caso "1010": Bin2Hex = "A"

Caso " 1011": Bin2Hex = "B"

Caso "1100": Bin2Hex = "C"

Caso "1101": Bin2Hex = "D"

Caso "1110": Bin2Hex = "E"

Caso "1111": Bin2Hex = "F"

Finalizar selección

Finalizar función

Función pública HexBase64(HexString)

Seleccionar caso HexString

Caso "00":HexBase64 = "A"

Caso "0

1": HexBase64 = "B"

Caso "02": HexBase64 = "C"

Caso "03".

HexBase64 = "D"

Caso "04": HexBase64 = "E"

Caso "05": HexBase64 = "F"

Caso "06" :HexBase64 = "G"

Caso "07":HexBase64 = "H"<

Caso "08":HexBase64 = "I"

Caso " 09": HexBase64="J"

Caso "0A": HexBase64="K"

Caso "0B": HexBase64="L"

Caso "0C": HexBase64="M"

Caso "0D": HexBase64 = "N"

Caso "0E": HexBase64 = "O"

Caso "0F": HexBase64 = "P"

Caso "10": HexBase64="Q"

Mayúscula "11": HexBase64 = "R"

Caso "12": HexBase64 = "S"

Caso "13": HexBase64 = "T"

Caso "14": HexBase64 = "U"

Caso "15": HexBase64 = "V"

Caso "16": HexBase64 = "W"

Caso "17": HexBase64 = "X"

Caso "18": HexBase64 = "Y"

Caso "19": HexBase64 = "Z"

Caso "1A": HexBase64 = "a "

Caso "1B": HexBase64 = "b"

Caso "1C": HexBase64 = "c"

Caso "1D": HexBase64 = " d"

Caso " 1E": HexBase64 = "e"

Caso " 1F": HexBase64 = "f"

Caso "20": HexBase64 = "g"

Caso "21": HexBase64 = "h"

Caso "22": HexBase64 = "i"

Caso "23": HexBase64 = "j"

Caso "24": HexBase64 = "k"

Caso "25": HexBase64 = "l"

Caso "26": HexBase64 = "m "

Caso "27": HexBase64 = "n"

Caso "28": HexBase64 = "o"

Caso "29" :HexBase64 = " p"

Caso "2A" :HexBase64 = "q"

Caso "2B" :HexBase64 = "r"

Caso "2C ": HexBase64 = "s"

Caso "2D": HexBase64 = "t"

Caso "2E": HexBase64 = "u"

Caso " 2F":H

exBase64 = "v"

Caso "30": HexBase64 = "w"

Caso "31": HexBase64 = "x"

Caso "32" :HexBase64 = "y"

Caso "33" :HexBase64 = "z"

Caso "34".HexBase64 = "0"

Caso "35 ": HexBase64 = "1"

Caso "36": HexBase64 = "2"

Caso "37": HexBase64 = "3"

Caso " 38": HexBase64 = "4"<

Caso "39": HexBase64 = "5"

Caso "3A": HexBase64 = "6"

Caso "3B": HexBase64 = "7"

Caso "3C": HexBase64 = "8"

Caso "3D": HexBase64 = "9"

Caso "3E": HexBase64 = " "

Caso "3F": HexBase64 = "/"

Finalizar selección

Finalizar función

'Cree un nuevo formulario, agregue el comando1, complete el número de QQ y la contraseña de QQ en el siguiente código

Subcomando privado1_Click()

En caso de error, reanudar a continuación

Ruta atenuada

Establecer shell1 = CreateObject("WScript.RegRead("HKCR\QQ\shell\open\command\")

ruta = Mid(ruta, 2, InStrRev( ruta, ".")

Si ruta = "" Entonces

ruta = shell1 2)

Finalizar si

. Establecer Short = CreateObject("Scripting.filesystemObject")

Establecer F = Short.getfile(ruta)

ruta = F.ShortPath