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
每月下载量824
在 6 个crate中使用 (通过 yara)
4MB
100K 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
来自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
在已编译的libyara上链接
这是默认选项,当禁用 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 模块的加密库。头文件必须在编译期间可用,并且库必须在目标平台上安装。识别的值:OpenSSL
、BoringSSL
、Wincrypt
、CommonCrypto
或disable
。(默认值:根据目标操作系统选择)YARA_DEBUG_VERBOSITY
- 在运行时设置调试级别信息(默认:0)YARA_OPENSSL_DIR
- 如果指定,表示 OpenSSL 安装目录。该目录应包含包含库和头文件的lib
和include
子目录。YARA_OPENSSL_LIB_DIR
和YARA_OPENSSL_INCLUDE_DIR
- 如果指定,包含 OpenSSL 库和头文件的目录。这可以在 OpenSSL 安装布局非标准时使用。
这些变量中的每一个也可以使用特定的前缀和后缀,以下列出的优先级顺序
<var>_<target>
- 例如,YARA_CRYPTO_LIB_x86_64-unknown-linux-gnu
<var>_<target_with_underscores>
- 例如,YARA_CRYPTO_LIB_x86_64_unknown_linux_gnu
<var>
- 作为一个简单的YARA_CRYPTO_LIB
,如上所述。
如果这些变量都不存在,yara-sys 将使用内置默认值。
许可
许可协议为以下之一
- Apache License, Version 2.0, (LICENSE-APACHE 或 https://apache.ac.cn/licenses/LICENSE-2.0)
- MIT 许可协议 (LICENSE-MIT 或 http://opensource.org/licenses/MIT)
任选其一。