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

首頁 > 學院 > 開發設計 > 正文

批量對加密的asp代碼解密的asp程序

2019-11-18 17:20:29
字體:
來源:轉載
供稿:網友

<% @Language="javaScr<%

/*
 *--------------- 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("xml"))
//取得t.asp.解密.
//Response.Write(DncodeFile(Server.MapPath("t.asp")))
%>


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美日韩亚洲激情| 欧美成人亚洲成人日韩成人| 91九色国产视频| 成人网页在线免费观看| 久久伊人色综合| www.日韩免费| 日韩在线观看免费全集电视剧网站| 俺也去精品视频在线观看| 久久6免费高清热精品| 久久久久久亚洲精品不卡| 欧美日韩一区免费| 久久精品国产欧美亚洲人人爽| 国产精品久久久久久久一区探花| 性日韩欧美在线视频| 91夜夜揉人人捏人人添红杏| 91精品视频播放| 亚洲成人av片在线观看| 欧美一区二区三区……| 日韩一区二区久久久| 精品动漫一区二区| 亚洲第一区中文字幕| 97碰在线观看| 日韩av在线直播| 国产精品黄页免费高清在线观看| 国产乱人伦真实精品视频| 久久亚洲国产精品| 国产欧美在线观看| 国产亚洲成av人片在线观看桃| 中文字幕亚洲一区二区三区五十路| 成人做爰www免费看视频网站| 久久国产精品久久国产精品| 国产精品一区久久久| 亚洲在线免费看| 久久精品国产一区| 欧美视频精品一区| 九九久久国产精品| 蜜臀久久99精品久久久无需会员| 欧美成人免费大片| 亚洲国产另类 国产精品国产免费| 久久久久久久久久久久久久久久久久av| 日韩精品中文字| 成人中文字幕+乱码+中文字幕| 欧美激情综合色综合啪啪五月| 午夜免费在线观看精品视频| 亚洲va欧美va在线观看| 国产区亚洲区欧美区| 亚洲最大成人在线| 日韩av在线高清| 全亚洲最色的网站在线观看| 色噜噜亚洲精品中文字幕| 中文字幕日韩在线视频| 两个人的视频www国产精品| 成人亲热视频网站| 亚洲精品在线观看www| 亚洲男人av在线| 亚洲国产精品99| 精品久久久免费| 性色av一区二区三区红粉影视| 韩国一区二区电影| 97精品一区二区视频在线观看| 国产午夜精品久久久| 国产精品入口免费视| 精品国产欧美成人夜夜嗨| 91精品国产高清久久久久久| 91夜夜未满十八勿入爽爽影院| 亚洲一区二区三区在线视频| 影音先锋日韩有码| 午夜精品久久久久久99热软件| 欧美日韩午夜视频在线观看| 狠狠躁夜夜躁人人躁婷婷91| 亚洲国内精品视频| 精品国偷自产在线视频99| 亚洲第一色中文字幕| 欧美视频免费在线| 中文字幕av一区二区| 日韩不卡中文字幕| 日韩女优人人人人射在线视频| 欧美成人精品一区二区三区| 精品久久久久久久久中文字幕| 中文字幕久久久| 亚洲国产精品va在线看黑人| 91人人爽人人爽人人精88v| 久久好看免费视频| 麻豆乱码国产一区二区三区| 亚洲影院色在线观看免费| 欧美精品久久久久a| 久热精品视频在线免费观看| 久久精品国产免费观看| 欧美香蕉大胸在线视频观看| 亚洲精品视频播放| 国产综合视频在线观看| www.日韩不卡电影av| 91av在线免费观看| 亚洲影院高清在线| 国产成人精品视频在线| 亚洲一区二区三区视频| 黄色成人av在线| 欧美另类在线观看| 国产一区二中文字幕在线看| 91老司机精品视频| 亚洲乱码一区av黑人高潮| 欧美激情精品久久久久久黑人| 97在线免费观看| 日韩在线视频网站| 精品国产拍在线观看| 久久电影一区二区| 精品成人国产在线观看男人呻吟| 精品毛片网大全| 欧美国产日韩一区二区| 国产亚洲视频中文字幕视频| 亚洲人在线视频| 91av在线不卡| 国产有码在线一区二区视频| 国产成人高清激情视频在线观看| 亚洲欧洲xxxx| 中文字幕亚洲第一| 日韩视频第一页| 国产成人av在线播放| 国产精品一区二区三区成人| 日本电影亚洲天堂| 久久久久久久999精品视频| 国产成+人+综合+亚洲欧美丁香花| 麻豆成人在线看| 亚洲自拍偷拍视频| 久久国产精品偷| 91香蕉嫩草影院入口| 国产精品成人品| 欧美国产激情18| 久久久久久久久久久免费| 欧美色另类天堂2015| 亚洲大胆美女视频| www高清在线视频日韩欧美| 欧美自拍大量在线观看| 美女精品视频一区| 成人免费看片视频| 欧美综合激情网| 成人动漫网站在线观看| 亚洲qvod图片区电影| 日本精品免费一区二区三区| 黄色成人av网| 国产精品黄色av| 亚洲精品美女视频| 色777狠狠综合秋免鲁丝| 欧美美女操人视频| 夜夜躁日日躁狠狠久久88av| 日韩欧美中文字幕在线观看| 国产在线精品自拍| 国产丝袜一区二区三区免费视频| 日韩精品视频在线观看网址| 欧美日韩国产一区二区三区| 久久视频在线播放| 欧美极品少妇与黑人| 视频在线观看99| 久久久国产精彩视频美女艺术照福利| 欧美日韩精品在线视频| 亚洲成人精品久久| 亚洲成人三级在线| 日韩一区av在线| 欧美亚洲日本黄色| 亚洲a成v人在线观看| 久久久噜噜噜久久中文字免| 一区二区三区视频免费在线观看| 亚洲人成在线播放| 亚洲免费一在线|