re.regex
Puedes definir la coincidencia de expresiones regulares en YARA-L 2.0 con cualquiera de las siguientes sintaxis:
Uso de la sintaxis de YARA-L: Se relaciona con los eventos. A continuación, se muestra una representación genérica de esta sintaxis:
$e.field = /regex/Usa 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 agregar .* al principio ni al final de la expresión regular.
Notas
- Para que coincida la cadena exacta o solo un prefijo o 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,
regexpsolo coincide con la primera línea del campo de UDM. Para aplicar la coincidencia completa de los campos de UDM, agrega un(?s)a la expresión regular. Por ejemplo, reemplaza/.*allUDM.*/por/(?s).*allUDM.*/. - Puedes usar el modificador
nocasedespués de las cadenas para indicar que la búsqueda debe ignorar el uso de mayúsculas.
Tipos de datos de parámetros
STRING, STRING
Tipos de expresiones de parámetros
ANY, ANY
Tipo de datos que se muestra
BOOL
Muestras de código
Ejemplo 1
// Equivalent to $e.principal.hostname = /google/
re.regex($e.principal.hostname, "google")