用MS script encode加密asp(转)

发表于:2007-06-30来源:作者:点击数: 标签:
Active Server Page技术为应用 开发 商提供了基于脚本的直观、快 速、高效的应用开发手段,极大地提高了开发的效果。但由于ASP脚 本是采用明文(plain text)方式来编写的,所以应用开发商辛苦开发 出来的ASP应用程序,一旦发布到运行环境中去后,就很难确保
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脚本)都可以支持
加密处理。

原文转自:http://www.ltesting.net