



下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
如何加密ASP程序
目前對ASP程序的加密方法主要有三種:腳本編碼器(SRCENC.EXE)加密、組件加密、自編程序加密,下面我們就來綻開介紹這三種加密方法。
1、使用微軟的MSScriptEncode進行加密
微軟供應了腳本編碼器MSScriptEncode(下載地址http://./itgene/download/download.aspID=232),可以對ASP程序進行加密。這是一個簡潔的命令行工具,其執行文件是SRCENC.EXE,需要在DOS下運行。它只加密頁面中嵌入的腳本代碼,把網頁中之間的ASP代碼轉換成不行讀的亂碼,其他部分則保持原樣不變。加密后的程序,必需使用InternetExplorer5.0以上版本才能正常掃瞄。
用SRCENC加密之后,文件中被加密過的部分將變成只讀類型,假如你修改了加密部分(哪怕只改動一個字),就會導致整個文件不能使用。對于VBScript,加密后在源文件的第一行會顯示:
其中項目可以選以下5個參數
含義舉例
/s可選。命令中帶了該參數,加密過程中屏幕上就不會有輸出。screnc/slacl.sctulacl.sct
對當前名目中的腳本小程序lacl.sct加密,加密過程中屏幕不顯示任何信息
/f可選。指定輸出文件是否掩蓋同名輸入文件。忽視,將不執行掩蓋。screnc/flacl.asp
對文件lacl.asp加密,并用編碼后的同名文件掩蓋原文件
/xl可選。是否在.asp文件的頂部添加@Language指令。忽視,將添加。
/ldefLanguage可選。指定ScriptEncoder加密中選擇的缺省腳本語言。文件中不包含這種腳本語言特性的腳本將被ScriptEncoder忽視。
對于HTML文件,JScript為內置缺省腳本語言;對于ASP文件,VBScript為缺省腳本語言;對于擴展名為.vbs或.js的文件,ScriptEncoder也有自適應力量。screnc/lvbscriptlacl.htmulacl.htm
對文件lacl.htm加密,并生成輸出文件ulacl.htm,確保沒有指定語言屬性的腳本塊使用VBScript
/edefExtension可選。指定待加密文件的文件擴展名。缺省狀態下,ScriptEncoder能識別asa,asp,cdx,htm,html,js,sct和vbs文件。screnc/easp11\*.*f:\labxw-jm
對11名目中的全部.ASP文件進行加密,并把編碼后的輸出文件放在f:\labxw-jm名目中
(2)操作舉例
例如要加密當前名目中的lacl.asp文件,生成加密文件ulacl.asp,則在DOS下輸入命令:
screnclacl.aspulacl.asp
對當前名目中的全部.ASP文件進行加密,并把編碼后的輸出文件放在f:\labxw中,則使用命令:
screnc*.aspf:\labxw
2、使用組件加密asp
以上被screnc加密過的程序,是可以解密的(解密方法下文有介紹),假如你想徹底愛護自己的asp代碼,可以通過開發activexdll組件的方法進行愛護。
Dll文件是被編譯過的機器代碼,假如沒有源項目文件,是不行能被反編譯的,所以組件加密這種方法最平安,也不行能被破解。下面我們來舉例說明操作過程,例如你要愛護以下asp代碼:
以下是引用片段:
setrs=server.createobject(“adodb.recordset”)
sql=”select*fromgqwherexs=1orderbydateasc”
rs.opensql,conn,1,1
ifrs.eofandrs.bofthen
response.write””
else
Response.Write“”
endif
setrs=nothing
conn.close
setconn=nothing
可以把它們改寫成VB組件,然后在ASP文件中調用組件即可。操作步驟如下:
(1)新建一個vb6的activexdll項目
在屬性窗口中,命名你的庫模塊和項目文件(例如項目名lacl,模塊名disp),以后在asp文件中,調用的對象名將為lacl_disp
選擇vb6中的項目菜單中的references,選中microsoftactivexdataobjects2.0library
(2)編寫VB組件
接下來把改寫成VB組件,代碼如下:
以下是引用片段:
publicfunctionhtml_bo(disp_tableasstring)asstring
dimoutstringasstring
dimconnasadodb.connection
dimrstasadodb.recordset
dimsqlstringasstring
setconn=createobject(“adodb.connection”)
setrst=createobject(“adodb.recordset”)
sqlstring=“select*from”選擇package,選擇要打包的腳本或使用默認腳本,選擇標準安裝,為生成的安裝文件選擇一個存放名目,選擇singlecab.其他均默認;然后單擊下一步,安裝文件就自動生成了!
(4)在IIS服務器上安裝組件
在IIS服務器上運行這個安裝文件,把組件安裝到服務器上
(5)在網頁中調用組件
以后在ASP文件中,通過調用該組件完成原來的功能。在網頁中調用你制作的組件,方法如下:
以下是引用片段:
你看,現在Asp文件中的內容只是組件的調用(與以前完全不同),別人即使得到該文件,也無法編輯修改源代碼,由于代碼都被封裝在VB組件中了,對于組件中的代碼,外人是無法看到、也不能反編譯的!
3、自己編寫加密程序
組件加密方法雖然不行破解,但是要求你熟識VB編程,需要把ASP代碼改寫成VB組件,工作量很大,所以建議大家自己編程來愛護asp代碼,其基本思路是:寫一個加密函數base64Encode和解密函數base64Decode,先用加密函數處理,得到對應的密文hu;然后再用execute(base64Decode(hu))替換。
例如我們要愛護上面那段asp代碼,可以這樣操作:
(1)用WORD處理
將拷到WORD中;在WORD中,把代碼里的段落標記(回車換行)全部替換成“水”這個漢字,方法是:點擊“編輯”/替換,光標移到“查找內容”欄,點“高級”/特別字符,選擇“段落標記”;光標移到“替換為”欄,輸入“水”,最終點“全部替換”。同法,把代碼中的單引號也全部替換成“加”這個漢字。
(2)編寫、運行加密程序
在FrontPage中編寫加密程序,該程序中有初始化函數initCodecs、加密函數base64Encode(代碼如下),把WORD處理后的代碼,copy粘貼在inp=“”這句中,最終以test1.asp名存盤;在IE中輸入/test1.asp本地運行該文件;屏幕上會顯示一大段亂碼(例如c2V0IHJzPXNlcnZlci5jcmVhd…),這就是《要愛護的asp代碼》對應的密文!
以下是引用片段:
OPTIONEXPLICIT
constBASE_64_MAP_INIT=“ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/”
dimnewline
dimBase64EncMap(63)
dimBase64DecMap(127)
diminp,hu,encode
callinitCodecs‘初始化
inp=“”‘將要愛護的asp代碼用WORD處理,然后填在此處
hu=base64Encode(inp)‘調用函數base64Encode進行加密,得到密文hu
Response.Write(hu)‘顯示密文
PUBLICSUBinitCodecs()‘初始化函數initCodecs
newline=
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
評論
0/150
提交評論