Get desktop application:
View/edit binary Protocol Buffers messages
Binary expression, consisting of two expressions joined by an operator.
Used in:
Operator. Required.
Left expression. Required.
Right expression. Required.
Used in:
matches
contains
at
in
<
>
<=
>=
==
!=
intXX and uintXX functions
+
-
*
\
%
^
&
|
<<
>>
A sequence of bytes, which may contain wildcards.
Used in:
The list of values.
The mask applied to each byte in value. Indexes and length of value and mask must match. Possible masks: 00 -> Full wildcard, value is ignored (??). 0F -> Nibble-wise wildcard (?v). F0 -> Nibble-wise wildcard (v?). FF -> No wildcard (vv).
List of which values are using the ~ operator.
Expression used as part of a rule condition.
Used in:
, , , , , , , , , , , , ,Sequence of expressions.
Used in:
,Terms in the sequence.
FOR expression, used as part of ForInExpressions and ForOrExpressions. Can contain either an expression or a keyword.
Used in:
,Example: "for 10"
Example: "for all"
Example: "x%"
Expression for iterating over iterators. Example: for <for_expression> k,v in iterator : ( expression ) Next id: 6
Used in:
FOR expression: "for any". Required.
Identifiers that will hold the values returned by the iterator. Required.
Iterator: "(1..10)", "(1,2,3)", "identifier" . Required.
Expression to match: "@s1[i] != @s2[i]". Required.
Keywords used in FOR expressions.
Used in:
No items must satisfy a condition.
All items must satisfy a condition.
At least one item must satisfy a condition.
A ForOfExpression is satisfied if at least "expression" strings in "string_set" satisfy "expression". Example: for all of ($s1, $s2) : (@$ > 10)
Used in:
FOR expression: "for all". Required.
String set: "($s1, $s2)". Required.
Expression to match: "(@$ > 10)"
"3 of ($s1, $s2) in (0..100)"
Rule set: "(rule1, rule2, foo*)". Only one of StringSet or RuleEnumeration is allowed.
Offset to match: "1 of them at 0"
List of alternatives for a part in the hexadecimal string.
Used in:
Alternatives, which are sequences of tokens.
A token in a hexadecimal string. A token can be either a sequence of bytes, a jump or an alternative.
Used in:
A sequence of bytes, which may contain wildcards.
A jump.
An alternative of token sequences.
Sequence of hexadecimal string tokens.
Used in:
,Tokens.
Identifier used as part of expressions. Consists of sequence of identifiers, expressions and arguments. Examples: - my_var - pe.number_of_resources - math.entropy(mystr[i])
Used in:
,Items in the identifier.
Used in:
Enumeration of integer values.
Used in:
Enumeration values, which can be calculated from an expression.
Functions for reading data from a file at a specified offset or virtual address.
Used in:
Integer function: (u)intXX(be). Required.
Offset or virtual address. Required.
Set of integer numbers, which can be either an enumeration of integer values or a range of values.
Used in:
Enumeration of integer values.
Range of values.
Used in:
Sequence of arbitrary content and variable length.
Used in:
Minimum jump length. 0 if not present.
0 if not present
Maximum jump length. Infinite if not present.
Keywords used in expressions of rule condition.
Used in:
Raw offset of a PE or ELF file entrypoint.
Size of the scanned file.
LiteralInteger
Used in:
Rule metadata entry.
Used in:
Metadata key. Can be repeated. Required.
Entry value, which can be a string, a number or a boolean.
Used in:
,A range of values. The start and end of a range are expressions, so they do not need to be constants.
Used in:
, ,Range start. Required.
Range end. Required.
Regular expression string.
Used in:
,String content.
String modifiers.
YARA rule.
Used in:
Rule modifiers (global, private).
Rule identifier. Must be unique in the ruleset. Required.
Tags. Cannot be repeated.
Metadata.
String declarations.
Boolean expression to check.
Set of rules, referenced by their identifier. A wildcard can be used to match multiple rules.
Used in:
Items in the rule enumeration.
An entry in the rule enumeration.
Used in:
Identifier or part of it if a wildcard (*) is used. Includes the wildcard if present.
Wildcard (*).
Rule modifiers.
Used in:
Impose restrictions on all the rules in the ruleset.
Rule is not reported when matches a file.
Set of YARA rules.
Names of the imported modules. Examples: "pe", "elf", "cuckoo", "magic", "hash", "math", ...
Path to other YARA source files whose content should be included. Examples: - "other_rule.yar" - "rules/rule1.yar"
Set of rules.
Rule string entry.
Used in:
String identifier. Required.
String value, which can be a text string, an hexadecimal string or a regular expression.
Enumeration of strings, referenced by their identifier. A wildcard can be used to match multiple strings. Examples: $str1, $str*
Used in:
Items in the strings enumeration.
An entry in the strings enumeration.
Used in:
String identifier or part of it if a wildcard (*) is used. Includes the wildcard if present.
Wildcard (*).
Refers to the length of the matches of a string (or, optionally, to the length of the i-th match). It is useful when combined with regular expressions or hexadecimal strings, which may contain jumps. Examples: - !s1 > 50 - !s1[1] != 30
Used in:
String Identifier. Required.
The index of the match.
Modifiers for TextStrings and Regexps.
Used in:
,Case-insensitive.
Strings should be ASCII-encoded.
String should be encoded with two bytes per character.
Only matches the string if it appears delimited by non-alphanumeric chars.
Matches strings with a single-byte XOR applied to them.
Regexp case-insensitive modifier.
Regexp single-line modifier.
String is private.
Minimum and maximum values for the XOR key. These values are present only if the "xor" field is true.
String is base64.
Optional alphabet for base64 strings.
String is base64 wide.
Refers to the offset or virtual address at which a string (or, optionally, the i-th occurence of the string) is found. Examples: - $s1 at 1000 - $s1[2] at 1000
Used in:
String identifier. Required.
The index of the occurrence of the string.
Set of strings. Can be either an enumeration of strings or a keyword.
Used in:
Enumeration of strings. Example: ($s1, $s2, $s3)
Keyword. Example: them.
Keywords used in string sets.
Used in:
All the strings in the rule (equivalent to $*).
Text string.
Used in:
String content. Any character that appears in escaped form in the source is translated to their binary form. For example, if the string contained \x01, this string contains a 01 byte.
String modifiers.
Unary expression, consisting of an operator applied to an expression.
Used in:
Operator. Required.
Expression. Required.
Used in:
-
~