yara-rust Logo

yara-rust

0
Free
Visit Website

Bindings for the Yara library from VirusTotal. More documentation can be found on the Yara's documentation. Example The implementation is inspired from yara-python. const RULES: &str = r#" rule contains_rust { strings: $rust = "rust" nocase condition: $rust } "#; fn main() { let compiler = Compiler::new().unwrap(); let compiler = compiler .add_rules_str(RULES) .expect("Should have parsed rule"); let rules = compiler .compile_rules() .expect("Should have compiled rules"); let results = rules .scan_mem("I love Rust!".as_bytes(), 5) .expect("Should have scanned"); assert!(results.iter().any(|r| r.identifier == "contains_rust")); } Features Support from Yara v4.2. Compile rules from strings or files. Save and load compiled rules. Scan byte arrays (&[u8]) or files. Feature flags and Yara linking. Look at the yara-sys crate documentation for a list of feature flags and how to link to your Yara crate. TODO Remove some unwrap on string conversions (currently this crate assume the rules, meta and namespace identifier are valid Rust's str). Accept AsRef<Path> instead of &str on multiple functions. Implement the scanner API. Add process scanning. Report the warnings to the user. Lic

FEATURES

ALTERNATIVES

A strings statistics calculator for YARA rules to aid malware research.

PinCTF is a tool for using Intel's Pin Tool to instrument reverse engineering binaries and count instructions.

IDA Pro plugin for finding crypto constants

FSF is a modular, recursive file scanning solution that enables analysts to extend the utility of Yara signatures and define actionable intelligence within a file.

A payload creation framework for the retrieval and execution of arbitrary CSharp source code.

Dynamic binary analysis library with various analysis and emulation capabilities.

A suite of secret scanners built in Rust for performance.

Scan folders and files for crypto patterns, hacking team malware, and malicious documents using PEID signatures.