From a5dab55736c01a6b3805c62f5ec950f51fe37461 Mon Sep 17 00:00:00 2001 From: unknowntrojan <14975032+unknowntrojan@users.noreply.github.com> Date: Tue, 11 Jul 2023 16:13:53 +0200 Subject: add BinaryView::functions_containing --- rust/src/binaryview.rs | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'rust/src/binaryview.rs') diff --git a/rust/src/binaryview.rs b/rust/src/binaryview.rs index 07c079d2..a82db176 100644 --- a/rust/src/binaryview.rs +++ b/rust/src/binaryview.rs @@ -750,6 +750,17 @@ pub trait BinaryViewExt: BinaryViewBase { } } + // List of functions containing `addr` + fn functions_containing(&self, addr: u64) -> Array { + unsafe { + let mut count = 0; + let functions = + BNGetAnalysisFunctionsContainingAddress(self.as_ref().handle, addr, &mut count); + + Array::new(functions, count, ()) + } + } + fn function_at(&self, platform: &Platform, addr: u64) -> Result> { unsafe { let handle = BNGetAnalysisFunction(self.as_ref().handle, platform.handle, addr); -- cgit v1.3.1