<HTML><HEAD><TITLE>JScript.Encode在线解密</TITLE>
<META http-equiv=Content-Type content=text/html;字符集=gb2312>
<脚本语言=javascript>
<!--
函数 screncode(s,l)
{
enc=new ActiveXObject(Scripting.Encoder);
返回 enc.EncodeScriptFile(.+l,s,0,l+cript);
}
变量 STATE_COPY_INPUT = 100
变量 STATE_READLEN = 101
变量 STATE_DECODE = 102
变量 STATE_UNESCAPE = 103
var pick_encoding = 新数组(
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 = 新数组(
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 转换 = new Array()
for (var i=0; i<3; i++) 转换[i] = new Array()
for (var i=31; i<=126; i++) for (var j=0; j<3; j++) 转换[j][rawData[(i-31) * 3 + j]] = (i== 31)? 9:我
var 数字 = new Array()
for (var i=0; i<26; i++)
{
数字[A.charCodeAt(0)+i] = i
数字[a.charCodeAt(0)+i] = i+26
}
for (var i=0; i<10; i++) 数字[0.charCodeAt(0)+i] = i+52
数字[0x2b] = 62
数字[0x2f] = 63
函数 unescape(char)
{
var 转义 = #&!*$
var 转义 = /r/n<>@
if (char.charCodeAt(0) > 126) 返回 char
if (escapes.indexOf(char) != -1) return escaped.substr(escapes.indexOf(char), 1)
返回 ?
}
函数decodeBase64(字符串)
{
变量值 = 0
val += (数字[string.substr(0,1).charCodeAt(0)] << 2)
val += (digits[string.substr(1,1).charCodeAt(0)] >> 4)
val += (数字[string.substr(1,1).charCodeAt(0)] & 0xf) << 12
val += ((数字[string.substr(2,1).charCodeAt(0)] >> 2) << 8)
val += ((数字[string.substr(2,1).charCodeAt(0)] & 0x3) << 22)
val += (数字[string.substr(3,1).charCodeAt(0)] << 16)
返回值
}
函数 strdec(编码字符串)
{
var 标记 = #@~^
var 字符串索引 = 0
var 脚本索引 = -1
var unEncodingIndex = 0
var 字符=空
var 编码长度 = unEncodinglength = 0
var 状态 = STATE_COPY_INPUT
var unEncodingString =
var 重新, arr
同时(状态)
{
开关(状态)
{
情况(STATE_COPY_INPUT):
scriptIndex =encodingString.indexOf(标记, stringIndex)
if (脚本索引!= -1)
{
unEncodingString += encodingString.substring(stringIndex, scriptIndex)
scriptIndex += 标记.长度
状态=STATE_READLEN
}
别的
{
字符串索引=字符串索引==0? 0:字符串索引
unEncodingString +=encodingString.substr(stringIndex,encodingString.length)
状态 = 0
}
休息
情况(STATE_READLEN):
编码长度 = 编码字符串.substr(scriptIndex, 6)
unEncodinglength = 解码Base64(encodingLength)
脚本索引 += (6 + ==.length)
状态 = STATE_DECODE
休息
情况(STATE_DECODE):
if (!unEncodinglength)
{
stringIndex = scriptIndex + DQgAAA==^#[email protected]
未编码索引 = 0
状态 = STATE_COPY_INPUT
休息
}
char =encodingString.substr(scriptIndex, 1)
if (char == @) 状态 = STATE_UNESCAPE
别的
{
if (char.charCodeAt(0) < 0xFF)
{
unEncodingString += String.fromCharCode(转换[pick_encoding[unEncodingIndex%64]][char.charCodeAt(0)])
取消编码索引++
}
别的
{
unEncodingString += 字符
}
脚本索引++
unEncodinglength--
休息
}
案例 STATE_UNESCAPE:
unEncodingString += unescape(encodingString.substr(++scriptIndex, 1))
脚本索引++; unEncodinglength -=2
取消编码索引++
状态 = STATE_DECODE
休息
}
}
re = new RegExp((JScript|VBscript).encode, gmi)
while(arr = re.exec(unEncodingString)) unEncodingString = RegExp.leftContext + RegExp.$1 + RegExp.rightContext
返回未编码字符串
}
//-->
</脚本>
<body style=font-family: tahoma,verdana;font-size: 15px;color:#c0c0c0;背景颜色:#151515;文本对齐:中心;宽度:666px;边距:50px>
<div样式=颜色:#c0c0c0;背景颜色:#151515;文本对齐:左;宽度:700px;边距:自动>
<h1 样式=颜色:#ffa500; text-align:center>JScript.Encode 脚本在线解密</h1>
<b style=color:#f6f>用途</b>:
1. 解密中文信函(如果您想加密/解密中文信函,请查阅 <a href=uniendecode.htm style=color: #f90; target=_blank>文本Unicode码加密与解密</a>);
2.秘密数字信息;
3. BBS等上面发布英文、数字留言;
4.网页解密。
此类JScript.Encode解密,只解密英文、符号,对中文文字不解密。
使用本页面可以解密 javascript 函数,将脚本标记中的内容复制后进行解密(可多次解密),然后将标记修改为 <em><script language=javascript></em> 即可。
<b>使用方法</b>:
<font color=#ff66ff>解密</font>:源代码粘贴在下面的框内,<font color=#ff66ff>请在解密前先备份您的网页</font>
<font color=#ff66ff>解密方法</font>:将引号内的乱码贴入按解密即可
如果下面无法解密,是常见以下两种情况:
1. 是unescape码加密解密,请访问<a href=uniendecode.htm style=color: #f90; target=_blank>文本Unicode码加密与解密</a>);
2.多次加密,那么你就多几次解密直到可以读取状态,Unicode解密也有这种情况。
<中心>
<表格>
<textarea name=codeinput style=border-right:#696969 1px 实心;顶部边框:#696969 1px 实心;颜色:#c0c0c0;字体大小:14px;背景:#202020;左边框:#696969 1px 实心;宽度:590 像素;边框底部:#696969 1px 实心;高度:200px></textarea>
<!-- <inputtype=button onclick=this.form.codeinput.value=screncode(this.form.codeinput.value,'JS') value=解密> -->
<input type=button onclick=this.form.codeinput.value=strdec(this.form.codeinput.value) value=解密 Decode/>
<输入名称=重置id=重置类型=重置值=重置重置/>
</形式>
</中心>
<P ><b style=color:#f6f>说明</b>:解密时应只解密脚本部分,加密脚本标记为<em><script language=JScript.Encode></em> ,解密后脚本标记应改为:<em><script language=javascript></em></P>
<P><u><b style=color:#f6f>特别注意</b></u>:<b style=color:#f6f>本页面以及您解密后的jscript一般只可以在IE中运行</b>。此页为JScript.Encode解密及加密(暂只能用M$的编码器脚本编码器加密),但一般动态网页脚本加密后不能使用。</P>
<palign=center><a href=http://www.vevb.com/style=color:#f90; title=blog.21softs.com>返回武林网</a></p>
</div>
</正文></html>