如何加密ASP程序_第1頁(yè)
如何加密ASP程序_第2頁(yè)
如何加密ASP程序_第3頁(yè)
如何加密ASP程序_第4頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

如何加密ASP程序

目前對(duì)ASP程序的加密方法主要有三種:腳本編碼器(SRCENC.EXE)加密、組件加密、自編程序加密,下面我們就來(lái)綻開(kāi)介紹這三種加密方法。

1、使用微軟的MSScriptEncode進(jìn)行加密

微軟供應(yīng)了腳本編碼器MSScriptEncode(下載地址http://./itgene/download/download.aspID=232),可以對(duì)ASP程序進(jìn)行加密。這是一個(gè)簡(jiǎn)潔的命令行工具,其執(zhí)行文件是SRCENC.EXE,需要在DOS下運(yùn)行。它只加密頁(yè)面中嵌入的腳本代碼,把網(wǎng)頁(yè)中之間的ASP代碼轉(zhuǎn)換成不行讀的亂碼,其他部分則保持原樣不變。加密后的程序,必需使用InternetExplorer5.0以上版本才能正常掃瞄。

用SRCENC加密之后,文件中被加密過(guò)的部分將變成只讀類(lèi)型,假如你修改了加密部分(哪怕只改動(dòng)一個(gè)字),就會(huì)導(dǎo)致整個(gè)文件不能使用。對(duì)于VBScript,加密后在源文件的第一行會(huì)顯示:

其中項(xiàng)目可以選以下5個(gè)參數(shù)

含義舉例

/s可選。命令中帶了該參數(shù),加密過(guò)程中屏幕上就不會(huì)有輸出。screnc/slacl.sctulacl.sct

對(duì)當(dāng)前名目中的腳本小程序lacl.sct加密,加密過(guò)程中屏幕不顯示任何信息

/f可選。指定輸出文件是否掩蓋同名輸入文件。忽視,將不執(zhí)行掩蓋。screnc/flacl.asp

對(duì)文件lacl.asp加密,并用編碼后的同名文件掩蓋原文件

/xl可選。是否在.asp文件的頂部添加@Language指令。忽視,將添加。

/ldefLanguage可選。指定ScriptEncoder加密中選擇的缺省腳本語(yǔ)言。文件中不包含這種腳本語(yǔ)言特性的腳本將被ScriptEncoder忽視。

對(duì)于HTML文件,JScript為內(nèi)置缺省腳本語(yǔ)言;對(duì)于ASP文件,VBScript為缺省腳本語(yǔ)言;對(duì)于擴(kuò)展名為.vbs或.js的文件,ScriptEncoder也有自適應(yīng)力量。screnc/lvbscriptlacl.htmulacl.htm

對(duì)文件lacl.htm加密,并生成輸出文件ulacl.htm,確保沒(méi)有指定語(yǔ)言屬性的腳本塊使用VBScript

/edefExtension可選。指定待加密文件的文件擴(kuò)展名。缺省狀態(tài)下,ScriptEncoder能識(shí)別asa,asp,cdx,htm,html,js,sct和vbs文件。screnc/easp11\*.*f:\labxw-jm

對(duì)11名目中的全部.ASP文件進(jìn)行加密,并把編碼后的輸出文件放在f:\labxw-jm名目中

(2)操作舉例

例如要加密當(dāng)前名目中的lacl.asp文件,生成加密文件ulacl.asp,則在DOS下輸入命令:

screnclacl.aspulacl.asp

對(duì)當(dāng)前名目中的全部.ASP文件進(jìn)行加密,并把編碼后的輸出文件放在f:\labxw中,則使用命令:

screnc*.aspf:\labxw

2、使用組件加密asp

以上被screnc加密過(guò)的程序,是可以解密的(解密方法下文有介紹),假如你想徹底愛(ài)護(hù)自己的asp代碼,可以通過(guò)開(kāi)發(fā)activexdll組件的方法進(jìn)行愛(ài)護(hù)。

Dll文件是被編譯過(guò)的機(jī)器代碼,假如沒(méi)有源項(xiàng)目文件,是不行能被反編譯的,所以組件加密這種方法最平安,也不行能被破解。下面我們來(lái)舉例說(shuō)明操作過(guò)程,例如你要愛(ài)護(hù)以下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

可以把它們改寫(xiě)成VB組件,然后在ASP文件中調(diào)用組件即可。操作步驟如下:

(1)新建一個(gè)vb6的activexdll項(xiàng)目

在屬性窗口中,命名你的庫(kù)模塊和項(xiàng)目文件(例如項(xiàng)目名lacl,模塊名disp),以后在asp文件中,調(diào)用的對(duì)象名將為lacl_disp

選擇vb6中的項(xiàng)目菜單中的references,選中microsoftactivexdataobjects2.0library

(2)編寫(xiě)VB組件

接下來(lái)把改寫(xiě)成VB組件,代碼如下:

以下是引用片段:

publicfunctionhtml_bo(disp_tableasstring)asstring

dimoutstringasstring

dimconnasadodb.connection

dimrstasadodb.recordset

dimsqlstringasstring

setconn=createobject(“adodb.connection”)

setrst=createobject(“adodb.recordset”)

sqlstring=“select*from”選擇package,選擇要打包的腳本或使用默認(rèn)腳本,選擇標(biāo)準(zhǔn)安裝,為生成的安裝文件選擇一個(gè)存放名目,選擇singlecab.其他均默認(rèn);然后單擊下一步,安裝文件就自動(dòng)生成了!

(4)在IIS服務(wù)器上安裝組件

在IIS服務(wù)器上運(yùn)行這個(gè)安裝文件,把組件安裝到服務(wù)器上

(5)在網(wǎng)頁(yè)中調(diào)用組件

以后在ASP文件中,通過(guò)調(diào)用該組件完成原來(lái)的功能。在網(wǎng)頁(yè)中調(diào)用你制作的組件,方法如下:

以下是引用片段:

你看,現(xiàn)在Asp文件中的內(nèi)容只是組件的調(diào)用(與以前完全不同),別人即使得到該文件,也無(wú)法編輯修改源代碼,由于代碼都被封裝在VB組件中了,對(duì)于組件中的代碼,外人是無(wú)法看到、也不能反編譯的!

3、自己編寫(xiě)加密程序

組件加密方法雖然不行破解,但是要求你熟識(shí)VB編程,需要把ASP代碼改寫(xiě)成VB組件,工作量很大,所以建議大家自己編程來(lái)愛(ài)護(hù)asp代碼,其基本思路是:寫(xiě)一個(gè)加密函數(shù)base64Encode和解密函數(shù)base64Decode,先用加密函數(shù)處理,得到對(duì)應(yīng)的密文hu;然后再用execute(base64Decode(hu))替換。

例如我們要愛(ài)護(hù)上面那段asp代碼,可以這樣操作:

(1)用WORD處理

將拷到WORD中;在WORD中,把代碼里的段落標(biāo)記(回車(chē)換行)全部替換成“水”這個(gè)漢字,方法是:點(diǎn)擊“編輯”/替換,光標(biāo)移到“查找內(nèi)容”欄,點(diǎn)“高級(jí)”/特別字符,選擇“段落標(biāo)記”;光標(biāo)移到“替換為”欄,輸入“水”,最終點(diǎn)“全部替換”。同法,把代碼中的單引號(hào)也全部替換成“加”這個(gè)漢字。

(2)編寫(xiě)、運(yùn)行加密程序

在FrontPage中編寫(xiě)加密程序,該程序中有初始化函數(shù)initCodecs、加密函數(shù)base64Encode(代碼如下),把WORD處理后的代碼,copy粘貼在inp=“”這句中,最終以test1.asp名存盤(pán);在IE中輸入/test1.asp本地運(yùn)行該文件;屏幕上會(huì)顯示一大段亂碼(例如c2V0IHJzPXNlcnZlci5jcmVhd…),這就是《要愛(ài)護(hù)的asp代碼》對(duì)應(yīng)的密文!

以下是引用片段:

OPTIONEXPLICIT

constBASE_64_MAP_INIT=“ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/”

dimnewline

dimBase64EncMap(63)

dimBase64DecMap(127)

diminp,hu,encode

callinitCodecs‘初始化

inp=“”‘將要愛(ài)護(hù)的asp代碼用WORD處理,然后填在此處

hu=base64Encode(inp)‘調(diào)用函數(shù)base64Encode進(jìn)行加密,得到密文hu

Response.Write(hu)‘顯示密文

PUBLICSUBinitCodecs()‘初始化函數(shù)initCodecs

newline=

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論