解密ASP源代码

2023-12-07 0 762

从网上兴致冲冲地下载了ASP源代码,准备学习研究的时候.一打开文件,天书般的加密代码.很让人郁闷吧:(在网上是找到了解密的方法,得一个文件挨一个文件地打开,复制,粘贴,解密,再复制,再粘贴,再保存……如果一个ASP程序有几百个文件??? 解决办法来了..复制代码 代码如下:<%@Language=\”JavaScript\”%> <% /* *—————decode.asp—————– *功能:遍历某个目录下的所有文件,对加密过的.asp文件 *进行解密,并写入源文件中. *实例:单个文件解密 *Response.Write(DncodeFile(Server.MapPath(\”conn.asp\”))); *实例:目录下所有文件解密. *DncodeFolderFiles(Server.MapPath(\”xml\”)) *author:wanghr100(灰豆宝宝.net) *update:2004-5-1711:31 *—————decode.asp—————– */ functionDncodeFile(sFilePath) { /* *—————DncodeFile(sFilePath)—————– *DncodeFile(sFilePath) *功能:打开文件sFilePath,Encode解密,重写该文件. *参数:sFilePath,字符串,文件的路径. *返回:sFilePath,文件的路径. *实例:Response.Write(DncodeFile(Server.MapPath(\”conn.asp\”))); *author:wanghr100(灰豆宝宝.net) *update:2004-5-170:58 *—————DncodeFile(sFilePath)—————– */ varForReading=1,ForWriting=2,ForAppending=8; varfso=Server.CreateObject(\”Scripting.FileSystemObject\”); varf=fso.OpenTextFile(sFilePath,ForReading,true); sFileText=f.ReadAll(); f.Close(); sDncodeText=strdec(sFileText) varf=fso.OpenTextFile(sFilePath,ForWriting,true); f.Write(sDncodeText); f.Close(); //returnsDncodeText; returnsFilePath; } functionGetFilesPath(sFolderPath) { /* *—————GetFilesPath(sFolderPath)—————– *GetFilesPath(sFolderPath) *功能:遍历sFolderPath目录下的所有文件.返回数组.存储文件路径. *参数:sFolderPath,字符串,目录绝对路径. *实例:Response.Write(GetFilesPath(Server.MapPath(\”xml\”))) *update:2004-5-128:33 *author:wanghr100(灰豆宝宝.net) *—————GetFilesPath(sFolderPath)—————– */ varsFilePath=newArray(); varfso=Server.CreateObject(\”Scripting.FileSystemObject\”); varoFolder=fso.GetFolder(sFolderPath); varoSubFolders=oFolder.SubFolders; varoFiles=oFolder.Files; icount=oFiles.Count; varenmFiles=newEnumerator(oFiles); for(;!enmFiles.atEnd();enmFiles.moveNext()) { sFilePath[sFilePath.length]=enmFiles.item().Path } varenmFolders=newEnumerator(oSubFolders); for(;!enmFolders.atEnd();enmFolders.moveNext()) { /*Old数组成了多维.*/ //sFilePath[sFilePath.length]=GetFilesPath(enmFolders.item().Path); /*Add2004-5-1711:09只为一维数组*/ sFilePath=sFilePath.concat(GetFilesPath(enmFolders.item().Path)); } returnsFilePath; } functionGetFileType(sFileName) { /* *—————GetFileType(sFileName)—————– *GetFileType(sFileName) *功能:通过后缀,取得sFileName的文件类型. *参数:sFileName,字符串,文件名. *实例:Response.Write(GetFileType(\”decode.asp\”)) *update:2004-5-138:33 *author:wanghr100(灰豆宝宝.net) *—————GetFileType(sFileName)—————– */ sFileName=String(sFileName); returnsFileName.split(\”.\”)[sFileName.split(\”.\”).length-1]; } /*Start解密实现:李辉煌Start*/ functionscrencode(s,l) {enc=newActiveXObject(\”Scripting.Encoder\”); returnenc.EncodeScriptFile(\”.\”+l,s,0,l+\”cript\”); } varSTATE_COPY_INPUT=100 varSTATE_READLEN=101 varSTATE_DECODE=102 varSTATE_UNESCAPE=103 varpick_encoding=newArray( 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 ) varrawData=newArray( 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 ) vartransformed=newArray() for(vari=0;i<3;i++)transformed[i]=newArray() for(vari=31;i<=126;i++)for(varj=0;j<3;j++)transformed[j][rawData[(i-31)*3+j]]=(i==31)?9:i vardigits=newArray() for(vari=0;i<26;i++) { digits[\”A\”.charCodeAt(0)+i]=i digits[\”a\”.charCodeAt(0)+i]=i+26 } for(vari=0;i<10;i++)digits[\”0\”.charCodeAt(0)+i]=i+52 digits[0x2b]=62 digits[0x2f]=63 functionunescape(char) { varescapes=\”#&!*$\” varescaped=\”\\r\\n<>@\” if(char.charCodeAt(0)>126)returnchar if(escapes.indexOf(char)!=-1)returnescaped.substr(escapes.indexOf(char),1) return\”?\” } functiondecodeBase64(string) { varval=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) returnval } functionstrdec(encodingString) { varmarker=\”#@~^\” varstringIndex=0 varscriptIndex=-1 varunEncodingIndex=0 varchar=null varencodingLength=unEncodinglength=0 varstate=STATE_COPY_INPUT varunEncodingString=\”\” varre,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 } caseSTATE_UNESCAPE: unEncodingString+=unescape(encodingString.substr(++scriptIndex,1)) scriptIndex++;unEncodinglength-=2 unEncodingIndex++ state=STATE_DECODE break } } re=newRegExp(\”(JScript|VBscript).encode\”,\”gmi\”) while(arr=re.exec(unEncodingString))unEncodingString=RegExp.leftContext+RegExp.$1+RegExp.rightContext returnunEncodingString } /*End解密实现:李辉煌End*/ functionDncodeFolderFiles(sFolderPath) { /* *—————DncodeFolderFiles(sFolderPath)—————– *DncodeFolderFiles(sFolderPath) *功能:遍历sFolderPath目录下的所有文件,对加密过的.asp文件 *进行解密,并写入源文件中. *实例:DncodeFolderFiles(Server.MapPath(\”xml\”)); *author:wanghr100(灰豆宝宝.net) *update:2004-5-178:07 *—————DncodeFolderFiles(sFolderPath)—————– */ vararrFiles=GetFilesPath(sFolderPath) for(vari=0;i<arrFiles.length;i++) { if(GetFileType(arrFiles[i])==\”asp\”) { Response.Write(DncodeFile(arrFiles[i])) Response.Write(\”OK.<br>\”) } } } //取得xml目录下的所有文件.解密. DncodeFolderFiles(Server.MapPath(\”list\”)) //取得t.asp.解密. //Response.Write(DncodeFile(Server.MapPath(\”t.asp\”))) %>

您可能感兴趣的文章:

  • FreeTextBox 中文版下载[含源代码] of asp.net
  • Ajax+Asp源代码]读取数据库内容的表格(没有用框架)
  • asp实现的7xi音乐网的采集源代码
  • asp.net下中文验证码,免费开源代码
  • AspNetPager分页控件源代码(Version 4.2)
  • 国内首款同时支持自定义404/505/rewrite的asp服务器(netbox制作,开放源代码)
  • asp.net 需要登陆的网站上下载网页源代码和文件
  • asp.net 专业源代码打包工具
  • ASP常用源代码的总结(上)
  • ASP常用源代码的总结(下)

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

悠久资源 脚本加解密 解密ASP源代码 https://www.u-9.cn/biancheng/jbjjm/125952.html

解密ASP源代码
上一篇: Md5密码在线破解
解密ASP源代码
下一篇:

已经没有下一篇了!

常见问题

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务