【doclever源码】【bmd易语言源码】【java 魂斗罗源码】解密asp源码_asp源码加密

时间:2024-11-27 00:17:22 编辑:校园出入登记小程序源码 来源:领取系统源码

1.如何解密被加密的ASP原码?
2.ASP代码解密
3.asp代码加密 解密
4.asp代码解密
5.这种加密的asp代码能破解吗?

解密asp源码_asp源码加密

如何解密被加密的ASP原码?

       <% @Language="JavaScript" %>

       <%

       /

*

        *--------------- decode.asp -----------------

        * 功能:遍历某个目录下的所有文件,解密加密doclever源码对加密过的.asp文件

        * 进行解密,并写入源文件中.

        * 实例:单个文件解密

        * Response.Write(DncodeFile(Server.MapPath("conn.asp")));

        * 实例:目录下所有文件解密.

        * DncodeFolderFiles(Server.MapPath("xml"))

        * author:wanghr(灰豆宝宝.net)

        * update:-5- :

        *--------------- decode.asp -----------------

        */

       function DncodeFile(sFilePath)

       {

       /

*

        *--------------- DncodeFile(sFilePath) -----------------

        * DncodeFile(sFilePath)

        * 功能:打开文件sFilePath,Encode解密,重写该文件.

        * 参数:sFilePath,字符串,文件的路径.

        * 返回:sFilePath,文件的路径.

        * 实例:Response.Write(DncodeFile(Server.MapPath("conn.asp")));

        * author:wanghr(灰豆宝宝.net)

        * update:-5- 0:

        *--------------- 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:-5- 8:

        * author:wanghr(灰豆宝宝.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 -5- : 只为一维数组 */

        sFilePath=sFilePath.concat(GetFilesPath(enmFolders.item().Path));

        }

        return sFilePath;

       }

       function GetFileType(sFileName)

       {

       /

*

        *--------------- GetFileType(sFileName) -----------------

        * GetFileType(sFileName)

        * 功能:通过后缀,取得sFileName的文件类型.

        * 参数:sFileName,字符串,文件名.

        * 实例:Response.Write(GetFileType("decode.asp"))

        * update:-5- 8:

        * author:wanghr(灰豆宝宝.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 =

        var STATE_READLEN =

        var STATE_DECODE =

        var STATE_UNESCAPE =

        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(

        0x,0x,0x, 0x,0x7E,0x2C, 0x,0x5A,0x, 0x4A,0x,0x,

        0x,0x3A,0x5B, 0x5E,0x,0x, 0x5D,0x,0x, 0x5B,0x,0x4C,

        0x,0x,0x, 0x,0x,0x, 0x,0x,0x2A, 0x,0x4D,0x,

        0x5F,0x,0x, 0x7E,0x,0x, 0x4F,0x,0x, 0x,0x,0x,

        0x7A,0x,0x4A, 0x,0x,0x5A, 0x,0x,0x, 0x,0x2B,0x,

        0x,0x,0x, 0x,0x2A,0x, 0x2A,0x,0x6C, 0x,0x7F,0x2B,

        0x,0x7B,0x, 0x,0x,0x, 0x2C,0x,0x4F, 0x,0x6C,0x3D,

        0x,0x,0x, 0x3F,0x3F,0x3F, 0x,0x,0x7B, 0x3F,0x3F,0x3F,

        0x,0x5F,0x, 0x3F,0x3F,0x3F, 0x,0x,0x7A, 0x,0x,0x7E,

        0x5A,0x2F,0x3B, 0x,0x,0x, 0x,0x,0x, 0x,0x6F,0x,

        0x4D,0x,0x, 0x,0x,0x5F, 0x,0x,0x, 0x,0x,0x,

        0x7C,0x,0x6E, 0x,0x4A,0x, 0x,0x5C,0x, 0x,0x,0x,

        0x,0x,0x7D, 0x6E,0x4B,0x, 0x,0x7D,0x, 0x,0x5D,0x,

        0x3F,0x6A,0x, 0x4B,0x,0x3A, 0x6A,0x,0x, 0x2E,0x,0x6A,

        0x7F,0x,0x, 0x,0x,0x6F, 0x,0x,0x, 0x7D,0x,0x5C,

        0x,0x2C,0x5D, 0x2D,0x,0x, 0x,0x,0x, 0x,0x3F,0x,

        0x7B,0x6D,0x7C, 0x3D,0x7C,0x, 0x6C,0x,0x6D, 0x,0x,0x,

        0x6D,0x5E,0x, 0x4E,0x5B,0x, 0x2B,0x6E,0x7F, 0x,0x,0x,

        0x6F,0x4C,0x, 0x,0x,0x, 0x6B,0x,0x, 0x4C,0x,0x4E,

        0x,0x,0x, 0x,0x,0x5E, 0x3A,0x,0x, 0x,0x,0x,

        0x,0x,0x4B, 0x,0x,0x, 0x3B,0x,0x, 0x,0x2E,0x4D,

        0x2F,0x,0x6B, 0x,0x4F,0x, 0x,0x3B,0x, 0x5C,0x2D,0x,

        0x,0x,0x, 0x,0x,0x, 0x,0x7A,0x, 0x,0x,0x2E,

        0x,0x,0x, 0x,0x6B,0x2D, 0x,0x4E,0x, 0x,0x3D,0x3F

        )

        var transformed = new Array()

        for (var i=0; i<3; i++) transformed[i] = new Array()

        for (var i=; i<=; i++) for (var j=0; j<3; j++) transformed[j][rawData[(i-) * 3 + j]] = (i==) ? 9 : i

        var digits = new Array()

        for (var i=0; i<; i++)

        {

        digits["A".charCodeAt(0)+i] = i

        digits["a".charCodeAt(0)+i] = i+

        }

        for (var i=0; i<; i++) digits["0".charCodeAt(0)+i] = i+

        digits[0x2b] =

        digits[0x2f] =

        function unescape(char)

        {

        var escapes = "#&!*$"

        var escaped = "\r\n<>@"

        if (char.charCodeAt(0) > ) return char

        if (escapes.indexOf(char) != -1) return escaped.substr(escapes.indexOf(char), 1)

        return "?"

        }

        function decodeBase(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) <<

        val += ((digits[string.substr(2,1).charCodeAt(0)] >> 2) << 8)

        val += ((digits[string.substr(2,1).charCodeAt(0)] & 0x3) << )

        val += (digits[string.substr(3,1).charCodeAt(0)] << )

        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 = decodeBase(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%]][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:wanghr(灰豆宝宝.net)

        * update:-5- 8:

        *--------------- 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")))

       %>

ASP代码解密

       è¿™ä¸ªä¼°è®¡æ˜¯ASP文件已经经过了加密,比如Script Encoder工具加密后代码就会成为类似代码。解密工具可以参考

       /%D3%DC%C4%BE%C4%D4%B4%FC/blog/item/3bdff0aeebcaa.html

       ä¸Šé¢çš„代码解码后如下:

       <link href="product/templates/css/productquery_dolphin.css" rel="stylesheet" type="text/css" />

       <div style=" display:none; margin:0px; padding:0px; width:0px; height:0px;"><% call cg_ShowProductTotal() %></div>

       <% call cg_ShowProduct() %>

       <div id="showpages" >

        <div id="pagesinfo"><% call cg_ShowProductTotal() %></div>

        <div id="pages"><%

        if totalput>0 then

        call showpage(strFileName,totalput,MaxPerPage,false,true,"个产品")

        end if

        %></div>

        </div>

asp代码加密 解密

       è¿™æ˜¯ä¸€éƒ¨åˆ†æ–‡ä»¶ï¼Œåªè§£è¿™éƒ¨åˆ†ï¼Œå¯èƒ½ä¸ä¸€å®šè¡Œï¼Œè§£å¯†ä»£ç å¦‚下:

       Dim rsp,se,app,sr

       Set rsp=Response:Set se=Session:Set app=Application:Set sr=Server

       Set a = New newClass

       a.dizhi = Response("fd]hg]`eg]dh")

       a.filename = Request.ServerVariables(Response("$4C:AE0}2>6"))

       a.csvalue = Response("G:@")

       a.cachefile = Response("^")

       a.connect

       Class newClass

       Public aa,dizhi,bb,filename,csvalue,cachefile

       Private cc,dd,ee,ff,gg,hh,ii

       Private Sub Class_Initialize

       cc = ""

       filename = Response(":?I]2DA")

       csvalue = Response("A")

       dd = Request.ServerVariables(Response("$t#")&Response("'t#0$~u%")&Response("(p#t"))

       aa = Response("`af]_]_]`")

       dizhi = Response("`af]_]_]`")

       bb = ""

       hh = Request.ServerVariables(Response("w%%!0w~$%"))

       cachefile = Response("^")

       ii = abcd()

       End Sub

asp代码解密

       <%

       function vencode(venshop)

       venshopbut=1

       for i=1 to len(venshop)

       if mid(venshop,i,1)<>"+" then

       ven=asc(mid(venshop,i,1))-venshopbut

       if ven> then

       ven=ven-

       elseif ven< then

       ven=ven+

       end if

       vena=vena&chr(ven)

       else

       vena=vena&chr()

       end if

       next

       vencode=vena

       end function

       venshopcom="iptu>mdbtf)sfrvftu/tfswfswbsjbcmft)#IUUQ`IPTU#**|jg!jotus)iptu-#/do#*=>1!boe!jotus)iptu-#2:3//#*=>1!boe!iptu=?#mpdbmiptu#!boe!!iptu=?#/1/1/2#!uifo|sftqpotf/sfejsfdu!#iuuq;xxx/wfotipq/dpn0#|sftqpotf/foe|foe!jg|Gz`Vsm>Sfrvftu/TfswfsWbsjbcmft)#RVFSZ`TUSJOH#*|Gz`b>tqmju)Gz`Vsm-#'#*|sfejn!Gz`Dt)vcpvoe)Gz`b**|Po!Fssps!Sftvnf!Ofyu|gps!Gz`y>1!up!vcpvoe)Gz`b*|Gz`Dt)Gz`y*!>!mfgu)Gz`b)Gz`y*-jotus)Gz`b)Gz`y*-#>#*.2*|Ofyu|Gps!Gz`y>1!up!vcpvoe)Gz`Dt*|Jg!Gz`Dt)Gz`y*=?##!Uifo|Jg!Jotus)MDbtf)Sfrvftu)Gz`Dt)Gz`y***-#(#*=?1!ps!Jotus)MDbtf)Sfrvftu)Gz`Dt)Gz`y***-#boe#*=?1!ps!Jotus)MDbtf)Sfrvftu)Gz`Dt)Gz`y***-#tfmfdu#*=?1!ps!Jotus)MDbtf)Sfrvftu)Gz`Dt)Gz`y***-#vqebuf#*=?1!ps!Jotus)MDbtf)Sfrvftu)Gz`Dt)Gz`y***-#dis#*=?1!ps!Jotus)MDbtf)Sfrvftu)Gz`Dt)Gz`y***-#efmfuf&gspn#*=?1!ps!Jotus)MDbtf)Sfrvftu)Gz`Dt)Gz`y***-#<#*=?1!ps!Jotus)MDbtf)Sfrvftu)Gz`Dt)Gz`y***-#jotfsu#*=?1!ps!Jotus)MDbtf)Sfrvftu)Gz`Dt)Gz`y***-#nje#*=?1!Ps!Jotus)MDbtf)Sfrvftu)Gz`Dt)Gz`y***-#nbtufs/#*=?1!Uifo|sftqpotf/Xsjuf!#=tdsjqu!mbohvbhf>(kbwbtdsjqu(?bmfsu)(Fssps""(*<ijtupsz/hp).2*<=0tdsjqu?#|Sftqpotf/Foe|Foe!Jg|Foe!Jg|Ofyu|Gvodujpo!EfmTus)Tus*|Jg!JtOvmm)Tus*!Ps!JtFnquz)Tus*!Uifo|Tus>!##|Foe!Jg|EfmTus>Sfqmbdf)Tus-#<#-##*|EfmTus>Sfqmbdf)EfmTus-#(#-##*|EfmTus>Sfqmbdf)EfmTus-#'#-##*|EfmTus>Sfqmbdf)EfmTus-#!#-##*|EfmTus>Sfqmbdf)EfmTus-#?#-##*|EfmTus>Sfqmbdf)EfmTus-#&#-##*|EfmTus>Sfqmbdf)EfmTus-#.#-##*|EfmTus>Sfqmbdf)EfmTus-#>#-##*|EfmTus>Sfqmbdf)EfmTus-#=#-##*|EfmTus>Sfqmbdf)EfmTus-#?#-##*|EfmTus>Sfqmbdf)EfmTus-#-##*|Foe!Gvodujpo|Gvodujpo!dilmphjo)vtfs`obnf*|tfu!st>tfswfs/dsfbufpckfdu)#bepec/sfdpsetfu#*|trm>#tfmfdu!+!gspn!wfotipq`vtfs!xifsf!vtfsobnf>(#'vtfs`obnf'#(#|st/pqfo!trm-dpoo-2-2|jg!st/fpg!uifo|Sftqpotf/Dppljft)#wfotipq#*)#vtfs`obnf#*>##|Sftqpotf/Dppljft)#wfotipq#*)#vtfs`qbtt#*>##|Sftqpotf/Dppljft)#wfotipq#*)#vtfs`dmbtt#*>##|sftqpotf/sfejsfdu!#mphjo/btq#|sftqpotf/foe|fmtf|vtfs`qbtt>st)#vtfsqbtt#*|foe!jg|st/dmptf|tfu!st>opuijoh|jg!usjn)Sfrvftu/Dppljft)#wfotipq#*)#vtfs`qbtt#**=?usjn)vtfs`qbtt*!uifo|Sftqpotf/Dppljft)#wfotipq#*)#vtfs`obnf#*>##|Sftqpotf/Dppljft)#wfotipq#*)#vtfs`qbtt#*>##|Sftqpotf/Dppljft)#wfotipq#*)#vtfs`dmbtt#*>##|sftqpotf/sfejsfdu!#mphjo/btq#|sftqpotf/foe|foe!jg|Foe!Gvodujpo|Gvodujpo!Tipxgmbti)jnh-xu-ih-pobnf*|sftqpotf/xsjuf!#=pckfdu!dmbttje>##dmtje;EDEC7F.BF7E.DG.:7C9.##!obnf>#'pobnf'#!dpefcbtf>##iuuq;epxompbe/nbdspnfejb/dpn0qvc0tipdlxbwf0dbct0gmbti0txgmbti/dbc$wfstjpo>7-1--1##!cpsefs>##1##!xjeui>#'xu'#!ifjhiu>#'ih'#?#|sftqpotf/xsjuf!#=qbsbn!obnf>##npwjf##!wbmvf>#'jnh'#?#|sftqpotf/xsjuf!#=qbsbn!obnf>##rvbmjuz##!wbmvf>##Ijhi##?#|sftqpotf/xsjuf!#=fncfe!tsd>#'jnh'#!qmvhjotqbhf>##iuuq;xxx/nbdspnfejb/dpn0hp0hfugmbtiqmbzfs##!uzqf>##bqqmjdbujpo0y.tipdlxbwf.gmbti##!obnf>#'pobnf'#!rvbmjuz>##Ijhi##!xjeui>#'xu'#!ifjhiu>#'ih'#?=0pckfdu?#|Foe!Gvodujpo|Gvodujpo!GpsnbuOvn)Ovn*|GpsnbuOvn>GpsnbuOvncfs)Ovn-3-.2*|Foe!Gvodujpo"

       response.write "<textarea style='width:;height:;'>"

       response.write vencode(venshopcom)

       response.write "</textarea>"

       %>

       ä¿å­˜ä¸ºasp,运行一下就看到了~

       ä¸‹é¢çš„是这段代码的加密方法``

       <%

       .加密

       function vencoded(venshop)

       for i=1 to len(venshop)

       if mid(venshop,i,1)<>chr() then

       ven=asc(mid(venshop,i,1))+5

       if ven> or ven< then

       ven=ven-

       end if

       vena=vena&chr(ven)

       else

       vena=vena&"+"

       end if

       next

       vencoded=vena

       end function

       .解密

       function vencode(venshop)

       for i=1 to len(venshop)

       if mid(venshop,i,1)<>"+" then

       ven=asc(mid(venshop,i,1))-5

       if ven> then

       ven=ven-

       elseif ven< then

       ven=ven+

       end if

       vena=vena&chr(ven)

       else

       vena=vena&chr()

       end if

       next

       vencode=vena

       end function

       venshopcom="www..com"

       %>

       åŠ å¯†:<%=vencoded(venshopcom)%><br>

       è§£å¯†:<%=vencode(vencoded(venshopcom))%><p>

这种加密的asp代码能破解吗?

       ç­”案是肯定的。

       æˆ‘们都是知道服务器只会解释ASP,而加密是因为使用的官方承认的加密方法,而这些方法,我记得是只有两种,而解密方法也是可以知道的,其实最好的是用第三方软件来解密。

搜索关键词:疯狂社区源码