如何加密ASP程序_第1页
如何加密ASP程序_第2页
如何加密ASP程序_第3页
如何加密ASP程序_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

如何加密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

提交评论