个人技术分享

        YARA 是一个多功能的恶意软件分析工具,它允许用户创建描述性规则来识别和分类文件,尤其是恶意软件。YARA 的核心是规则引擎,它支持通过文本或二进制模式创建规则,这些规则可以包含字符串和逻辑表达式,提供高度的可定制性。YARA 的规则集可以利用通配符、不区分大小写的字符串、正则表达式等高级功能,使得规则编写更为灵活。

        下表是YARA客户端的启动参数详解:

启动参数 说明

-C, --compiled-rules

指定加载已编译好的YRAR规则文件。

-c, --count

打印命中规则的数量。

-E, --strict-escape

对未知的转义序列发出警告。

-d, --define=VAR=VALUE

定义一些额外的变量。

-f, --fast-scan

提升搜索速度。(Speeds up scanning by searching only for the first occurrence of each pattern. )

-h

帮助信息。

-i, identifier --identifier=IDENTIFIER

只有-i指定的规则命中时才向终端打印。其它的规则命中后忽略。Yara启动后支持多个-i参数指定多个规则名称。

--max-process-memory-chunk=size

在扫描进程内存时,最大只扫描此参数指定大小的内存块。此参数数值单位为字节。

-l number --max-rules=number

当命中指定数量的规则时停止扫描。

--max-strings-per-rule=number

指定Yara规则字符串的最大长度,默认是10000,如果超过则启动时会报错。

-x --module-data=module=file

通过此参数将指定文件传入程序的模块中。

-n --negate

打印不适用的规则,也就是本次扫描没有命中的规则。

-w --no-warnings

关闭软件的Warning类日志打印。

-m --print-meta

打印规则中meta模块中信息。

-M --module-names

显示当前Yara支持的Module的名称。

-e --print-namespace

打印所命中的规则的命名空间。

-S --print-stats

打印一些规则的统计信息。

-s --print-strings

打印文件中命中规则字符串的内容。

-L --print-string-length

打印文件中命中规则字符串的长度。

-X --print-xor-key

打印文件中命中规则字符串的xor key。

-g --print-tags

打印文件中命中规则字符串的Tab。

-r --recursive

指定本次扫描支持递归扫描,包括文件夹、软连接。

--scan-list

指定包含要扫描文件列表的文件,每行只放置一个待扫描文件路径。

-z size --skip-larger=size

当扫描文件夹时,忽略大于本参数指定大小的文件。本参数数值单位为字节。

-t tag --tag=tag

只有此参数指定的Tab规则命中时打印输出,其它的忽略。可以通过多次使用此参数来指定多个不同的Tab名称。

-p number --threads=number

Yara启动此参数指定的线程数去扫描文件夹。

-a seconds --timeout=seconds

指定Yara启动后多长时间停止扫描。

-v --version

打印当前软件版本。

        更具体详细的YARA启动参数说明可使用man命令查看。