zoukankan
html css js c++ java
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>
查看全文
相关阅读:
三种等待时间的区别
多种测试的测试方法
测试面试题总结
自动化过程中定位不到元素时使用等待方法
账号登录测试,多表查询
TP商城添加购物车自动化测试
二十四个球
老鼠喝药
购物车测试点
前后端分页
原文地址:https://www.cnblogs.com/yeye518/p/2231737.html
最新文章
六级词汇-生理&医学
六级词汇-旅游
六级词汇-生活名词
六级词汇-工作可用
六级词汇-动词
六级词汇-人的特点
六级词汇-公共机构
六级词汇-工具金属
六级近义词
Javascript 推荐一个图形化展示库
热门文章
Dynamics CRM 2011 通过工作流发邮件时的权限问题
Dynamics CRM 2011 Web Service
Dynamics CRM 2011 WebResources
Dynamics CRM 2011 权限管理
Dynamics CRM 2011 FetchXml QueryExpression LINQ
Dynamics CRM custom plugin
Dynamics CRM early binding and late binding
Xml xpath samples
WP8 调用webservice 错误 The remote server returned an error: NotFound 解决
Windows10安装mysql的方法
Copyright © 2011-2022 走看看