re.regex
É possível definir a correspondência de expressões regulares em YARA-L 2.0 usando uma das seguintes sintaxes:
Usando a sintaxe YARA-L — relacionada a eventos. Confira a seguir uma representação genérica dessa sintaxe:
$e.field = /regex/Usando a sintaxe YARA-L como uma função que recebe os seguintes parâmetros:
- Campo em que a expressão regular é aplicada.
- Expressão regular especificada como uma string.
Confira a seguir uma representação genérica dessa sintaxe:
re.regex($e.field, `regex`)
Descrição
Essa função retorna true se a string contiver uma substring que corresponda à expressão regular fornecida. Não é necessário adicionar .* no início ou no fim da expressão regular.
Observações
- Para corresponder à string exata ou apenas a um prefixo ou sufixo, inclua os caracteres âncora
^(inicial) e$(final) na expressão regular. Por exemplo,/^full$/corresponde exatamente a"full", enquanto/full/pode corresponder a"fullest","lawfull"e"joyfully". - Se o campo da UDM incluir caracteres de nova linha, o
regexpsó vai corresponder à primeira linha do campo. Para forçar a correspondência completa do campo UDM, adicione um(?s)à expressão regular. Por exemplo, substitua/.*allUDM.*/por/(?s).*allUDM.*/. - Use o modificador
nocasedepois das strings para indicar que a pesquisa deve ignorar a capitalização.
Tipos de dados de parâmetros
STRING, STRING
Tipos de expressão de parâmetro
ANY, ANY
Tipo de retorno
BOOL
Amostras de código
Exemplo 1
// Equivalent to $e.principal.hostname = /google/
re.regex($e.principal.hostname, "google")