亚洲免费乱码视频,日韩 欧美 国产 动漫 一区,97在线观看免费视频播国产,中文字幕亚洲图片

      1. <legend id="ppnor"></legend>

      2. 
        
        <sup id="ppnor"><input id="ppnor"></input></sup>
        <s id="ppnor"></s>

        vbscript.encode解密函數(shù)

        字號:


            這里提供了vbscript的加密vbscript encode后 的解密函數(shù),通過javascript實現(xiàn):
            在線解密:vbscript.encode 解密函數(shù)
            <SCRIPT language=JScript>
            var STATE_COPY_INPUT = 100
            var STATE_READLEN = 101
            var STATE_DECODE = 102
            var STATE_UNESCAPE = 103
            var pick_encoding = new Array(
            1, 2, 0, 1, 2, 0, 2, 0, 0, 2, 0, 2, 1, 0, 2, 0,
            1, 0, 2, 0, 1, 1, 2, 0, 0, 2, 1, 0, 2, 0, 0, 2,
            1, 1, 0, 2, 0, 2, 0, 1, 0, 1, 1, 2, 0, 1, 0, 2,
            1, 0, 2, 0, 1, 1, 2, 0, 0, 1, 1, 2, 0, 1, 0, 2
            )
            var rawData = new Array(
            0x64,0x37,0x69, 0x50,0x7E,0x2C, 0x22,0x5A,0x65, 0x4A,0x45,0x72,
            0x61,0x3A,0x5B, 0x5E,0x79,0x66, 0x5D,0x59,0x75, 0x5B,0x27,0x4C,
            0x42,0x76,0x45, 0x60,0x63,0x76, 0x23,0x62,0x2A, 0x65,0x4D,0x43,
            0x5F,0x51,0x33, 0x7E,0x53,0x42, 0x4F,0x52,0x20, 0x52,0x20,0x63,
            0x7A,0x26,0x4A, 0x21,0x54,0x5A, 0x46,0x71,0x38, 0x20,0x2B,0x79,
            0x26,0x66,0x32, 0x63,0x2A,0x57, 0x2A,0x58,0x6C, 0x76,0x7F,0x2B,
            0x47,0x7B,0x46, 0x25,0x30,0x52, 0x2C,0x31,0x4F, 0x29,0x6C,0x3D,
            0x69,0x49,0x70, 0x3F,0x3F,0x3F, 0x27,0x78,0x7B, 0x3F,0x3F,0x3F,
            0x67,0x5F,0x51, 0x3F,0x3F,0x3F, 0x62,0x29,0x7A, 0x41,0x24,0x7E,
            0x5A,0x2F,0x3B, 0x66,0x39,0x47, 0x32,0x33,0x41, 0x73,0x6F,0x77,
            0x4D,0x21,0x56, 0x43,0x75,0x5F, 0x71,0x28,0x26, 0x39,0x42,0x78,
            0x7C,0x46,0x6E, 0x53,0x4A,0x64, 0x48,0x5C,0x74, 0x31,0x48,0x67,
            0x72,0x36,0x7D, 0x6E,0x4B,0x68, 0x70,0x7D,0x35, 0x49,0x5D,0x22,
            0x3F,0x6A,0x55, 0x4B,0x50,0x3A, 0x6A,0x69,0x60, 0x2E,0x23,0x6A,
            0x7F,0x09,0x71, 0x28,0x70,0x6F, 0x35,0x65,0x49, 0x7D,0x74,0x5C,
            0x24,0x2C,0x5D, 0x2D,0x77,0x27, 0x54,0x44,0x59, 0x37,0x3F,0x25,
            0x7B,0x6D,0x7C, 0x3D,0x7C,0x23, 0x6C,0x43,0x6D, 0x34,0x38,0x28,
            0x6D,0x5E,0x31, 0x4E,0x5B,0x39, 0x2B,0x6E,0x7F, 0x30,0x57,0x36,
            0x6F,0x4C,0x54, 0x74,0x34,0x34, 0x6B,0x72,0x62, 0x4C,0x25,0x4E,
            0x33,0x56,0x30, 0x56,0x73,0x5E, 0x3A,0x68,0x73, 0x78,0x55,0x09,
            0x57,0x47,0x4B, 0x77,0x32,0x61, 0x3B,0x35,0x24, 0x44,0x2E,0x4D,
            0x2F,0x64,0x6B, 0x59,0x4F,0x44, 0x45,0x3B,0x21, 0x5C,0x2D,0x37,
            0x68,0x41,0x53, 0x36,0x61,0x58, 0x58,0x7A,0x48, 0x79,0x22,0x2E,
            0x09,0x60,0x50, 0x75,0x6B,0x2D, 0x38,0x4E,0x29, 0x55,0x3D,0x3F
            )
            var transformed = new Array()
            for (var i=0; i<3; i++) transformed[i] = new Array()
            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
            var digits = new Array()
            for (var i=0; i<26; i++)
            {
            digits["A".charCodeAt(0)+i] = i
            digits["a".charCodeAt(0)+i] = i+26
            }
            for (var i=0; i<10; i++) digits["0".charCodeAt(0)+i] = i+52
            digits[0x2b] = 62
            digits[0x2f] = 63
            function unescape(char)
            {
            var escapes = "#&!*$"
            var escaped = "\r\n<>@"
            if (char.charCodeAt(0) > 126) return char
            if (escapes.indexOf(char) != -1) return escaped.substr(escapes.indexOf(char), 1)
            return "?"
            }
            function decodeBase64(string)
            {
            var val = 0
            val += (digits[string.substr(0,1).charCodeAt(0)] << 2)
            val += (digits[string.substr(1,1).charCodeAt(0)] >> 4)
            val += (digits[string.substr(1,1).charCodeAt(0)] & 0xf) << 12
            val += ((digits[string.substr(2,1).charCodeAt(0)] >> 2) << 8)
            val += ((digits[string.substr(2,1).charCodeAt(0)] & 0x3) << 22)
            val += (digits[string.substr(3,1).charCodeAt(0)] << 16)
            return val
            }
            function strdec(encodingString)
            {
            var marker = "#@~^"
            var stringIndex = 0
            var scriptIndex = -1
            var unEncodingIndex = 0
            var char = null
            var encodingLength = unEncodinglength = 0
            var state = STATE_COPY_INPUT
            var unEncodingString = ""
            var re, arr
            while(state)
            {
            switch (state)
            {
            case (STATE_COPY_INPUT) :
            scriptIndex = encodingString.indexOf(marker, stringIndex)
            if (scriptIndex != -1)
            {
            unEncodingString += encodingString.substring(stringIndex, scriptIndex)
            scriptIndex += marker.length
            state = STATE_READLEN
            }
            else
            {
            stringIndex = stringIndex==0 ? 0 : stringIndex
            unEncodingString += encodingString.substr(stringIndex, encodingString.length)
            state = 0
            }
            break
            case (STATE_READLEN) :
            encodingLength = encodingString.substr(scriptIndex, 6)
            unEncodinglength = decodeBase64(encodingLength)
            scriptIndex += (6 + "==".length)
            state = STATE_DECODE
            break
            case (STATE_DECODE) :
            if (!unEncodinglength)
            {
            stringIndex = scriptIndex + "DQgAAA==^#~@".length
            unEncodingIndex = 0
            state = STATE_COPY_INPUT
            break
            }
            char = encodingString.substr(scriptIndex, 1)
            if (char == "@") state = STATE_UNESCAPE
            else
            {
            if (char.charCodeAt(0) < 0xFF)
            {
            unEncodingString += String.fromCharCode(transformed[pick_encoding[unEncodingIndex%64]][char.charCodeAt(0)])
            unEncodingIndex++
            }
            else
            {
            unEncodingString += char
            }
            scriptIndex++
            unEncodinglength--
            break
            }
            case STATE_UNESCAPE:
            unEncodingString += unescape(encodingString.substr(++scriptIndex, 1))
            scriptIndex++; unEncodinglength -=2
            unEncodingIndex++
            state = STATE_DECODE
            break
            }
            }
            re = new RegExp("(JScript|VBscript).encode", "gmi")
            while(arr = re.exec(unEncodingString)) unEncodingString = RegExp.leftContext + RegExp.$1 + RegExp.rightContext
            return unEncodingString
            }
            </SCRIPT>