火绒安全软件

火绒安全软件6.0
发新帖
打印 上一主题 下一主题

火绒规则执行

[复制链接]
4749 8
楼主
发表于 2014-11-22 09:40:00 | 只看该作者 |倒序浏览 |阅读模式
跳转到指定楼层

* 可以使用星号代替0个或多个字符。
? 可以使用问号代替一个字符。
> 替代所有字符直到遇到“\”。
问题:
1.上面是置顶帖对通配符的解释,请问*能不能代表“\”。
2.>能不能代表0个字符。

具体举例:
一条规则(卡饭论坛网友的防流氓规则):
*:\Program files*\>   询问
这条规则怎么理解?
*:\很好理解,某个盘符下,和?:\效果是一样的。
Program files*\是指哪个目录,这里的*能不能代表“\”:
A.如果能,在“Program files123”目录下下创建文件或文件夹,弹框询问。在“Program files\123\abc”目录下创建文件或文件夹,为什么不弹框询问,直接创建成功。在这条规则中*难道只能代替123,不能代替123\abc。
   规则*.exe,不论在任何位置创建exe文件都能弹框询问。这时候*能够代替“字符+\”
这种差异怎么理解。
B.如果不能,这里的*和>有什么不同,*:\Program files*\> 写成,*:\Program files>\>
  在“Program files123”目录下下创建文件或文件夹,没有弹框,直接创建成功。
  是不是>不能代替0个字符。
C.在Program files和Programdata文件夹目录下创建文件或文件夹,询问
   我写成*:\Program>\>,我在Program files创建文件,允许。在Programdata下直接就允许了,也许有缓存。如果是在同一个目录下,有缓存,不管创建什么文件,可以理解,在不同的目录下页这样缓存,觉得就有问题了。


4749 8
沙发
发表于 2014-11-22 13:23:56 | 只看该作者
*代替任何字符 包括没有字符
> 代表任何字符 直到\ 为止
*:\Program files*\>   和 ?:\Program files*\>效果一样

该规则的意思为 监控 任何盘符根目录下的  Program files 或  Program files(X86) 文件夹下创建新文件
不监控 Program files下的 已有目录

该规则主要为房主被流氓静默安装,因为软件的默认安装目录一般都为 Program files 或  Program files(86) 如果连 子目录一起监控可能会导致误报过多
4749 8
板凳
发表于 2014-11-22 15:05:14 | 只看该作者
tnwdragon 发表于 2014-11-22 13:23
*代替任何字符 包括没有字符
> 代表任何字符 直到\ 为止
*:\Program files*\>   和 ?:\Program files*\>效 ...

你只是描述了这条规则,并未解释我问的问题。我所问的是*到底能代表到什么地方。
我已经说的很清楚,不只是你说的那两个文件夹, Program files123这样的文件夹也可以监控

我所问的是在*:\Program files*\> 这条规则下:
为什么Program files123目录可以被监控,Program files123\abc(注意我说的是abc目录)为什么不被监控。
*代替所有字符,为什么在这能代替123,却不能代替123\abc这几个字符。


*.exe规则,为什么这时候*好可以代替包含"\"的字符串。
4749 8
地板
发表于 2014-11-22 15:27:07 | 只看该作者
zgy3073 发表于 2014-11-22 15:05
你只是描述了这条规则,并未解释我问的问题。我所问的是*到底能代表到什么地方。
我已经说的很清楚,不只 ...

*代替所有字符,但不会覆盖原本字符啊

*\ 的意思就是  随便什么名称+  \  所以  \之前的 *号都可以代替,\之后的就不管了啊

除非你是Program files*  没有\  那就包括了 所有的了

而>号作用就是 只管根目录 不管子目录

Program files123\>   就是 只管 Program files123\下面的   不管  Program files123\abc  也不管  Program files123\XYZ
4749 8
5#
发表于 2014-11-22 15:43:39 | 只看该作者
本帖最后由 zgy3073 于 2014-11-22 16:01 编辑
tnwdragon 发表于 2014-11-22 15:27
*代替所有字符,但不会覆盖原本字符啊

*\ 的意思就是  随便什么名称+  \  所以  \之前的 *号都可以代替 ...

你还是没有明白我的意思
第一,我没有说过覆盖原本字符
第二,规则是*:\Program files*\>,创建询问,只有这一条。
第三,在Program files123目录下创建文件或文件夹,弹框询问。
         在Program files123\abc目录下创建文件或文件夹,直接创建成功。
第四:第一个文件路径(D:\Program files123),第二个路径(D:\Program files123\abc)。
         我在D盘根目录下创建了一个文件夹,名称是Program files123,然后进入这个文件夹向下一级一级创建新文件夹,第一级创建文件夹名称是abc,创建的时候弹框询问。我允许后,退出托盘图标,再打开火绒, 去除了缓存效果。然后再在abc下面创建新文件夹就直接允许了。 这时候回到abc的上级目录Program files123创建,依然会出现弹框。
第五:为什么在这条规则下在D:\Program files123\abc\下创建文件为什么不弹框,直接允许。


请你先弄明白我说的到底是什么意思再回答,回答了几次都没有回答到我的问题。

那三个通配符官方介绍谁都认识那几个字。

还有我问的>能不能代表0个字符,你只是复制了官方的介绍;官方说的很清楚,*可以代表0个字符。那么>可不可以,官方没说,你也没说明白。

*:\Program files*\>和*:\Program files>\>有什么不同,为什么处理结果不一样,这两条规则中不同的地方只有中间的*和>地方,请问在这个时候
*和>有什么区别呢?在这两条规则上我所得到的结果是:
1.在中间位置的*代表所有字符,包括0个字符,但是不包括“\”。
2.在中间位置的>代表所有字符,不包括0个字符(至少有一个字符),不包括“\”。

注意一点:我问的问题,在中间位置上的*这时候,为什么代表的字符不包括“\”了,如果包括“\”,可以扩展到很多级目录,但实际上是不能扩展的,
                这个结果和官方介绍的就有不同了。

4749 8
6#
发表于 2014-11-22 16:20:37 | 只看该作者
本帖最后由 tnwdragon 于 2014-11-22 16:23 编辑
zgy3073 发表于 2014-11-22 15:43
你还是没有明白我的意思
第一,我没有说过覆盖原本字符
第二,规则是*:\Program files*\>,创建询问,只有 ...

是你自己没理解

都说了 * 是代替所有字符,但不会取消你已经设定好的字符
*:\Program files*\  的意思 仅仅只是  一级根目录
他可以替代所有包含Program files 的一级目录
比如 C:\Program files\  D:\Program files\  C:\Program files123\ C:\Program files ABC\
为什么对于Program files123\abc不管,因为你自己在*号后+了 \ 所以 对于\后的 目录是无效的
*号代替的是你自己设定的\号前的所有字符

如果你想全部有效那就得 *:\Program files* 不能加\
而如果你想所有的 Program files 都有效  那就 前面都不能加:\  直接 *\Program files*  这样的意思就是 任何目录包含 Program files 并且是 Program files 开头的 全都监控
如果是 *Program files*  那就是  任何 包含 Program files 的都监控,而没有 Program files必须为开头的限制了

换句话说  *号虽然可以代替任何字符,但是你可以认为加限制的

而> 同样是代替所有字符,不过是 自己天生就有了 \的限制 而不用你手动加

再仔细点和你说区别
*:\Program files*\> 仅仅只是 Program files 开头的一级目录 也就是对 从C:\Program files123\abc 不管
*:\Program files*\* 以Program files 开头的一级目录下的所有目录  对  C:\Program files123\abc 也有效,但不阻止创建C:\Program files123 空文件夹
*:\Program files*  以Program files开头一级目录以及下面的所有目录 对 C:\Program files123\abc也有效,连 C:\Program files123 空文件夹都阻止
4749 8
7#
发表于 2014-11-22 16:30:40 | 只看该作者
本帖最后由 tnwdragon 于 2014-11-22 16:39 编辑

* 在各种情况下的不同作用

*\abc\*
任意ABC的子目录

*\abc*
任意包括ABC开头的目录及子目录
*\abc*\ 任意包括abc开头的目录

*\abc*\*
任意包括abc开头的子目录

*:\abc*
任意ABC开头的根目录及子目录

*abc*
任意包括abc 的文件夹和文件

*abc.txt
任意 以abc 结尾的  TXT文件

abc*.txt
任意以abc开头的 TXT文件

*abc*.txt
任意以abc开头 或结尾或中间包含abc的TXT文件

abc.*
文件名为ABC的任意格式文件

这样明白了没? *号代替的是你自己所设定的条件以外的所有字符

4749 8
8#
发表于 2014-11-22 16:59:17 | 只看该作者
这个就是官方介绍的问题了,并不是我不理解。
1.*代表任何字符,包括0个字符和"\",(但是*遇到人为添加的“\”就不能代表包括“\”,只能代表0个或多个字符)。括号中这点他并没有介绍。
  *:\Program files*\>这个情况就遇到我说的了,“\”是人为添加的,这时候就不能代表“\”,所以Program files123\abc这个就不行了。

2.你一直在说*代表任何字符,难道 “Program files123\abc”里面的“123\abc”就不是字符,这就和“可以使用星号代替0个或多个字符”这句话背离了。我不是非要较真,而是他没有说清楚,让人误解。尤其他创建“>”这个符号专门分清了和“\”的关系。
我自然认为*在任何时候可以代表任何字符了,可事实并非如此,在咱们这个例子中他却不能代表123\abc这个几个字符。
3.按我的理解*:\Program files*\>和*:\Program files* 没有区别,*代表后面一切了,事实却并非如此,希望官方把像这样容易产生歧义的地方解释清楚。
3.如果按我的理解*:\Program files*\>和*:\Program files* 就没区别,反正*可以代表任何字符,希望官方解释清楚,是否还有其他有歧义的地方。
4749 8
9#
发表于 2014-11-22 17:27:42 | 只看该作者
tnwdragon 发表于 2014-11-22 16:30
* 在各种情况下的不同作用

*\abc\*

abc*.txt
任意 以abc 结尾的  TXT文件
我刚才专门做了这个实验,专门主动添加“.”的形式,做双扩展名。他就没有出现歧义,并没有在我主动添加“.”而不起作用了。

他既然创建了>,专门用来处理碰到“\”的情况。我觉得这么更好,让>代表除“\”以外所有字符,包括0个字符,*继续代表任何字符。
那么这条规则就可以变成这样 *:\Program files>\>,清楚明了,没有任何歧义。就算有3层目录,我可以用 *:\Program files>\>\>来处理,这样我觉得更清楚,遇到无限的采用*。


而现在呢 *:\Program files>\>和*:\Program files*\>只有一点的差别,前者不能代表Program files目录,后者却能,其他以Program files开头的目录都可以。
              *:\Program files*和*:\Program files*\>只有一点区别,前者能代表无限,后者却只能代替一层目录。
每种都只能有点小瑕疵,而且不太清楚的就产生歧义。。
您需要登录后才可以回帖 登录 | [立即注册]

本版积分规则

快速回复 返回顶部 返回列表