summaryrefslogtreecommitdiff
path: root/rust/src/binary_view.rs
diff options
context:
space:
mode:
Diffstat (limited to 'rust/src/binary_view.rs')
-rw-r--r--rust/src/binary_view.rs8
1 files changed, 8 insertions, 0 deletions
diff --git a/rust/src/binary_view.rs b/rust/src/binary_view.rs
index af4709e7..396c04ce 100644
--- a/rust/src/binary_view.rs
+++ b/rust/src/binary_view.rs
@@ -24,6 +24,7 @@
use binaryninjacore_sys::*;
use crate::architecture::{Architecture, CoreArchitecture};
+use crate::base_detection::BaseAddressDetection;
use crate::basic_block::BasicBlock;
use crate::component::{Component, IntoComponentGuid};
use crate::confidence::Conf;
@@ -369,6 +370,13 @@ pub trait BinaryViewExt: BinaryViewBase {
}
}
+ fn base_address_detection(&self) -> Option<BaseAddressDetection> {
+ unsafe {
+ let handle = BNCreateBaseAddressDetection(self.as_ref().handle);
+ NonNull::new(handle).map(|base| BaseAddressDetection::from_raw(base))
+ }
+ }
+
fn instruction_len<A: Architecture>(&self, arch: &A, addr: u64) -> Option<usize> {
unsafe {
let size = BNGetInstructionLength(self.as_ref().handle, arch.as_ref().handle, addr);