我一直在阅读文档,我一直很难弄清楚这一点。翻译会有很大帮助。
我在网上看到了 Yara 的这个示例 Perl 规则:
rule BadBoy
{
strings:
$a = "win.exe"
$b = "http://foo.com/badfile1.exe"
$c = "http://bar.com/badfile2.exe"
condition:
$a and ($b or $c)
}
你将如何在 Python 中编写和编译这条规则?
从python你首先需要import yara
直接来自文档:
然后,您需要在将 YARA 规则应用于您的数据之前对其进行编译,这些规则可以从文件路径编译:
rules = yara.compile()
您可以为格式化规则传递文件名,也可以插入一个字符串进行编译。
对于传递字符串,必须使用字典结构,键是数据的命名空间,值是属性。
import yara
rules = yara.compile(sources={
'identifier_for_instance_of rule':'rule BadBoy {
'strings': [('$a', 'win.exe'),('$b', 'http://foo.com/badfile1.exe') , ('$c', 'http://bar.com/badfile2.exe')],
'condition': '$a and ($b or $c)'
}'})