国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

求解開jscript.encode代碼的asp函數(shù)

2019-11-21 02:15:16
字體:
供稿:網(wǎng)友
javascript函數(shù)已經(jīng)有了,有沒有Asp的函數(shù)???   
  或者有沒有高手可以把下面的寫成asp的   ,萬分感謝~!! 

 
復(fù)制代碼 代碼如下:

 <SCRIPT   LANGUAGE="JavaScript">    
  <!--    
  function   toEncode(s,l)    
  {enc=new   ActiveXObject("Scripting.Encoder");    
  return   enc.EncodeScriptFile("."+l,s,0,l+"cript");    
  }    

     
  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   unescape(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   tranEncode(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   +=   unescape(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    
  }    
  //-->    
  </SCRIPT>

asp 不等于 vbs, 只是個(gè)框架而已
這段代碼你在 script 里加個(gè) runat="server" 然后直接調(diào)用這個(gè)函數(shù)就可以了
<SCRIPT   LANGUAGE="JavaScript" runat="server">...
<%
toEncode(xxx)
%>
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 尼木县| 宜丰县| 凯里市| 盖州市| 黔南| 安康市| 中宁县| 郧西县| 墨江| 沁水县| 会同县| 新野县| 城固县| 安溪县| 溧阳市| 抚顺县| 东源县| 东丽区| 辉南县| 鄂伦春自治旗| 永年县| 任丘市| 三亚市| 磐安县| 调兵山市| 内乡县| 祁连县| 松溪县| 瑞金市| 镇平县| 东兰县| 九龙县| 平和县| 卢龙县| 都江堰市| 沅江市| 马公市| 正阳县| 龙江县| 延津县| 广东省|