|
楼主 |
发表于 2008-5-24 13:40:06
|
显示全部楼层
在制定规则之前我们应该注意点什么? 既然要自己弄规则了,势必对用的软件比较了解了,而我们应该着重的了解下面的一些方面.
1、软件的规则优先顺序是怎么排列的
这个是制定规则的基础,对此含糊的作出了规则也将是思维混乱的,对于新学自建规则的人而言,建议规则少可以,但不要混乱,在对软件和系统逐渐了解之后,你的规则会丰富起来的。但是混乱造成的后果是你的规则没有很强的可读性和比较麻烦的后期再编辑,对系统学习hips规则的过程中将起到比较不利的影响。
2、软件的通配符
* ?等即是软件的通配符。他的作用是广泛的代表很多格式类似的物件来方便广泛规则的定义,一般来说*可以代替任意个字符(可以是0字符),?代表单独的字符(不能是0字符)当然不同的hips可能还有不同的其他设定来使规则的制定更加的方便快捷。比较常见的是:咖啡,gss的"**"可以代表多层目录而"*"不行,tiny的"?"和"*"都不能通配字符 "\" ,sns的#**#.#MODEXT# 通配符来代替*.任意可执行文件后缀 等等,不同软件的略有区别,初用一定要先搞明白.
ps.通配符常用的示范 *.*表示任意带"."的文件/文件夹,常用来表示有文件后缀名的文件
?:表示任意的一个字符接一个冒号的路径,一般表示任意盘符下的文件
3、软件的常用环境变量
环境变量是用来让软件的规则具有更强的可移植性和更简单的书写的,当然你要执意不用,除了写规则看起来乱一点和规则长一点也没有太多坏处,不过强烈建议养成利用环境变量写规则的习惯。软件的环境变量可以查询软件的帮助或者看别人同类软件的规则来学习,一般的常见环境变量有(我主要了解的是tiny的,所以其中大部分为tiny的。。)
%UserProfile% C(这里指系统盘):\Documents and Settings\你的用户名
%RemovableDrives% 可移动存储设备
%CdRoms% CD-ROM and DVD-ROM drives
%FixedDrives% 全部本地磁盘
%LanDrives% 网络磁盘
%SystemRoot% /%Windows dir% C(这里指系统盘):\WINDOWS
%SystemDrive% 系统盘(一般是c
%ProgramFiles% C(这里指系统盘):\Program Files
%AllUsersProfile% C(这里指系统盘):\Documents and Settings\All Users
ps.系统变量是可以改变的,我列出的是默认路径...会改的当然也知道怎么回事.这个怎么用?假设我要保护windows目录,我可以不用系统变量
C:\WINDOWS设置规则,也能直接%SystemRoot%....前者不能移植到别人系统盘是D的系统,而后者可以,这就是简单的区别.
4、注意手上软件一些特殊的规定,如前文说的sns的#**#.#MODEXT#;winpooch、ssm等的支持目录下的ad程序用通配符(即可以用c:*表示所有c盘下的程序;smm的注册表需要双条规则的;tiny的*不能通配/,也就说不能用*/*.*表示所有程序。当然还有不少特殊的东西,这里就不一一说明了(事实上我也不可能所有的程序都很了解)。
规则入门
基础的规则结构:
前面我们说过,任何看起来很复杂的规则只有两种基本结构所构成的,在这边我们将他们分别称为大面肯定结构和大面否定结构结构,将最底部确定规则结构的那条整体规则称为基调规则(可以说整个规则都是围绕这个规则展开的,他奠定了整体的基调),上面的规则部分称为排除规则。
在实际的局部规则选择中这两个结构各有用处,有时侯两个都可以用,这时我们应该选择规则比较少的结构进行架构规则,即当要否定的东西多的时候我们选择大面否定,反之选择大面肯定。
例1:建立规则,只允许程序在桌面建立快捷方式,不允许其他任意程序在桌面建立文件
分析:首先“只允许。。。”也就是说仅仅的特里允许,那大面是否定的,我们选择的基调规则就应该是大面否定的基调规则 禁止在桌面建立任意程序
其次,按照要求我们需要的排除规则为 允许 任意程序 写入 *.lnk 到桌面文件夹。按照使用软件的有限级将其至于基调规则上方。
常见格式
**desktop**\*.lnk 允许
**desktop**\** 禁止
例2:需要建立一个移动存储的规则,要求禁止自启动脚本的写入
分析:首先,在移动存储中我们是允许写入绝大部分文件的,大面肯定,我们选择的基调规则为允许所有文件写入。
其次,需要的排除规则 屏蔽autorun.inf 排除规则置于基调规则的上方
常见格式
%RemovableDrives%\autorun.inf 禁止
%RemovableDrives% \* 允许
利用两种结构的多次嵌套形成灵活的规则结构
有的时候单独的一个规则结构体无法达到需要的效果,我们可以利用多个结构体的嵌套来达到部分过滤的效果
例3:在一个大面肯定的总体规则体系中,我想做到例1中的局部肯定
分析,非常简单,在大面肯定的总体规则体系中,我们只要架构一个局部的例1一样的结构就能达到要求了
**desktop**\*.lnk 允许
**desktop**\** 禁止
*\* 允许
这样在总体上是大面肯定的,而在局部形成了一个小型的局部的大面否定规则,形成灵活的规则结构。
例4:在一个大面肯定的规则中形成例2中同样的效果。
同样很简单我们只需要将例2规则嵌套到整个规则体系中就能达到需要的效果
%RemovableDrives%\autorun.inf 禁止
%RemovableDrives% \* 允许
*\* 允许
当然,
%RemovableDrives%\autorun.inf 禁止
*\* 允许
也能达到同样的效果,但是在多层规则的结构中,个人推荐初学者可以选择直接嵌套,好处不少:1 嵌套简单,架构规则方便 2 局部规则更加纯净,不容易受到其他规则的影响,当规则出现问题的时候可以很方便的排除这个结构出现问题。当然熟练之后这个可以融入到最基础的那个整体规则体系中,可以省略一些规则。
例5:在一个大面肯定的规则中同时形成例1,例2中同样的效果。
按照前面的理论,我们直接嵌套就能达到效果
%RemovableDrives%\autorun.inf 禁止
%RemovableDrives% \* 允许(可省略)
**desktop**\*.lnk 允许
**desktop**\** 禁止
*\* 允许 |
|