re.regex

Disponible en:

Puedes definir la concordancia de expresiones regulares en YARA-L 2.0 con cualquiera de las siguientes sintaxis:

  • Usar la sintaxis de YARA-L: relacionado con eventos. A continuación se muestra una representación genérica de esta sintaxis:

    $e.field = /regex/
    
  • Usar la sintaxis de YARA-L: como una función que toma los siguientes parámetros:

    • Campo al que se aplica la expresión regular.
    • Expresión regular especificada como una cadena.

    A continuación se muestra una representación genérica de esta sintaxis:

    re.regex($e.field, `regex`)
    

Descripción

Esta función devuelve true si la cadena contiene una subcadena que coincide con la expresión regular proporcionada. No es necesario añadir .* al principio ni al final de la expresión regular.

Notas
  • Para que coincida exactamente con la cadena o solo con un prefijo o un sufijo, incluye los caracteres de anclaje ^ (inicial) y $ (final) en la expresión regular. Por ejemplo, /^full$/ coincide exactamente con "full", mientras que /full/ podría coincidir con "fullest", "lawfull" y "joyfully".
  • Si el campo de UDM incluye caracteres de salto de línea, regexp solo coincide con la primera línea del campo de UDM. Para aplicar la coincidencia completa de los campos de UDM, añada un (?s) a la expresión regular. Por ejemplo, sustituya /.*allUDM.*/ por /(?s).*allUDM.*/.
  • Puedes usar el modificador nocase después de las cadenas para indicar que la búsqueda debe ignorar las mayúsculas y minúsculas.

Tipos de datos de parámetros

STRING, STRING

Tipos de expresiones de parámetros

ANY, ANY

Tipo de devolución

BOOL

Códigos de ejemplo

Ejemplo 1
// Equivalent to $e.principal.hostname = /google/
re.regex($e.principal.hostname, "google")