
 
 | 
| 技术资料  > ASP技术 > 客户端相关 : 用MS script encode加密asp(转) |  
用MS script encode加密asp(转) March 25,2004 |  
Active Server Page技术为应用开发商提供了基于脚本的直观、快 
速、高效的应用开发手段,极大地提高了开发的效果。但由于ASP脚 
本是采用明文(plain text)方式来编写的,所以应用开发商辛苦开发 
出来的ASP应用程序,一旦发布到运行环境中去后,就很难确保这些 
“源代码”不会被流传出去。这样就产生了如何有效地保护开发出来 
的ASP脚本源代码的需求。 
 
ASP运行机制 
 
ASP脚本是一系列按特定语法(目前支持vbscript和jscript两种 
脚本语言)编写的,与标准HTML页面混合在一起的脚本所构成的文 
本格式的文件。当客户端的最终用户用WEB浏览器通过INTERNET 
来访问基于ASP脚本的应用时,WEB浏览器将向WEB服务器发出 
HTTP请求。WEB服务器分析、判断出该请求是ASP脚本的应用后, 
自动通过ISAPI接口调用ASP脚本的解释运行引擎(ASP.DLL)。 
ASP.DLL将从文件系统或内部缓冲区获取指定的ASP脚本文件,接 
着就进行语法分析并解释执行。最终的处理结果将形成HTML格式的 
内容,通过WEB服务器“原路”返回给WEB浏览器,由WEB浏览 
器在客户端形成最终的结果呈现。这样就完成了一次完整的ASP脚本 
调用。若干个有机的ASP脚本调用就组成了一个完整的ASP脚本应 
用。 
 
官方加密程序:从微软免费下载到sce10chs.exe 直接运行即可完 
成安装过程。安装完毕后,将生成screnc.exe文件,这是一个运行在 
DOS PROMAPT的命令工具。 
运行screnc – l vbscript source.asp destination.asp生成包含密文 
ASP脚本的新文件destination.asp用记事本打开看凡是“"之 
内的,不管是否注解,都变成不可阅读的密文了,但无法加密中文。 
几种ASP源代码保护方法: 
1,“脚本最小化”即ASP文件中只编写尽可能少的源代码,实现 
商业逻辑的脚本部分被封装到一个COM/DCOM组件,并在ASP脚 
本中创建该组件,进而调用相应的方法(methed)即可。应用开发者 
动手开发ASP脚本应用之前就可按此思路来开发,或者直接用ASP 
脚本快速开发出原型系统后,针对需要保护、加密的重要脚本用 
COM/DCOM组件来重新开发、实现并替换。 
2,“脚本加密”即ASP脚本仍直接按源代码方式进行开发,但在 
发布到运行环境之前将脚本进行加密处理,只要把加密后的密文脚本 
发布出去。即在ASP.DLL读取脚本这个环节加入密文还原的处理。 
实现这种思路的方法有两种:一是自行开发一个ISAPI的IIS过 
滤(filter)块,在ASP.DLL之前勾连(hook)对ASP脚本文件的读 
取,以便把文件系统读出的密文还原成ASP.DLL可以解释的明文; 
方法二九是直接由ASP.DLL提供对ASP脚本加密处理的支持。微软 
在新版本的Vbscript.dll jscript.dll中提供这种成为MS script encode 
技术的支持。这样,无论是客户端的Vbscript jscript(包括WSH脚 
本等),还是服务器端的Vbscript jscript (即ASP脚本)都可以支持 
加密处理。 |  
 
 | 
  
Copyright © 2001-2008 Shenzhen Hiblue Software Team All rights reserved