首页  >  文章  >  web前端  >  求解开jscript.encode代码的asp函数_典型特效

求解开jscript.encode代码的asp函数_典型特效

WBOY
WBOY原创
2016-05-16 19:18:191009浏览

javascript函数已经有了,有没有Asp的函数???   
  或者有没有高手可以把下面的写成asp的   ,万分感谢~!! 

 

复制代码 代码如下:

 <script>     <BR>  <!--     <BR>  函数   toEncode(s,l)     <BR>  {enc=new   ActiveXObject("Scripting.Encoder");     <BR>  return   enc.EncodeScriptFile("." l,s,0,l "cript");     <BR>  } <br><br> <BR> var STATE_COPY_INPUT = 100 <BR> var STATE_READLEN = 101 <BR> var STATE_DECODE = 102 <BR> var STATE_UNESCAPE = 103 <br><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><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><br>  var   转换   =   新   数组()     <BR>  for   (var   i=0;   i<3;   i )   转换[i]   =   新   Array()     <BR>  for   (var   i=31;   i<=126;   i )   for   (var   j= 0 ;    j<3;    j )   转换[j][rawData[(i-31)   *   3       j]]   =   (i==31)   ?   9   :   i     <br><br>  var   数字   =   new   Array()     <BR>  for   (var   i=0;   i<26;   i )     <BR>  {     <BR>  数字["A".charCode在 (0) 我]   =   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>  数字[0x2b]   =   62     <BR>  数字[0x2f]   =   63     <br><br>  函数   unescape(char)     <BR>  {     <BR>  var   转义   =   “#&!* $"     <BR>  var   转义   =   “rn<>@”     <br><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>  函数   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>  返回val     <BR>  }     <br><br>  函数   tranEncode(encodingString)     <BR>  {     <br><br>  var   标记   =   "#@~^"     <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>  开关   (状态)     <BR>  {     <BR>  case   (STATE_COPY_INPUT)   :     <BR>  scriptIndex   =   encodingString.indexOf(marker,   stringIndex)     <BR>  如果   (scriptIndex   !=   - 1)     <BR>  {     <BR>  unEncodingString    =   encodingString.substring(stringIndex,   scriptIndex)     <BR>  scriptIndex    =   marker.length     <BR>  state   =   STATE_READLEN     <BR>  }    <BR>  其他     <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       “DQgAAA==^#~@”。长度     <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[uncodingIndexd]][char.char代码在(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   =   新   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>

asp不等于vbs,只是一个框架
你在script里加个runat="server"然后直接调用这个函数就可以了
...
<%
toEncode(xxx)
%>
声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn