网站安全之ASP程序加密解密方法全面解析Word格式文档下载.docx

上传人:b****6 文档编号:19242076 上传时间:2023-01-04 格式:DOCX 页数:12 大小:21.09KB
下载 相关 举报
网站安全之ASP程序加密解密方法全面解析Word格式文档下载.docx_第1页
第1页 / 共12页
网站安全之ASP程序加密解密方法全面解析Word格式文档下载.docx_第2页
第2页 / 共12页
网站安全之ASP程序加密解密方法全面解析Word格式文档下载.docx_第3页
第3页 / 共12页
网站安全之ASP程序加密解密方法全面解析Word格式文档下载.docx_第4页
第4页 / 共12页
网站安全之ASP程序加密解密方法全面解析Word格式文档下载.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

网站安全之ASP程序加密解密方法全面解析Word格式文档下载.docx

《网站安全之ASP程序加密解密方法全面解析Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《网站安全之ASP程序加密解密方法全面解析Word格式文档下载.docx(12页珍藏版)》请在冰豆网上搜索。

网站安全之ASP程序加密解密方法全面解析Word格式文档下载.docx

  其中[switches]项目可以选以下5个参数

  [switches]含义举例

  /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"

AHREF=new0.asp?

lbid=gqx>

%=gqx%>

/A>

"

  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组件

  接下来把<

欲保护的asp代码>

改写成VB组件,代码如下:

  publicfunctionhtml_combo(disp_tableasstring)asstring

  dimoutstringasstring

  dimconnasadodb.connection

  dimrstasadodb.recordset

  dimsqlstringasstring

  setconn=createobject("

adodb.connection"

  setrst=createobject("

  sqlstring="

select*from"

&

disp_table&

"

wherexs=1orderbydateasc"

  '

以上是在VB中打开数据库操作,数据库中的表名、字段名,你可以根据自己的需要修改

  conn.open"

dsn=sumnet"

  rst.opensqlstring,conn,3,3

  ifrst.eofandrst.bofthen

  outstring="

还没有这类单位信息"

  rst.movefirst

lbid="

&

request("

lbid"

)&

  html_combo=outstring

  rst.close

  endfunction

  写好以上VB代码后,保存项目并开始编译。

  (3)生成安装文件

  打开visualstudio6中附带的packagedeploymentwizard程序,选择刚才建立的activex项目文件lacl;

选择package,选择要打包的脚本或使用默认脚本,选择标准安装,为生成的安装文件选择一个存放目录,选择singlecab.其他均默认;

然后单击下一步,安装文件就自动生成了!

  (4)在IIS服务器上安装组件

  在IIS服务器上运行这个安装文件,把组件安装到服务器上。

  (5)在网页中调用组件

  以后在ASP文件中,通过调用该组件完成原来的功能。

在网页中调用你制作的组件,方法如下:

%@language="

vbscript"

%>

%

setdiaoyong=server.createobject("

lacl_disp.disp"

html>

body>

%=diaoyong.html_combo("

gq"

)%>

br>

/body>

/html>

  你看,现在Asp文件中的内容只是组件的调用(与以前完全不同),别人即使得到该文件,也无法编辑修改源代码,因为代码都被封装在VB组件中了,对于组件中的代码,外人是无法看到、也不能反编译的!

  3、自己编写加密程序

  组件加密方法虽然不可破解,但是要求你熟悉VB编程,需要把ASP代码改写成VB组件,工作量很大,所以建议大家自己编程来保护asp代码,其基本思路是:

写一个加密函数base64Encode和解密函数base64Decode,先用加密函数处理<

要保护的asp代码>

,得到对应的密文hu;

然后再用execute(base64Decode(hu))替换<

  例如我们要保护上面那段asp代码,可以这样操作:

  

(1)用WORD处理<

要保护的ASP代码>

  将<

拷到WORD中;

在WORD中,把代码里的段落标记(回车换行)全部替换成“水”这个汉字,方法是:

点击“编辑”/替换,光标移到“查找内容”栏,点“高级”/特殊字符,选择“段落标记”;

光标移到“替换为”栏,输入“水”,最后点“全部替换”。

同法,把代码中的单引号也全部替换成“加”这个汉字。

  

(2)编写、运行加密程序

  在FrontPage中编写加密程序,该程序中有初始化函数initCodecs、加密函数base64Encode(代码如下),把WORD处理后的代码,copy粘贴在inp="

这句中,最后以test1.asp名存盘;

在IE中输入http:

//127.0.0.1/test1.asp本地运行该文件;

屏幕上会显示一大段乱码(例如c2V0IHJzPXNlcnZlci5jcmVhd...),这就是《要保护的asp代码》对应的密文!

  OPTIONEXPLICIT

  constBASE_64_MAP_INIT="

ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"

  dimnewline

  dimBase64EncMap(63)

  dimBase64DecMap(127)

  diminp,hu,encode

  callinitCodecs'

初始化

  inp="

WORD处理后的asp代码>

'

将要保护的asp代码用WORD处理,然后填在此处

  hu=base64Encode(inp)'

调用函数base64Encode进行加密,得到密文hu

  Response.Write(hu)'

显示密文

  PUBLICSUBinitCodecs()'

初始化函数initCodecs

  newline="

P>

chr(13)&

chr(10)

  dimmax,idx

  max=len(BASE_64_MAP_INIT)

  foridx=0tomax-1

  Base64EncMap(idx)=mid(BASE_64_MAP_INIT,idx+1,1)

  next

  Base64DecMap(ASC(Base64EncMap(idx)))=idx

  ENDSUB

  PUBLICFUNCTIONbase64Encode(plain)'

加密函数base64Encode

  iflen(plain)=0then

  base64Encode="

  exitfunction

  dimret,ndx,by3,first,second,third

  by3=(len(plain)\3)*3

  ndx=1

  dowhilendx<

=by3

  first=asc(mid(plain,ndx+0,1))

  second=asc(mid(plain,ndx+1,1))

  third=asc(mid(plain,ndx+2,1))

  ret=ret&

Base64EncMap((first\4)AND63)

Base64EncMap(((first*16)AND48)+((second\16)AND15))

Base64EncMap(((second*4)AND60)+((third\64)AND3))

Base64EncMap(thirdAND63)

  ndx=ndx+3

  loop

  ifby3<

len(plain)then

  if(len(plain)MOD3)=2then

Base64EncMap(((second*4)AND60))

Base64EncMap((first*16)AND48)

  ret=ret'

="

  base64Encode=ret

  ENDFUNCTION

  (3)重新改写要保护的asp文件

  改写原来的asp文件,在文件中增加UnEncode和base64Decode函数,全部代码如下:

  DimHu,Hu2

拷贝“欲保护asp代码”的密文将之存放到Hu变量中

  Hu=”c2V0IHJzPXNlcnZlci5jcmVhdGVvYmplY3Qo12Fkb2RiLnJlY29yZHNldOMpICAgICDuc3FsPeNzZWxlY3QgKiBmcm9tIGdxICB3aGVyZSB4cz0xIG9yZGVyIGJ5IGRhdGUgYXNj1yAgICAgsnJzLm9wZW4gc3FsLGNvbm4sMSwxICAgICDuaWYgcnMuZW9mIGFuZCBycy5ib2YgdGhlbiDucmVzcG9uc2Uud3JpdGUTvSD7INAg5iAgILUgvyAFILITsmVsc2UgsiAgICAgUmVzcG9uc2UuV3JpdGUg1zxBIEhSRUY9bmV3MC5hc3A/bGJpZD0TJnJlcXVlc3Qo12xiaWQTKSAmIOM+PC9BPuPuZW5kIGlmICAgIL5zZXQgcnM9bm90aGluZyAgICAgICAgsmNvbm4uY2xvc2UgICAgICDuc2V0IGNvbm49bm90aGluZyAgIL4”

  Hu2=base64Decode(hu)'

还原要保护的ASP代码

  execute(UnEncode(Hu2))'

还原单引号、回车换行,并执行原代码

  ’解密函数base64Decode

  FUNCTIONbase64Decode(scrambled)

  iflen(scrambled)=0then

  base64Decode="

  dimrealLen

  realL

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 经管营销 > 人力资源管理

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1