大话Windows Script Host编程(2) | ||
---|---|---|
http://www.sina.com.cn 2006年07月12日 10:31 天极yesky | ||
2.5 脚本示例
2.6 脚本文件的加密 由于脚本文件是纯文本文件,所以任何人不用任何工具都可以直接查看代码。与网页文件加密一样,WSH脚本文件也可以用微软提供的脚本编码器进行加密编码。编码器screnc可直接免费下载安装,它是一个命令行方式的软件,vbs与js文件分别编码加密成vbe与je文件,此类文件也可以直接双击运行,编码后的代码虽然还是文本文件,但里面的内容已经打乱了。编码后的文件还具有不可修改性,只要对它进行修改,即使只修改了1个字节,整个脚本就不能使用了。虽然编码器可以打乱代码,让人不能阅读其中的代码,也不能修改,但它只能算一个简单的工具,是防君子不防小人的,对付真正的解密高手或黑客是一点用都没有的。 3.WSH的应用 3.1 替代批处理文件 WSH的原目的就是为了替代DOS时代的批处理命令而推出的。如上例中的安装程序,就可以直接双击对应的文件,运行事先编写好的程序实现安装功能。这种用法主要用于一些简单的环境系统设置、临时性编写的小工具等具有一定逻辑功能的程序。由于功能比批处理强大得多,而编写及运行比使用特定的编程语言要简单,不需要开发环境及编译过程,修改也很方便,因此掌握WSH的脚本,对于程序员还是有一定的作用的。 3.2作为COM接口提供服务 WSH的另外的一个用途是作为COM接口程序供其他编程语言调用,可以提供一些此语言本身不具备的功能。一般情况下,在编程语言中若本身不提供的功能,要通过API来实现,但使用API毕竟比较麻烦。WSH提供的对象的功能是比较有用的,可以替代API。 作为一个标准的COM接口程序,上述介绍的WSH的对象,除了Wscript对象外,其它的对象都是可以直接在其它编程语言中使用的。如在VB中就可以直接用CreateObject函数建立对象,然后用对象的方法及属性对其进行操作。 4.WSH的安全问题 WSH脚本程序很简单,但是大部分高级语言能干的事情,它基本上都具备,所以许多病毒也利用了这一点,利用WSH来编制病毒程序。有些病毒甚至简单地用Email发送一个带病毒的VBS附件,用户一旦双击此附件文件,就会传染上病毒了。所以一段时间WSH弄得人心惶惶,许多人把WSH看作是病毒的罪魁祸首了。许多地方都介绍删除WSH而防止病毒的方法。其实也用不着这样害怕,虽然删除了WSH,可以防止部分利用WSH进行传染的病毒,但是这样防止根本不能从根本上解决问题。如收到VBS文件直接打开传染的问题,你打开一个EXE文件也有这问题,难道让机器把EXE文件也禁止了?其实只要知道VBS/JS/WSH/WSF等文件也是可以直接运行的、是有危险就是了,收到别人的这类文件就值得怀疑了。同样道理,WSH以组件方式为病毒干坏事,助纣为虐的事也一样,关闭WSH也只能解决部分问题,其它组件怎么办?设置IE选项中的安全级别很重要,安全级别太低了是不安全的。另外升级WSH到5.6版也可提高安全系数,有许多漏洞5.6版已经堵住了。当然若的确不用WSH,关闭它也是一种办法,Windows2000的方法是把VBS/JS等文件的关联去掉,或者干脆把Wscript.exe与Cscript.exe文件改名或删除。 5.结束语 WSH使用的是脚本语言,虽然功能没有正式的编程语言那么强,但由于系统是内置的,要求简单,甚至记事本就可以编写源程序,并可直接运行,而且使用的脚本语言是与常用的VB及Java很相似的两种脚本语言,所以应用还是非常广泛的。如一些简单的软件安装,系统机器的维护,为其它软件提供服务功能等。但它的缺点是由于部分机器为了防止病毒,把WSH删除了,所以本来不用安装软件,所有机器都能使用的优势也不一定存在了,在一些机器上想要使用,也要安装系统了。 |