From 01ef88f28a999ab16508483bd5a442f26876a81e Mon Sep 17 00:00:00 2001 From: Rubens Brandao Date: Thu, 20 Jun 2024 15:34:39 -0300 Subject: Implement Rust BaseAddressDetection --- rust/tests/base_detection.rs | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 rust/tests/base_detection.rs (limited to 'rust/tests') diff --git a/rust/tests/base_detection.rs b/rust/tests/base_detection.rs new file mode 100644 index 00000000..b5497c3c --- /dev/null +++ b/rust/tests/base_detection.rs @@ -0,0 +1,24 @@ +use binaryninja::base_detection::BaseAddressDetectionSettings; +use binaryninja::binary_view::BinaryViewExt; +use binaryninja::headless::Session; +use rstest::{fixture, rstest}; +use std::path::PathBuf; + +#[fixture] +#[once] +fn session() -> Session { + Session::new().expect("Failed to initialize session") +} + +#[rstest] +fn test_failed_base_detection(_session: &Session) { + let out_dir = env!("OUT_DIR").parse::().unwrap(); + let view = binaryninja::load(out_dir.join("atox.obj")).expect("Failed to create view"); + let bad = view + .base_address_detection() + .expect("Failed to create base address detection"); + assert!( + !bad.detect(&BaseAddressDetectionSettings::default()), + "Detection should fail on this view" + ); +} -- cgit v1.3.1