VBScript.Encode解密代码 VBscript.Encode解密 <br/><br/><div align="center"><button>解密</button></div> </td> </tr></tbody></table><p> </p> <p><html><br/> <body><br/> <center><br/> <table cellPadding=3 bgcolor=#e7e7e7><br/> <tr><br/> <td bgcolor=#336699><div align=center><font color=#ffffff size=3><strong>VBscript.Encode解密</strong></font></div></td><br/> </tr><br/> <tr><br/> <td align=middle height=80><script language=JScript><br/> var STATE_COPY_INPUT = 100<br/> var STATE_READLEN = 101<br/> var STATE_DECODE = 102<br/> var STATE_UNESCAPE = 103<br/> var pick_encoding = new Array(<br/> 1, 2, 0, 1, 2, 0, 2, 0, 0, 2, 0, 2, 1, 0, 2, 0,<br/> 1, 0, 2, 0, 1, 1, 2, 0, 0, 2, 1, 0, 2, 0, 0, 2,<br/> 1, 1, 0, 2, 0, 2, 0, 1, 0, 1, 1, 2, 0, 1, 0, 2,<br/> 1, 0, 2, 0, 1, 1, 2, 0, 0, 1, 1, 2, 0, 1, 0, 2<br/> )<br/> var rawData = new Array(<br/> 0x64,0x37,0x69, 0x50,0x7E,0x2C, 0x22,0x5A,0x65, 0x4A,0x45,0x72,<br/> 0x61,0x3A,0x5B, 0x5E,0x79,0x66, 0x5D,0x59,0x75, 0x5B,0x27,0x4C,<br/> 0x42,0x76,0x45, 0x60,0x63,0x76, 0x23,0x62,0x2A, 0x65,0x4D,0x43,<br/> 0x5F,0x51,0x33, 0x7E,0x53,0x42, 0x4F,0x52,0x20, 0x52,0x20,0x63,<br/> 0x7A,0x26,0x4A, 0x21,0x54,0x5A, 0x46,0x71,0x38, 0x20,0x2B,0x79,<br/> 0x26,0x66,0x32, 0x63,0x2A,0x57, 0x2A,0x58,0x6C, 0x76,0x7F,0x2B,<br/> 0x47,0x7B,0x46, 0x25,0x30,0x52, 0x2C,0x31,0x4F, 0x29,0x6C,0x3D,<br/> 0x69,0x49,0x70, 0x3F,0x3F,0x3F, 0x27,0x78,0x7B, 0x3F,0x3F,0x3F,<br/> 0x67,0x5F,0x51, 0x3F,0x3F,0x3F, 0x62,0x29,0x7A, 0x41,0x24,0x7E,<br/> 0x5A,0x2F,0x3B, 0x66,0x39,0x47, 0x32,0x33,0x41, 0x73,0x6F,0x77,<br/> 0x4D,0x21,0x56, 0x43,0x75,0x5F, 0x71,0x28,0x26, 0x39,0x42,0x78,<br/> 0x7C,0x46,0x6E, 0x53,0x4A,0x64, 0x48,0x5C,0x74, 0x31,0x48,0x67,<br/> 0x72,0x36,0x7D, 0x6E,0x4B,0x68, 0x70,0x7D,0x35, 0x49,0x5D,0x22,<br/> 0x3F,0x6A,0x55, 0x4B,0x50,0x3A, 0x6A,0x69,0x60, 0x2E,0x23,0x6A,<br/> 0x7F,0x09,0x71, 0x28,0x70,0x6F, 0x35,0x65,0x49, 0x7D,0x74,0x5C,<br/> 0x24,0x2C,0x5D, 0x2D,0x77,0x27, 0x54,0x44,0x59, 0x37,0x3F,0x25,<br/> 0x7B,0x6D,0x7C, 0x3D,0x7C,0x23, 0x6C,0x43,0x6D, 0x34,0x38,0x28,<br/> 0x6D,0x5E,0x31, 0x4E,0x5B,0x39, 0x2B,0x6E,0x7F, 0x30,0x57,0x36,<br/> 0x6F,0x4C,0x54, 0x74,0x34,0x34, 0x6B,0x72,0x62, 0x4C,0x25,0x4E,<br/> 0x33,0x56,0x30, 0x56,0x73,0x5E, 0x3A,0x68,0x73, 0x78,0x55,0x09,<br/> 0x57,0x47,0x4B, 0x77,0x32,0x61, 0x3B,0x35,0x24, 0x44,0x2E,0x4D,<br/> 0x2F,0x64,0x6B, 0x59,0x4F,0x44, 0x45,0x3B,0x21, 0x5C,0x2D,0x37,<br/> 0x68,0x41,0x53, 0x36,0x61,0x58, 0x58,0x7A,0x48, 0x79,0x22,0x2E,<br/> 0x09,0x60,0x50, 0x75,0x6B,0x2D, 0x38,0x4E,0x29, 0x55,0x3D,0x3F<br/> )<br/> var transformed = new Array()<br/> for (var i=0; i<3; i++) transformed[i] = new Array()<br/> for (var i=31; i<=126; i++) for (var j=0; j<3; j++) transformed[j][rawData[(i-31) * 3 + j]] = (i==31) ? 9 : i<br/> <br/> var digits = new Array()<br/> for (var i=0; i<26; i++)<br/> {<br/> digits["A".charCodeAt(0)+i] = i<br/> digits["a".charCodeAt(0)+i] = i+26<br/> }<br/> for (var i=0; i<10; i++) digits["0".charCodeAt(0)+i] = i+52<br/> digits[0x2b] = 62<br/> digits[0x2f] = 63<br/> function unescape(char)<br/> {<br/> var escapes = "#&!*$"<br/> var escaped = "\r\n<>@"<br/> if (char.charCodeAt(0) > 126) return char<br/> if (escapes.indexOf(char) != -1) return escaped.substr(escapes.indexOf(char), 1)<br/> return "?"<br/> }<br/> <br/> function decodeBase64(string)<br/> {<br/> var val = 0<br/> val += (digits[string.substr(0,1).charCodeAt(0)] << 2)<br/> val += (digits[string.substr(1,1).charCodeAt(0)] >> 4)<br/> val += (digits[string.substr(1,1).charCodeAt(0)] & 0xf) << 12<br/> val += ((digits[string.substr(2,1).charCodeAt(0)] >> 2) << 8)<br/> val += ((digits[string.substr(2,1).charCodeAt(0)] & 0x3) << 22)<br/> val += (digits[string.substr(3,1).charCodeAt(0)] << 16)<br/> return val<br/> }<br/> function strdec(encodingString)<br/> {<br/> <br/> var marker = "#@~^"<br/> var stringIndex = 0<br/> var scriptIndex = -1<br/> var unEncodingIndex = 0<br/> var char = null<br/> var encodingLength = unEncodinglength = 0<br/> var state = STATE_COPY_INPUT<br/> var unEncodingString = ""<br/> var re, arr<br/> <br/> while(state)<br/> {<br/> switch (state)<br/> {<br/> case (STATE_COPY_INPUT) :<br/> scriptIndex = encodingString.indexOf(marker, stringIndex)<br/> if (scriptIndex != -1)<br/> {<br/> unEncodingString += encodingString.substring(stringIndex, scriptIndex)<br/> scriptIndex += marker.length<br/> state = STATE_READLEN<br/> }<br/> else<br/> {<br/> stringIndex = stringIndex==0 ? 0 : stringIndex<br/> unEncodingString += encodingString.substr(stringIndex, encodingString.length)<br/> state = 0<br/> }<br/> break<br/> <br/> case (STATE_READLEN) :<br/> encodingLength = encodingString.substr(scriptIndex, 6)<br/> unEncodinglength = decodeBase64(encodingLength)<br/> scriptIndex += (6 + "==".length)<br/> state = STATE_DECODE<br/> break<br/> <br/> case (STATE_DECODE) :<br/> if (!unEncodinglength)<br/> {<br/> stringIndex = scriptIndex + "<a href="mailto:DQgAAA==^#~@">DQgAAA==^#~@".length</a><br/> unEncodingIndex = 0<br/> state = STATE_COPY_INPUT<br/> break<br/> }<br/> char = encodingString.substr(scriptIndex, 1)<br/> if (char == "@") state = STATE_UNESCAPE<br/> else<br/> {<br/> if (char.charCodeAt(0) < 0xFF)<br/> {<br/> unEncodingString += String.fromCharCode(transformed[pick_encoding[unEncodingIndex%64]][char.charCodeAt(0)])<br/> unEncodingIndex++<br/> }<br/> else<br/> {<br/> unEncodingString += char<br/> } <br/> scriptIndex++<br/> unEncodinglength--<br/> break<br/> }<br/> <br/> case STATE_UNESCAPE:<br/> unEncodingString += unescape(encodingString.substr(++scriptIndex, 1))<br/> scriptIndex++; unEncodinglength -=2<br/> unEncodingIndex++<br/> state = STATE_DECODE<br/> break<br/> }<br/> }<br/> <br/> re = new RegExp("(JScript|VBscript).encode", "gmi")<br/> while(arr = re.exec(unEncodingString)) unEncodingString = RegExp.leftContext + RegExp.$1 + RegExp.rightContext<br/> return unEncodingString<br/> }<br/> <br/> </script><br/> <textarea id=encodeHTML rows=20 cols=80></textarea><br/> <br><br/> <br><br/> <div align=center><br/> <button onclick=encodeHTML.innerText=strdec(encodeHTML.innerText)>解密 </button><br/> </div></td><br/> </tr><br/> </table><br/> </td><br/> </tr><br/> </table><br/> </td><br/> </tr><br/> </table><br/> </body><br/> </html></p> <p> </p> <p> </p> <p> </p> </center>