Yara Rule - Regex - syntax error: unexpected ')'

Yara Rule - Regex - syntax error: unexpected ')'

这里的答案 - https://whosebug.com/posts/58483988/revisions(绝对值得一读以了解 yara 表面上的正则表达式规则) - 似乎适用于我正在寻找的大约 20 个给定二进制文件,例如:

cuckoo.filesystem.file_access(/^C:\(.*\)?dnx\.exe$/i) or
cuckoo.filesystem.file_access(/C\:\WINDOWS\system32\Dxcap.exe/) or
cuckoo.filesystem.file_access(/C\:\WINDOWS\system32\dxcap.exe/) or
cuckoo.filesystem.file_access(/^C:\Program Files\(Microsoft Office\)?(.*\)?Excel\.exe$/i) or
cuckoo.filesystem.file_access(/^C:\Program Files\(Microsoft Office\)?(.*\)?EXCEL\.exe$/i) or
cuckoo.filesystem.file_access(/^C:\Program Files\(Microsoft Office\)?(.*\)?excel\.exe$/i) or
cuckoo.filesystem.file_access(/^C:\Program Files (x86)\(Microsoft Office\)?(.*\)?Excel\.exe$/i) or
cuckoo.filesystem.file_access(/^C:\Program Files (x86)\(Microsoft Office\)?(.*\)?EXCEL\.exe$/i) or
cuckoo.filesystem.file_access(/^C:\Program Files (x86)\(Microsoft Office\)?(.*\)?excel\.exe$/i) or

但是错误似乎出现在以下行中:

cuckoo.filesystem.file_access(/^C:\Program Files (x86)\)?(.*\)?mftrace\.exe$/i) or

那个错误是,第 28 行语法错误:意外的 ')'

第 27、28 和 29 行是:

cuckoo.filesystem.file_access(/^C:\Program Files (x86)\(Microsoft Office\)?(.*\)?excel\.exe$/i) or
cuckoo.filesystem.file_access(/^C:\Program Files (x86)\)?(.*\)?mftrace\.exe$/i) or
cuckoo.filesystem.file_access(/^C:\Program Files\)?(.*\)?mftrace\.exe$/i) or

我的 yara 规则有什么错误。

匹配以下目录:

C:\Program Files (x86)\ * \ mftrace.exe

其中星号基本上代表程序文件 (x86) 和 mftrace.exe

之间的任何中间路径

看起来您在第 28 行的此处有一个额外的右括号:

cuckoo.filesystem.file_access(/^C:\Program Files (x86)\)?(.*\)?mftrace\.exe$/i)
                                                         ^

在下一行几乎相同的位置还有一个。

此外,您可能希望转义模式中应被视为文字的其他括号(如 (x86))。