⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 微软javascript脚本的加密与解密.htm

📁 === === === === JavaScript经典源代码收集
💻 HTM
字号:
<html><body><h4>微软JavaScript脚本的加密与解密</h4><h5>neweroica  2003-4-11</h5>原始HTML代码:<br><textarea name=unesc rows=10 cols=60 onfocus="flag=0;"></textarea><br><input type=button value=复制 onclick="unesc.select();document.execCommand('Copy');"><p></p>加密HTML代码: 加密次数<select id=MV><option value=1 selected>1</option><option value=2>2</option><option value=3>3</option><option value=4>4</option><option value=5>5</option></select><br><textarea name=esc rows=10 cols=60></textarea><br><input type=button value=复制 onclick="esc.select();document.execCommand('Copy');"><input type=button value=加密 onclick="encode();"><p></p>解密HTML代码: 解密次数<select id=NV><option value=1 selected>1</option><option value=2>2</option><option value=3>3</option><option value=4>4</option><option value=5>5</option></select><br><textarea name=unesc2 rows=10 cols=60></textarea><br><input type=button value=复制 onclick="unesc2.select();document.execCommand('Copy');"><input type=button value=解密 onclick="decode();"><script language=JScript.Encode>function screncode(s,l){  enc=new ActiveXObject("Scripting.Encoder");  return enc.EncodeScriptFile("."+l,s,0,l+"cript");}document.write('<input type=hidden id=srcencTxt>');function msen(s,n){  var s0='<'+'script language=JScript.Encode'+'>';  var s1='<'+'/script'+'>';  srcencTxt.value=screncode(s,'JS');  for(var i=0;i<n-1;i++){    srcencTxt.value=s0+srcencTxt.value+s1;    srcencTxt.value='document.write(unescape("'+escape(srcencTxt.value)+'"))';    srcencTxt.value=screncode(srcencTxt.value,'JS');  }  return s0+srcencTxt.value+s1;}function encode(){  esc.value=msen(unesc.value,parseInt(MV.value));}</script><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 unescapeIt(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 += unescapeIt(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        }function decode(){  var m=NV.value;  var s=esc.value;  while(1){    unesc2.value=strdec(s.substring(s.indexOf('>')+1,s.indexOf('</')));    s=unescape(unesc2.value.substring(unesc2.value.indexOf('("')+2,unesc2.value.indexOf('")')));    m--;    if(m<=0||s.indexOf('script')==-1){      break;    }  }  }        </script> </body></html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -