asp解密、還原chrw、chr編碼文件的方法
將asp函數(shù)的參數(shù)通過chrw編碼加密后,如何解碼chrw內(nèi)容。下面的解碼函數(shù),原來很簡單,用正則提取內(nèi)容中的chrw串,然后eval動態(tài)執(zhí)行獲取的chrw串得到內(nèi)容,再執(zhí)行替換即可。注意事項參考源代碼里面的注釋,注意將源代碼保存為vbs格式的文件后執(zhí)行,如果是asp文件,需要將createobject修改為server.createobject。
function readfile(fn)'讀取編碼文件的內(nèi)容 set fso=createobject("scripting.filesystemobject") set ts=fso.OpenTextFile(fn,1,false,-2)'注意這里的最后一個參數(shù),如果你的是unicode編碼,將-2(系統(tǒng)默認編碼)修改為-1(unicode編碼)。0為ascii readfile=ts.ReadAll ts.close set ts=nothing set fso=nothing end function function decodechrw(s)'解碼chrw編碼的內(nèi)容 set rx=new RegExp rx.Global=true rx.IgnoreCase=true rx.Pattern="ChrW\s*\(\s*\d+\s*\)(\s*&\s*ChrW\s*\(\s*\d+\s*\))*"'解碼chrw串 set mc=rx.Execute(s) for each m in mc s=replace(s, m.value,""""&eval(m.value)&"""") next rx.Pattern="Chr\s*\(\s*\d+\s*\)(\s*&\s*Chr\s*\(\s*\d+\s*\))*"‘急嗎chr串 set mc=rx.Execute(s) for each m in mc s=replace(s, m.value,""""&eval(m.value)&"""") next decodechrw=s end function function decodechrwfile(fn)'解碼內(nèi)容包含chrw編碼的文件 s=readfile(fn) s=decodechrw(s) '將解碼內(nèi)容寫回文件 set fso=createobject("scripting.filesystemobject") set ts=fso.OpenTextFile(replace(fn,".","_decode."),2,true,-2)'寫入解碼后的內(nèi)容到原來文件名替換為 _decode的文件里面,如fn為encode.txt,則解碼后的文件為encode_decode.txt ts.write s ts.close set ts=nothing set fso=nothing end function decodechrwfile("encode.txt")'注意修改這里被chrw加密的文件名稱及路徑,如果是客戶端提交的內(nèi)容
相關(guān)文章
通過Response.Flush()實現(xiàn)下載失敗的解決方法
Response.Flush()實現(xiàn)對服務(wù)端文件的下載時,會失敗,不能正常彈出IE下載框,通過測試發(fā)現(xiàn)時瀏覽器的安全設(shè)置問題,如下操作便可解決2013-08-08FormatRemoteUrl函數(shù)之a(chǎn)sp實現(xiàn)格式化成當(dāng)前網(wǎng)站完整的URL-將相對地址轉(zhuǎn)換為絕對地址的代碼
FormatRemoteUrl函數(shù)之a(chǎn)sp實現(xiàn)格式化成當(dāng)前網(wǎng)站完整的URL-將相對地址轉(zhuǎn)換為絕對地址的代碼...2007-09-09asp 得到動態(tài)數(shù)組中元素的個數(shù)
主要用到了 ubound(數(shù)組的名稱) 這個函數(shù),這個函數(shù)用來求數(shù)組的上邊界。2009-06-06