Section 1 · User commands
yara.1
Package: yara
yara
NAME
SYNOPSIS
DESCRIPTION
EXAMPLES
AUTHOR
NAME
yara − find files matching patterns and rules written in a special-purpose language.
SYNOPSIS
yara [OPTION]… [NAMESPACE:]RULES_FILE… FILE | DIR | PID
DESCRIPTION
yara scans the given FILE, all files contained in directory DIR, or the process identified by PID looking for matches of patterns and rules provided in a special purpose-language. The rules are read from one or more RULES_FILE.
The options to yara(1) are: **
—atom-quality-table**
Path to a file with the atom quality table.
−C —compiled-rules
RULES_FILE contains rules already compiled with yarac.
−c —count
Print number of matches only.
−d —define*=identifier=value*
Define an external variable. This option can be used multiple times.
—fail-on-warnings
Treat warnings as errors. Has no effect if used with —no-warnings.
−f —fast-scan
Speeds up scanning by searching only for the first occurrence of each pattern.
−i identifier **—identifier=**identifier
Print rules named identifier and ignore the rest. This option can be used multiple times.
**—max-process-memory-chunk=**size
While scanning process memory read data in chunks of the given size in bytes.
−l number **—max-rules=**number
Abort scanning after a number of rules matched.
**—max-strings-per-rule=**number
Set maximum number of strings per rule (default=10000)
−x —module-data*=module=file*
Pass file’s content as extra data to module. This option can be used multiple times.
−n —negate
Print rules that doesn’t apply (negate).
−w —no-warnings
Disable warnings.
−m —print-meta
Print metadata associated to the rule.
−D —print-module-data
Print module data.
−M —module-names
show module names
−e —print-namespace
Print namespace associated to the rule.
−S —print-stats
Print rules’ statistics.
−s —print-strings
Print strings found in the file.
−L —print-string-length
Print length of strings found in the file.
−X —print-xor-key
Print xor key of matched strings.
−g —print-tags
Print the tags associated to the rule.
−r —recursive
Scan files in directories recursively. It follows symlinks.
—scan-list
Scan files listed in FILE, one per line.
−z size **—skip-larger=**size
Skip files larger than the given size in bytes when scanning a directory.
−k slots **—stack-size=**slots
Set maximum stack size to the specified number of slots.
—strict-escape
Print warnings if rules contain ambiguous escape statements.
−t tag **—tag=**tag
Print rules tagged as tag and ignore the rest. This option can be used multiple times.
−p number **—threads=**number
Use the specified number of threads to scan a directory.
−a seconds **—timeout=**seconds
Abort scanning after a number of seconds has elapsed.
−v —version
Show version information.
EXAMPLES
$ yara /foo/bar/rules .
Apply rules on /foo/bar/rules to all files on current directory. Subdirectories are not scanned.
$ yara -t Packer -t Compiler /foo/bar/rules bazfile
Apply rules on /foo/bar/rules to bazfile. Only reports rules tagged as Packer or Compiler.
$ cat /foo/bar/rules | yara -r /foo
Scan all files in the /foo directory and its subdirectories. Rules are read from standard input.
$ yara -d mybool=true -d myint=5 -d mystring=“my string” /foo/bar/rules bazfile
Defines three external variables mybool myint and mystring.
$ yara -x cuckoo=cuckoo_json_report /foo/bar/rules bazfile
Apply rules on /foo/bar/rules to bazfile while passing the content of cuckoo_json_report to the cuckoo module.
AUTHOR
Victor M. Alvarez <plusvic@gmail.com>;<vmalvarez@virustotal.com>