re.regex
Pode definir a correspondência de expressões regulares no YARA-L 2.0 com qualquer uma das seguintes sintaxes:
Usar a sintaxe YARA-L: relacionada com eventos. Segue-se uma representação genérica desta sintaxe:
$e.field = /regex/Usando a sintaxe YARA-L: como uma função que recebe os seguintes parâmetros:
- Campo ao qual a expressão regular é aplicada.
- Expressão regular especificada como uma string.
Segue-se uma representação genérica desta sintaxe:
re.regex($e.field, `regex`)
Descrição
Esta função devolve true se a string contiver uma substring que corresponda à expressão regular fornecida. Não é necessário adicionar .* ao início ou ao fim da expressão regular.
Notas
- Para corresponder à string exata ou apenas a um prefixo ou um sufixo, inclua os carateres de âncora
^(starting) e$(ending) na expressão regular. Por exemplo,/^full$/corresponde exatamente a"full", enquanto/full/pode corresponder a"fullest","lawfull"e"joyfully". - Se o campo UDM incluir carateres de nova linha, o
regexpsó corresponde à primeira linha do campo UDM. Para aplicar a correspondência total de campos da UDM, adicione um(?s)à expressão regular. Por exemplo, substitua/.*allUDM.*/por/(?s).*allUDM.*/. - Pode usar o modificador
nocaseapós as strings para indicar que a pesquisa deve ignorar as letras maiúsculas.
Tipos de dados de parâmetros
STRING, STRING
Tipos de expressões de parâmetros
ANY, ANY
Tipo devolvido
BOOL
Exemplos de código
Exemplo 1
// Equivalent to $e.principal.hostname = /google/
re.regex($e.principal.hostname, "google")