<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>。
<palign=center><a href=http://www.vevb.com/style=color:#f90; title=blog.21softs.com>返回武林網</a></p>
</div>
</正文></html>