首次运行
—— yara 使用手册 · 开始 最后更新: 2023-03-08 22:27:53
现在你已经安装了 Yara,可以编写一个非常简单的规则并使用命令行工具扫描某些文件:
bash
echo "rule dummy { condition: true }" > my_first_rule
yara my_first_rule my_first_rule不要对 yara 参数中出现两个 my_first_rule 感到困惑,这只是传递相同的文件作为规则和要扫描的文件。你可以传递任何要扫描的文件 (第二个参数)。
如果一切顺利,应该得到以下输出:
dummy my_first_rule这意味着文件 my_first_rule 与名为 dummy 的规则匹配,如果遇到这样的错误:
yara: error while loading shared libraries: libyara.so.2: cannot open shared
object file: No such file or directory这意味着加载程序找不到位于 /usr/local/lib 中的 libyara 库。在某些 Linux 版本中,加载程序默认不会在此路径中查找库,我们必须通过将 /usr/local/lib 添加到加载程序 /etc/ld.so.conf 配置文件来指示它这样做:
bash
sudo sh -c 'echo "/usr/local/lib" >> /etc/ld.so.conf'
sudo ldconfig在较新的 Ubuntu 版本 (例如 22.04 LTS) 上,正确的加载器配置是通过 /etc/ld.so.conf.d/libc.conf 的依赖项安装的。在这种情况下,仅使用以下命令就足以配置动态链接器运行时绑定。
bash
sudo ldconfig如果使用 Windows PowerShell 作为命令 shell,yara my_first_rule my_first_rule 可能会返回以下错误:
bash
my_first_rule(1): error: non-ascii character可以通过在创建规则文件时使用 Set-Content cmdlet 指定 ascii 输出来避免这种情况:
powershell
Set-Content -path .\my_first_rule -Value "rule dummy { condition: true }" -Encoding Ascii
.\yara my_first_rule my_first_rule