我一直在阅读文档,并且很难解决这个问题。翻译会很有帮助。

我在线上遇到了有关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)'
                      }'})

关于python - 用Python编写yara规则,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37118739/

10-11 14:00