亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > ASP > 正文

解密ASP源代碼

2024-05-04 11:09:18
字體:
來源:轉載
供稿:網友
從網上興致沖沖地下載了ASP源代碼,準備學習研究的時候.一打開文件,天書般的加密代碼.很讓人郁悶吧 :( 在網上是找到了解密的方法,得一個文件挨一個文件地打開,復制,粘貼,解密,再復制,再粘貼,再保存......如果一個ASP程序有幾百個文件??? 
解決辦法來了..
復制代碼代碼如下:

<% @Language="JavaScript" %> 
<% 
/* 
*--------------- decode.asp ----------------- 
* 功能:遍歷某個目錄下的所有文件,對加密過的.asp文件 
* 進行解密,并寫入源文件中. 
* 實例:單個文件解密 
* Response.Write(DncodeFile(Server.MapPath("conn.asp"))); 
* 實例:目錄下所有文件解密. 
* DncodeFolderFiles(Server.MapPath("xml")) 
* author:wanghr100(灰豆寶寶.net) 
* update:2004-5-17 11:31 
*--------------- decode.asp ----------------- 
*/ 
function DncodeFile(sFilePath) 

/* 
*--------------- DncodeFile(sFilePath) ----------------- 
* DncodeFile(sFilePath) 
* 功能:打開文件sFilePath,Encode解密,重寫該文件. 
* 參數:sFilePath,字符串,文件的路徑. 
* 返回:sFilePath,文件的路徑. 
* 實例:Response.Write(DncodeFile(Server.MapPath("conn.asp"))); 
* author:wanghr100(灰豆寶寶.net) 
* update:2004-5-17 0:58 
*--------------- DncodeFile(sFilePath) ----------------- 
*/ 
var ForReading = 1, ForWriting =2, ForAppending =8; 
var fso = Server.CreateObject("Scripting.FileSystemObject"); 
var f = fso.OpenTextFile(sFilePath,ForReading,true); 
sFileText = f.ReadAll(); 
f.Close(); 
sDncodeText = strdec(sFileText) 
var f = fso.OpenTextFile(sFilePath,ForWriting,true); 
f.Write(sDncodeText); 
f.Close(); 
//return sDncodeText; 
return sFilePath; 


function GetFilesPath(sFolderPath) 

/* 
*--------------- GetFilesPath(sFolderPath) ----------------- 
* GetFilesPath(sFolderPath) 
* 功能:遍歷sFolderPath目錄下的所有文件.返回數組.存儲文件路徑. 
* 參數:sFolderPath,字符串,目錄絕對路徑. 
* 實例:Response.Write(GetFilesPath(Server.MapPath("xml"))) 
* update:2004-5-12 8:33 
* author:wanghr100(灰豆寶寶.net) 
*--------------- GetFilesPath(sFolderPath) ----------------- 
*/ 
var sFilePath = new Array(); 
var fso = Server.CreateObject("Scripting.FileSystemObject"); 
var oFolder = fso.GetFolder(sFolderPath); 
var oSubFolders = oFolder.SubFolders; 
var oFiles = oFolder.Files; 
icount = oFiles.Count; 

var enmFiles = new Enumerator(oFiles); 
for(;!enmFiles.atEnd();enmFiles.moveNext()) 

sFilePath[sFilePath.length] = enmFiles.item().Path 


var enmFolders = new Enumerator(oSubFolders); 
for(;!enmFolders.atEnd();enmFolders.moveNext()) 

/* Old 數組成了多維. */ 
//sFilePath[sFilePath.length]=GetFilesPath(enmFolders.item().Path); 
/* Add 2004-5-17 11:09 只為一維數組 */ 
sFilePath=sFilePath.concat(GetFilesPath(enmFolders.item().Path)); 


return sFilePath; 



function GetFileType(sFileName) 

/* 
*--------------- GetFileType(sFileName) ----------------- 
* GetFileType(sFileName) 
* 功能:通過后綴,取得sFileName的文件類型. 
* 參數:sFileName,字符串,文件名. 
* 實例:Response.Write(GetFileType("decode.asp")) 
* update:2004-5-13 8:33 
* author:wanghr100(灰豆寶寶.net) 
*--------------- GetFileType(sFileName) ----------------- 
*/ 
sFileName = String(sFileName); 
return sFileName.split(".")[sFileName.split(".").length-1]; 


/* Start 解密實現:李輝煌 Start*/ 
function screncode(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 strdec(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 

/* End 解密實現:李輝煌 End*/ 
function DncodeFolderFiles(sFolderPath) 

/* 
*--------------- DncodeFolderFiles(sFolderPath) ----------------- 
* DncodeFolderFiles(sFolderPath) 
* 功能:遍歷sFolderPath目錄下的所有文件,對加密過的.asp文件 
* 進行解密,并寫入源文件中. 
* 實例:DncodeFolderFiles(Server.MapPath("xml")); 
* author:wanghr100(灰豆寶寶.net) 
* update:2004-5-17 8:07 
*--------------- DncodeFolderFiles(sFolderPath) ----------------- 
*/ 
var arrFiles = GetFilesPath(sFolderPath) 
for(var i=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"))) 
%>
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
久精品免费视频| 日韩亚洲综合在线| 在线观看日韩视频| 久久精品视频免费播放| 最近中文字幕2019免费| 亚洲国产精品成人va在线观看| 亚洲免费人成在线视频观看| 欧美电影免费观看高清完整| 91国语精品自产拍在线观看性色| 永久免费看mv网站入口亚洲| 日本欧美中文字幕| 在线一区二区日韩| 国产一区二区三区三区在线观看| 久久精品美女视频网站| 久久久久久综合网天天| 久久久精品影院| 国产一区玩具在线观看| 欧美一级电影久久| 亚洲男人天天操| 亚洲国产天堂久久综合网| 亚洲综合日韩中文字幕v在线| 国产精品久久久久免费a∨| 国产免费一区二区三区在线能观看| 国产成人免费av| 欧美日韩在线观看视频| 国产精品一区二区三区久久| 51久久精品夜色国产麻豆| 亚洲2020天天堂在线观看| 国产精品老女人精品视频| 日韩av在线免费观看一区| 亚洲国产精品99久久| 黄网站色欧美视频| 大量国产精品视频| 国产精品视频免费观看www| 日韩一区视频在线| 欧美精品18videosex性欧美| 91久久国产精品91久久性色| 亚洲精品日产aⅴ| 亚洲国产毛片完整版| 亚洲夜晚福利在线观看| 欧美高清videos高潮hd| 亚洲精品在线视频| 亚洲网站在线观看| 亚洲人午夜精品免费| 精品日本高清在线播放| 欧美精品免费在线观看| 伦伦影院午夜日韩欧美限制| 亚洲男子天堂网| 国产成人免费av| 欧美体内谢she精2性欧美| 欧美做受高潮1| 国产一区二中文字幕在线看| 亚洲福利视频网| 成人久久久久爱| 国产亚洲精品激情久久| 中文字幕日韩在线观看| 亚洲欧美国产视频| 国产精品免费视频久久久| 欧美激情网站在线观看| 不卡av电影在线观看| 亚洲国产精品免费| 亚洲人精选亚洲人成在线| 亚洲国产成人av在线| 久久精品91久久香蕉加勒比| 亚洲精品日韩在线| 欧美精品videos性欧美| 岛国视频午夜一区免费在线观看| 久久亚洲精品网站| 欧美日韩国产区| 亚洲欧美日韩中文视频| 欧美成人一二三| 色偷偷av一区二区三区乱| 日韩成人在线电影网| 久久久亚洲影院你懂的| 欧美大学生性色视频| 91爱视频在线| 精品中文字幕视频| 色综久久综合桃花网| 国产经典一区二区| 色妞色视频一区二区三区四区| 欧美成年人在线观看| 精品亚洲国产成av人片传媒| 日本中文字幕久久看| 色偷偷av一区二区三区| 欧美超级乱淫片喷水| 国产成人精品在线| 91av在线免费观看| 国产精品草莓在线免费观看| 日韩激情片免费| 久久777国产线看观看精品| 亚洲国产精品福利| 亚洲天堂精品在线| 九九九久久国产免费| 色播久久人人爽人人爽人人片视av| 国产精自产拍久久久久久蜜| 国产狼人综合免费视频| 色视频www在线播放国产成人| 国产成人精品一区二区三区| 成人日韩在线电影| 国产精品视频一区二区高潮| 亚洲成人激情在线观看| 亚洲欧美色图片| 欧美丰满少妇xxxx| 97精品国产97久久久久久| 欧美日韩成人黄色| 日韩欧美国产中文字幕| 69国产精品成人在线播放| 中文字幕亚洲综合| 国产亚洲精品激情久久| 亚洲精品久久久久国产| 精品亚洲精品福利线在观看| 日韩精品在线电影| 亚洲丁香久久久| 国产精品久久久久久久久久| 91精品久久久久久综合乱菊| xxx成人少妇69| 久久天天躁夜夜躁狠狠躁2022| 日韩精品视频中文在线观看| 91久久精品国产91久久性色| 国产在线一区二区三区| 国产精品高潮呻吟久久av无限| xvideos成人免费中文版| 国产精品扒开腿做爽爽爽视频| 国产精品扒开腿做爽爽爽男男| 欧美人与物videos| 国产成人精品久久亚洲高清不卡| 伊人久久男人天堂| 国产这里只有精品| 国产精品成熟老女人| 91精品久久久久久久久久| 欧美精品18videos性欧| 久久久久久久久久久亚洲| 国产成人福利视频| 精品性高朝久久久久久久| 国产亚洲精品美女久久久久| 亚洲丝袜一区在线| 日韩电影免费观看在线| 久久久这里只有精品视频| 国产精品va在线播放| 国产成人精品a视频一区www| 欧美大片欧美激情性色a∨久久| 少妇高潮久久77777| 国产精品精品一区二区三区午夜版| 日韩精品视频在线观看网址| 成人免费视频在线观看超级碰| 91久久久精品| 亚洲精品久久久久久久久久久久久| 精品国产电影一区| 国产不卡在线观看| 成人国内精品久久久久一区| 77777亚洲午夜久久多人| 国产精品一区二区在线| 欧美激情亚洲视频| 亚洲电影av在线| 国产精品视频自拍| 福利一区视频在线观看| 亚洲区一区二区| 久久伊人色综合| 97超级碰碰人国产在线观看| 国产视频久久久久久久| 欧美午夜精品久久久久久久| 欧美大尺度电影在线观看| 欧美又大又粗又长| 九九热在线精品视频|