五颜六色论坛 -> 网站建设 -> Microsoft® 脚本编写技术 - Microsoft® 脚本编码器 登录 -> 注册 -> 回复主题 -> 发表主题

无言沙漠 2006-05-10 12:08

脚本编码器是一种简单的命令行工具,它使脚本设计者可以对最终的脚本进行编码,从而使 Web 主机和 Web 客户不能查看或修改它们的源代码。注意,这种编码只能防止别人在无意中查看到您的代码,并不能防止蓄意黑客查看您的编码内容及其方法。
Web 设计者在 Web 页和服务器的 Active Sever Pages (.ASP)上编写脚本,足以在网页上添加您能想象到的所有功能。此外,Windows? Scripting Host(WSH) 和许多其他的应用程序也进行脚本编写,并取得了同样好的效果。

到目前为止,使用脚本的一个缺点是它既不能保护脚本内的知识产权,又不能保证用户所看到的就是您所创造的成果。聪明的运算法则和精心设计的脚本总是能完全被看见,因为它们是作为普通文字储存的。因此,每一级的脚本用户都能看到脚本设计者的原始编码,并能取出、修改它们,从而据为己有。显然,如果您正想在某一竞争激烈的领域占上风,这对您是非常不利的。

随着脚本小程序的引进,保护源代码变得更加重要。脚本设计者都希望使用这一简单的部件层次结构,但却并不一定想与他人共享自己的源代码。只要脚本经编码后,改变结果文件的任一部分都会使得脚本无法执行,这样,就保证了您编码脚本的绝对完整。

脚本编码器只对脚本代码进行编码,文件的其他内容不动且以普通文本形式显示。要使用脚本编码器,以通常方法对文本进行开发和调试,然后使用该实用程序对最终的脚本进行编码。 脚本编码器在源代码中使用标记来标识编码开始的位置。
对于 Visual Basic? Scripting Edition (VBScript),如下示例显示了如何使用编码标记来显示普通文本的版权信息:


在 JScript? 中,编码标记如下:

当脚本编码器被调用时,在开始标记前,脚本块内的内容保持不变,而其他内容被编码。因此,如果开始标记被省略,则脚本编码块内的所有内容均被编码,但如果开始标记在脚本编码块的最后,则不对任何内容进行编码。
在编码发生后。您应该知道 标记或 <% ... %> 标记内包含有效的 HTML 和内嵌脚本块。使用该格式的应用程序包括 Microsoft? Internet Information Services (IIS)。识别文件扩展名有 .asp、.asa 和 .cdx。

  • HTML。该格式由一个包含有效的 HTML 和内嵌脚本块的文本文件组成。使用该脚本格式编写的应用程序包括 Microsoft FrontPage?, Microsoft? Visual InterDev? 和所有虚拟的 Web 设计器及浏览器。识别文件扩展名有 .htm 和 .html。
  • 普通文本。该格式由只包含脚本而无两端标记的文本文件组成。使用该脚本格式编写的应用程序包括 Windows? Scripting Host (WSH) 和 Microsoft? Outlook?。 识别文件扩展名有 .js 和 .vbs,经编码后,分别变为 .jse 和 .vbe。
  • 脚本小程序。该格式由一个在 标记中包含有效脚本小程序的文本文件组成。识别文件扩展名有 .sct 和 .wsh。
  • 示例
    如下是使用脚本编码器的一个例子以及对其结果的简单解释:

    对输入文件 test.html 进行编码,生成输出文件 encode.html,使用:

    screnc test.html encode.html
    
    对输入文件 test.htm 进行编码,并用编码后的输出文件覆盖输入文件,使用:
    screnc /f test.htm
    
    对当前目录中的所有 .ASP 文件进行编码,并把编码后的输出文件放在c:\temp中,使用:
    screnc *.asp c:\temp
    
    对当前目录中的所有 .ASP 文件进行编码,并把编码后的输出文件放在c:\temp中,使用:
    screnc /e asp *.* c:\temp
    
    对输入文件 test.htm 进行编码,并生成输出文件 encode.htm,确保没有指定语言属性的脚本块使用 VBScript,使用:
    screnc /l vbscript test.htm encode.htm
    
    对当前目录中的所有脚本小程序文件进行编码,并不经信息显示就用编码后的文件覆盖这些文件,使用:
    screnc /s /f *.sct
    



    无言沙漠 2006-05-10 12:11

    如下是一个包含需要保护的 JScript 代码的简短示例:
    <HTML>
    <HEAD>
    <TITLE>脚本编码器示例页</TITLE>
    <SCRIPT LANGUAGE="JScript">
    <!--//
    //Copyright? 1998 Microsoft Corporation. All Rights Reserved.
    //**开始编码**
    function verifyCorrectBrowser(){
      if(navigator.appName == "Microsoft Internet Explorer")
        if (navigator.appVersion.indexOf ("5.") >= 0)
          return(true);
        else
          return(false);
    }
    function getAppropriatePage(){
      var str1 = "Had this been an actual Web site, a page compatible with ";
      var str2 = "browsers other than ";
      var str3 = "Microsoft Internet Explorer 5.0 ";
      var str4 = "would have been loaded.";
      if (verifyCorrectBrowser())
        document.write(str1 + str3 + str4);
      else
        document.write(str1 + str2 + str3 + str4);
    }
    //-->
    </SCRIPT>
    </HEAD>
    <BODY onload="getAppropriatePage()">
    </BODY>
    </HTML>
    该页在经脚本编码器运行后如下所示:
    <HTML>
    <HEAD>
    <TITLE>脚本编码器示例页</TITLE>
    <SCRIPT LANGUAGE="JScript.Encode">
    <!--//
    //Copyright? 1998 Microsoft Corporation. All Rights Reserved.
    //**开始编码**#@~^QwIAAA==@#@&0;	mDkW	P7nDb0zZKD.n1YAMGhk+Dvb`@#@&P,kW`UC7kLlDGDcl22gl:n~{'~Jtr1DGkW6YP&xDnD	+OPA62sKD+ME#@#@&P,~~k6PvxC\rLmYGDcCwa.n.kkWU bx[+X66Pcr*cJ#,@*{~!*P~P,P~.YEMU`DDEbIP,P,+s/n@#@&P~P,~PM+O;Mx`WC^/n#pN6EU1YbWx,oObaw.WaDrCD+nmL+v#	@#@&~P7lMPdY.q,'~J_CN,Y4rkP4nn	PCx,C1Y;mV,+(PkrY~~l,wCLPmKhwmYk(snPSkDt~JI@#@&P~\m.PkY.+,'PE8MWA/.kPGDtDPDtmUPri@#@&,P-CMP/D.&,'Pr\rmMWkWWY~(	YnD	nY,2a2^WDn.,* !,Ep@#@&,P7lD,/D.c,'~JSW;s9Ptm-+,4+U~VKl9+[REI,Pr0,c\DrWHZW..mOAMGS/nM`*#@#@&P,~P9W^Es+UOchDbO+v/YMq~_,/DDfPQ~kY.c*IP,+sd@#@&~~,P[W1;s+UDRSDkD+vdYMF~_,/O.yP_,dYM&P3~dYMc*iNz&R @*^#~@
    //-->
    </SCRIPT>
    </HEAD>
    <BODY onload="getAppropriatePage()">
    </BODY>
    </HTML>

    要点  :经过编码后,如果您改动编码后的文本,哪怕只改动一个字。脚本的完整性就会丢失,从而不能再使用。



    yuygx 2006-05-25 15:17
    看到了,学了一点。


    百业网络||网站建设、虚拟主机、系统开发、域名注册、网站推广
    [url]http://www.by28.net
    [/url]







    百业促销网---促销直航
    [url]http://gz.by28.cn/
    [/url]


    查看完整版本: [-- Microsoft® 脚本编写技术 - Microsoft® 脚本编码器 --] [-- top --]


    [ 五颜六色论坛 ]

    Powered by PHPWind 5.0.1 © 2005 苏ICP备05001866号 5y6s.net
    Time 0.026201 second(s),query:4 Gzip enabled