用 ScriptEncode 对 ASP 加密
使用 Script Encoder 对 ASP 页面进行加密,操作简单、收效良好。Script Encoder 方法具有许多优点:
1.HTML 仍具有很好的可编辑性。
Script Encoder 只加密在 HTML 页面中嵌入的 ASP 代码,其他部分仍保持不变,这就使得我们仍然可以使用 FrontPage 或 Dreamweaver 等常用网页编辑工具对 HTML 部分进行修改、完善,只是不能对 ASP 加密部分进行修改,否则将导致文件失效。
2.操作简单。
只要掌握几个命令行参数即可。Script Encoder 的运行程序是 screnc.exe,其使用方法如下:
screnc [/s] [/f] [/xl] [/l defLanguage ] [/e defExtension] inputfile outputfile
其中的参数含义如下:
3.可以批量加密文件。
使用 Script Encoder 可以对当前目录中的所有的 ASP 文件进行加密,并把加密后的文件统一输出到
相应的目录中。例如:
screnc *.asp c:\temp
4. Script Encoder 是免费软件。
该加密软件可以从微软网站下载。
常见问题和注意事项
1、在 JOY ASP 中几次看到有网友使用 Script Encoder 时出现如下错误:
"Script Encoder object <"Scripting.Encoder"> not found "
其原因:是使用 Script Encoder 需要 Script Engine 5.0 或以上脚本引擎的支持。
解决的办法有两个,升级浏览器到 IE5 或安装 Script Engine 5.0。
2、在加密 Global.asa 时,加密完成后访问出现:
Active Server Pages 错误 'ASP 0137'
无效通用脚本
global.asa, 行 1
Script 块必须是允许的 Global.asa 过程之一。< %...% > 中的 Script 原语不允许在global.asa 文件中。允许的过程只能是 Application_OnStart , Application_OnEnd , Session_OnStart , 或 Session_OnEnd。
加密后的 global.asa 文件为:
<%@ LANGUAGE = VBScript.Encode %><SCRIPT LANGUAGE=VBScript.Encode
RUNAT=Server>#@~^nAIAAA==@#@&?i~Pzww^k1CYbWU{}xjOmDY@#@&@#@&BP</SCRIPT>
<SCRIPT LANGUAGE=VBScript.Encode RUNAT=Server>#@~^OgEAAA==@#@&?i~Pzww^k
1CYbWU{}x3U9@#@&@#@&P,P?O~sbVr8Ln^DPxPUnD7+. ;D+COr==^#~@</SCRIPT>
<SCRIPT LANGUAGE=VBScript.Encode RUNAT=Server>#@~^DQMAAA==@#@&?i~PU+/kk
KU{}xjYmDO@#@&@#@&E~NnJ*Px~rCl1V+MJ@#@&3Hf,?`A@#@&ftEAAA==^#~@</SCRIPT>
<SCRIPT LANGUAGE=VBScript.Encode RUNAT=Server>#@~^WwIAAA==@#@&?i~PU+/kk
KU{}x3x9@#@&(6P?d/bWxvEj{!/DmmG[JbP@!@*PrCC^0+DE~:tnx@#@&</SCRIPT>
出现这个错误的原因是:在加密完的 global.asa 文件顶部被写入了 <%@ LANGUAGE = VBScript.Encode %>。
解决的办法是手动删去这一行或者使用 /xl 参数加密即可。
3、Script Encoder 对 Remote Scripting 无效。