32个版本 (破坏性更新)

0.28.0 2024年6月3日
0.25.0 2024年2月16日
0.24.0 2023年11月29日
0.20.0 2023年5月12日
0.1.0 2018年5月30日

#8 in #yara

Download history 492/week @ 2024-05-03 411/week @ 2024-05-10 178/week @ 2024-05-17 95/week @ 2024-05-24 516/week @ 2024-05-31 361/week @ 2024-06-07 49/week @ 2024-06-14 93/week @ 2024-06-21 79/week @ 2024-06-28 108/week @ 2024-07-05 96/week @ 2024-07-12 48/week @ 2024-07-19 492/week @ 2024-07-26 91/week @ 2024-08-02 169/week @ 2024-08-09 63/week @ 2024-08-16

每月下载量824
6 个crate中使用 (通过 yara)

MIT/Apache

4MB
100K SLoC

C 57K SLoC // 0.1% comments Rust 34K SLoC // 0.0% comments Happy 3K SLoC Visual Studio Project 2K SLoC C++ 785 SLoC // 0.3% comments Bazel 698 SLoC // 0.3% comments Automake 317 SLoC // 0.1% comments Batch 212 SLoC Visual Studio Solution 192 SLoC M4 191 SLoC // 0.4% comments JavaScript 85 SLoC // 0.0% comments RPM Specfile 85 SLoC // 0.1% comments NuGet Config 48 SLoC Python 35 SLoC // 0.8% comments Shell 4 SLoC // 0.3% comments Bitbake 2 SLoC

包含 (Windows exe, 2MB) 756684f4017ba7e931a26724ae61606b16b5f8cc84ed38a260a34e50c5016f59、(DOS exe, 360KB) ca21e1c32065352d352be6cde97f89c141d7737ea92434831f998080783d5386、(DOS exe, 320KB) yara/tests/data/pe_mingw、(Windows exe, 265KB) clusterfuzz-testcase-minimized-pe_fuzzer-5671228022718464、(DOS exe, 140KB) 33fc70f99be6d2833ae48852d611c8048d0c053ed0b2c626db4dbe902832a08b、(DOS exe, 79KB) yara/tests/data/pe_imports 以及 更多

yara-sys

Crates.io Documentation

来自VirusTotal的Yara库的本地绑定。仅支持Yara v4。

更多文档可以在Yara文档中找到。

特性

默认情况下,此crate使用bindgen实时生成绑定,但您也可以使用以下特性来使用为Yara的不同版本预构建的绑定文件。只需确保您指定的版本与系统上的版本相同即可!

  • bindgen: 推荐:这是默认特性,用于使用生成的绑定。
  • vendored: 自动编译和链接libyara v4.5.1。
  • bundled-4_5_1: 使用为Yara 4.5.1预生成的绑定。如果您不想安装LLVM来运行bindgen,则很有用。但是,您必须确保使用具有相同主版本号和次版本号的Yara版本。支持的目标列表
    • x86_64-apple-darwin
    • x86_64-pc-windows-gnu
    • x86_64-pc-windows-msvc
    • x86_64-unknown-linux-gnu
    • x86_64-unknown-linux-musl

这是默认选项,当禁用 vendored 选项时。您可以使用以下环境变量指定

  • YARA_LIBRARY_PATH 指定包含Yara库二进制的目录。
  • YARA_INCLUDE_DIR 指定包含Yara头文件的目录,如果您使用 bindgen 特性。

您还可以指定 yara-static 特性,以将Yara静态链接而不是动态链接。

libyara v4.5.1的编译选项

当使用 vendored 功能时,Yara 将会自动构建并静态链接到 yara-sys。你可以设置以下特性来改变 Yara 的构建方式。

特性

  • module-cuckoo:启用 cuckoo 模块(依赖于 Jansson 来解析 JSON)。
  • module-magic:启用 magic 模块(依赖于 libmagic)。
  • module-macho:启用 macho 模块。
  • module-dex:启用 dex 模块。
  • module-debug-dex:启用 dex 模块调试。
  • module-dotnet:启用 dotnet 模块。
  • module-hash:启用 hash 模块。
  • profiling:启用规则分析支持。
  • ndebug:启用 NDEBUG
  • openssl-static:启用静态链接到 OpenSSL 而不是动态链接。

环境变量

  • YARA_CRYPTO_LIB - 用于哈希和 pe 模块的加密库。头文件必须在编译期间可用,并且库必须在目标平台上安装。识别的值:OpenSSLBoringSSLWincryptCommonCryptodisable。(默认值:根据目标操作系统选择)
  • YARA_DEBUG_VERBOSITY - 在运行时设置调试级别信息(默认:0
  • YARA_OPENSSL_DIR - 如果指定,表示 OpenSSL 安装目录。该目录应包含包含库和头文件的 libinclude 子目录。
  • YARA_OPENSSL_LIB_DIRYARA_OPENSSL_INCLUDE_DIR - 如果指定,包含 OpenSSL 库和头文件的目录。这可以在 OpenSSL 安装布局非标准时使用。

这些变量中的每一个也可以使用特定的前缀和后缀,以下列出的优先级顺序

  1. <var>_<target> - 例如,YARA_CRYPTO_LIB_x86_64-unknown-linux-gnu
  2. <var>_<target_with_underscores> - 例如,YARA_CRYPTO_LIB_x86_64_unknown_linux_gnu
  3. <var> - 作为一个简单的 YARA_CRYPTO_LIB,如上所述。

如果这些变量都不存在,yara-sys 将使用内置默认值。

许可

许可协议为以下之一

任选其一。

依赖项