我想把每个规则(规则1、规则2、规则3)都放在一个列表中。示例文件:https://github.com/Yara-Rules/rules/blob/master/malware/APT_WildNeutron.yar 我正在使用以下代码
patt=re.compile("\s*[\n]*rule.*[\n]*\s*.*{")
results=re.split(r'\s*[\n]*rule.*[\n]*\s*.*{.', buf)
结果不包含列表。但是看来拆分不起作用。 有人能帮忙吗?你知道吗
------------文件内容--------
rule rule1{
meta:
desc-test1
}
rule rule2{
meta:
desc-test2
}
rule rule3{
meta:
desc-test3
}
----文件结束----------预期产量
规则中可以有“规则字符串”。所以一个规则应该被确定为 规则ruleName{**content可以是任何内容,包括新行单词和任何字符串。规则内容将受到大括号的限制。我应该可以把规则提取到列表中。规则[0]应包含规则1及其内容。规则2也是如此。你知道吗
{
的内容后面紧跟着\n
,没有re.DOTALL
的.
与\n
不匹配。你知道吗\s*[\n]*
中,[\n]*
是无用的,因为\s
已经匹配了\n
。你知道吗所以
should do(
[1:]
丢弃第一个rule
之前的部分)。你知道吗相关问题 更多 >
编程相关推荐