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

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

解密ASP源代碼

2019-11-18 19:37:11
字體:
來源:轉載
供稿:網友

從網上興致沖沖地下載了asp源代碼,準備學習研究的時候.一打開文件,天書般的加密代碼.很讓人郁悶吧 :(

在網上是找到了解密的方法,得一個文件挨一個文件地打開,復制,粘貼,解密,再復制,再粘貼,再保存......

如果一個ASP程序有幾百個文件???

解決辦法來了..

decode.asp

<% @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
欧美性xxxx| 97在线免费观看视频| 好吊成人免视频| 情事1991在线| 国产一区二区三区在线播放免费观看| 国产精品户外野外| 欧美尺度大的性做爰视频| 国产97免费视| 日韩在线观看免费全集电视剧网站| 久久精品国亚洲| 国产91成人video| 国产精品视频导航| 亚洲国产精品系列| 九九精品在线观看| 91性高湖久久久久久久久_久久99| 欧美日韩国产精品专区| 福利微拍一区二区| 国产精品亚洲欧美导航| 91精品国产高清久久久久久久久| 97精品久久久| 国产高清在线不卡| 日韩在线视频中文字幕| www.亚洲一区| 欧美高清视频免费观看| 亚洲春色另类小说| 国外色69视频在线观看| 国产精品成人aaaaa网站| 精品久久久久久久久久久久久| 91沈先生作品| 日韩av在线网页| 色777狠狠综合秋免鲁丝| 尤物tv国产一区| 91国内产香蕉| 欧美精品在线免费播放| 久久99精品久久久久久琪琪| 亚洲电影免费观看| 一区二区三区日韩在线| xxav国产精品美女主播| 欧美性xxxx极品hd满灌| 91av在线播放视频| 欧美激情在线狂野欧美精品| 亚洲精品乱码久久久久久金桔影视| 欧美国产高跟鞋裸体秀xxxhd| 国产极品jizzhd欧美| 国产一区二区三区中文| 成人黄色大片在线免费观看| 国产精品美女在线| 国产精品高潮呻吟视频| 色哟哟网站入口亚洲精品| 精品香蕉一区二区三区| 黄网动漫久久久| 国产一区二区黑人欧美xxxx| 久久频这里精品99香蕉| 欧美成年人视频网站| 欧美激情精品久久久久| 有码中文亚洲精品| 精品国产精品三级精品av网址| 国自在线精品视频| 亚洲色图在线观看| 日韩国产精品视频| 国产一区二区三区三区在线观看| 国产va免费精品高清在线观看| 日韩av手机在线观看| 精品国产欧美一区二区五十路| 国产精品久久久久久久av电影| 国产69久久精品成人看| 青青青国产精品一区二区| 亚洲精品成人网| 亚洲少妇激情视频| 2018国产精品视频| 久久精品福利视频| 久久在线精品视频| 人体精品一二三区| 欧美午夜xxx| 国产精品久久久久久超碰| 国产97在线|亚洲| 日韩av在线高清| 成人春色激情网| 国产一区二区美女视频| 这里只有视频精品| 欧美限制级电影在线观看| 九九精品视频在线观看| 超薄丝袜一区二区| 欧美精品做受xxx性少妇| 国产亚洲aⅴaaaaaa毛片| 欧美激情奇米色| 啪一啪鲁一鲁2019在线视频| 亚洲国产私拍精品国模在线观看| 最新69国产成人精品视频免费| 九九热精品视频| 成人两性免费视频| 欧美激情奇米色| 亚洲伊人久久大香线蕉av| 精品福利视频导航| 蜜臀久久99精品久久久无需会员| 久久综合久久88| 久久亚洲精品中文字幕冲田杏梨| 国产视频精品va久久久久久| 久久青草福利网站| 97视频在线观看成人| 欧美裸体xxxx极品少妇软件| 亚洲国产日韩欧美在线99| 亚洲九九九在线观看| 亚洲视频网站在线观看| 欧美综合在线第二页| 亚洲精品久久久久久久久久久久| 欧美一区二三区| 亚洲精品国产免费| 中文字幕在线成人| 日韩精品中文字幕在线| 欧美日韩国产一中文字不卡| 精品少妇v888av| 欧美日韩中文字幕在线视频| 欧美成人在线影院| 久久免费视频在线观看| 欧美影院成年免费版| 亚洲精品资源美女情侣酒店| 久久久女女女女999久久| 国产女精品视频网站免费| 久久不射热爱视频精品| 亚洲最大福利视频网| 精品国产一区二区三区在线观看| 欧美日韩国产精品一区二区不卡中文| 精品久久久久久久久中文字幕| 亚洲免费小视频| 日韩精品免费一线在线观看| 97视频在线播放| 久久夜色精品国产亚洲aⅴ| 亚洲一区www| 久久久精品国产一区二区| 色伦专区97中文字幕| 日韩黄色在线免费观看| 4438全国亚洲精品在线观看视频| 日本高清不卡在线| 国产精品video| 国产精品欧美亚洲777777| 亚洲人成在线电影| 欧美性极品少妇精品网站| 国产精品专区第二| 色综合视频一区中文字幕| 国产视频亚洲精品| 国产精品草莓在线免费观看| 91国产一区在线| 久久久亚洲福利精品午夜| 欧美在线视频导航| 亚洲男人av电影| 在线国产精品播放| 亚洲视频一区二区三区| 欧美www视频在线观看| 精品久久久久久电影| 亚洲欧洲成视频免费观看| 色综合色综合久久综合频道88| 国产91成人video| www国产精品com| 亚洲一区国产精品| 日韩av在线免播放器| 亚洲欧美精品suv| 69影院欧美专区视频| 精品国产老师黑色丝袜高跟鞋| 26uuu另类亚洲欧美日本老年| 久久久精品电影| 91欧美精品午夜性色福利在线| 亚洲色图综合网| 午夜精品三级视频福利|