summaryrefslogtreecommitdiff
path: root/plugins
diff options
context:
space:
mode:
authorMason Reed <mason@vector35.com>2026-04-21 18:10:51 -0700
committerMason Reed <35282038+emesare@users.noreply.github.com>2026-05-10 17:13:08 -0700
commitc4ba6d79ae3b96d56cc6b3744e7c64e004ecd161 (patch)
tree5762fc3ff58b57caec5f42176faf6635c464b4f3 /plugins
parent8269a8ac29e59c7949af753dac5c1f36bb700903 (diff)
[Rust] Refactor `binary_view` module
- Remove the "viral" `BinaryViewExt` trait and its blanket impl - Split up the binary view type from the custom trait impl - Simplify and fix bugs regarding custom binary view initialization - Rewrite Minidump binary view example, parses the PE headers to create proper sections now - Add some extra documentation - Add unit test for custom binary view
Diffstat (limited to 'plugins')
-rw-r--r--plugins/bntl_utils/src/command/create.rs2
-rw-r--r--plugins/bntl_utils/src/dump.rs2
-rw-r--r--plugins/bntl_utils/src/process.rs3
-rw-r--r--plugins/dwarf/dwarf_export/src/lib.rs2
-rw-r--r--plugins/dwarf/dwarf_import/src/dwarfdebuginfo.rs2
-rw-r--r--plugins/dwarf/dwarf_import/src/helpers.rs2
-rw-r--r--plugins/dwarf/dwarf_import/src/lib.rs2
-rw-r--r--plugins/dwarf/dwarfdump/src/lib.rs2
-rw-r--r--plugins/dwarf/shared/src/lib.rs2
-rw-r--r--plugins/idb_import/src/commands/load_file.rs2
-rw-r--r--plugins/idb_import/src/mapper.rs2
-rw-r--r--plugins/idb_import/src/types.rs2
-rw-r--r--plugins/pdb-ng/src/lib.rs19
-rw-r--r--plugins/pdb-ng/src/parser.rs2
-rw-r--r--plugins/pdb-ng/src/type_parser.rs1
-rw-r--r--plugins/svd/src/lib.rs2
-rw-r--r--plugins/svd/src/mapper.rs2
-rw-r--r--plugins/svd/tests/mapper.rs1
-rw-r--r--plugins/warp/benches/convert.rs1
-rw-r--r--plugins/warp/benches/function.rs1
-rw-r--r--plugins/warp/benches/guid.rs1
-rw-r--r--plugins/warp/src/cache.rs2
-rw-r--r--plugins/warp/src/cache/function.rs1
-rw-r--r--plugins/warp/src/cache/guid.rs1
-rw-r--r--plugins/warp/src/convert/symbol.rs2
-rw-r--r--plugins/warp/src/convert/types.rs1
-rw-r--r--plugins/warp/src/lib.rs2
-rw-r--r--plugins/warp/src/matcher.rs2
-rw-r--r--plugins/warp/src/plugin/load.rs2
-rw-r--r--plugins/warp/src/plugin/workflow.rs2
-rw-r--r--plugins/warp/src/processor.rs2
-rw-r--r--plugins/warp/tests/determinism.rs1
-rw-r--r--plugins/warp/tests/matcher.rs2
-rw-r--r--plugins/workflow_objc/src/activities/alloc_init.rs5
-rw-r--r--plugins/workflow_objc/src/activities/objc_msg_send_calls.rs2
-rw-r--r--plugins/workflow_objc/src/activities/objc_msg_send_calls/adjust_call_type.rs2
-rw-r--r--plugins/workflow_objc/src/activities/remove_memory_management.rs2
-rw-r--r--plugins/workflow_objc/src/activities/super_init.rs2
-rw-r--r--plugins/workflow_objc/src/activities/util.rs2
-rw-r--r--plugins/workflow_objc/src/metadata/global_state.rs7
-rw-r--r--plugins/workflow_objc/src/metadata/selector.rs2
41 files changed, 37 insertions, 62 deletions
diff --git a/plugins/bntl_utils/src/command/create.rs b/plugins/bntl_utils/src/command/create.rs
index 96d0eb60..8fc37159 100644
--- a/plugins/bntl_utils/src/command/create.rs
+++ b/plugins/bntl_utils/src/command/create.rs
@@ -2,7 +2,7 @@ use crate::command::{InputDirectoryField, OutputDirectoryField};
use crate::process::{new_processing_state_background_thread, TypeLibProcessor};
use crate::validate::TypeLibValidater;
use binaryninja::background_task::BackgroundTask;
-use binaryninja::binary_view::{BinaryView, BinaryViewExt};
+use binaryninja::binary_view::BinaryView;
use binaryninja::command::{Command, GlobalCommand, ProjectCommand};
use binaryninja::interaction::{Form, FormInputField, MessageBoxButtonSet, MessageBoxIcon};
use binaryninja::platform::Platform;
diff --git a/plugins/bntl_utils/src/dump.rs b/plugins/bntl_utils/src/dump.rs
index c2e92498..d86500c0 100644
--- a/plugins/bntl_utils/src/dump.rs
+++ b/plugins/bntl_utils/src/dump.rs
@@ -1,4 +1,4 @@
-use binaryninja::binary_view::{BinaryView, BinaryViewExt};
+use binaryninja::binary_view::BinaryView;
use binaryninja::file_metadata::FileMetadata;
use binaryninja::metadata::{Metadata, MetadataType};
use binaryninja::platform::Platform;
diff --git a/plugins/bntl_utils/src/process.rs b/plugins/bntl_utils/src/process.rs
index 3f4aec69..5c9651a4 100644
--- a/plugins/bntl_utils/src/process.rs
+++ b/plugins/bntl_utils/src/process.rs
@@ -20,8 +20,7 @@ use crate::schema::BntlSchema;
use crate::tbd::{parse_tbd_info, TbdArchitecture};
use crate::winmd::WindowsMetadataImporter;
use binaryninja::background_task::BackgroundTask;
-use binaryninja::binary_view::{BinaryView, BinaryViewExt};
-use binaryninja::custom_binary_view::BinaryViewType;
+use binaryninja::binary_view::{BinaryView, BinaryViewType};
use binaryninja::file_metadata::FileMetadata;
use binaryninja::metadata::Metadata;
use binaryninja::platform::Platform;
diff --git a/plugins/dwarf/dwarf_export/src/lib.rs b/plugins/dwarf/dwarf_export/src/lib.rs
index fac7b2bb..90a92faa 100644
--- a/plugins/dwarf/dwarf_export/src/lib.rs
+++ b/plugins/dwarf/dwarf_export/src/lib.rs
@@ -2,7 +2,7 @@ mod edit_distance;
use binaryninja::interaction::form::{Form, FormInputField};
use binaryninja::{
- binary_view::{BinaryView, BinaryViewBase, BinaryViewExt},
+ binary_view::{BinaryView, BinaryViewBase},
command::{register_command, Command},
confidence::Conf,
rc::Ref,
diff --git a/plugins/dwarf/dwarf_import/src/dwarfdebuginfo.rs b/plugins/dwarf/dwarf_import/src/dwarfdebuginfo.rs
index fbf7e7df..6c1d78a8 100644
--- a/plugins/dwarf/dwarf_import/src/dwarfdebuginfo.rs
+++ b/plugins/dwarf/dwarf_import/src/dwarfdebuginfo.rs
@@ -19,7 +19,7 @@ use crate::{
};
use binaryninja::{
- binary_view::{BinaryView, BinaryViewBase, BinaryViewExt},
+ binary_view::{BinaryView, BinaryViewBase},
debuginfo::{DebugFunctionInfo, DebugInfo},
platform::Platform,
rc::*,
diff --git a/plugins/dwarf/dwarf_import/src/helpers.rs b/plugins/dwarf/dwarf_import/src/helpers.rs
index 541fdc42..0a8a2cbd 100644
--- a/plugins/dwarf/dwarf_import/src/helpers.rs
+++ b/plugins/dwarf/dwarf_import/src/helpers.rs
@@ -19,7 +19,7 @@ use crate::{DebugInfoBuilderContext, ReaderType};
use binaryninja::binary_view::BinaryViewBase;
use binaryninja::Endianness;
use binaryninja::{
- binary_view::{BinaryView, BinaryViewExt},
+ binary_view::BinaryView,
download::{DownloadInstanceInputOutputCallbacks, DownloadProvider},
settings::Settings,
};
diff --git a/plugins/dwarf/dwarf_import/src/lib.rs b/plugins/dwarf/dwarf_import/src/lib.rs
index 1ed3ce19..a9e4bbd8 100644
--- a/plugins/dwarf/dwarf_import/src/lib.rs
+++ b/plugins/dwarf/dwarf_import/src/lib.rs
@@ -30,7 +30,7 @@ use crate::types::parse_variable;
use binaryninja::binary_view::BinaryViewBase;
use binaryninja::{
- binary_view::{BinaryView, BinaryViewExt},
+ binary_view::BinaryView,
debuginfo::{CustomDebugInfoParser, DebugInfo, DebugInfoParser},
settings::Settings,
template_simplifier::simplify_str_to_str,
diff --git a/plugins/dwarf/dwarfdump/src/lib.rs b/plugins/dwarf/dwarfdump/src/lib.rs
index a235de4f..aafe1f18 100644
--- a/plugins/dwarf/dwarfdump/src/lib.rs
+++ b/plugins/dwarf/dwarfdump/src/lib.rs
@@ -14,7 +14,7 @@
use binaryninja::{
architecture::BranchType,
- binary_view::{BinaryView, BinaryViewExt},
+ binary_view::BinaryView,
command::{register_command, Command},
disassembly::{DisassemblyTextLine, InstructionTextToken, InstructionTextTokenKind},
flowgraph::{EdgeStyle, FlowGraph, FlowGraphNode, FlowGraphOption},
diff --git a/plugins/dwarf/shared/src/lib.rs b/plugins/dwarf/shared/src/lib.rs
index a9dc8b7c..d4531938 100644
--- a/plugins/dwarf/shared/src/lib.rs
+++ b/plugins/dwarf/shared/src/lib.rs
@@ -16,7 +16,7 @@ use gimli::{EndianRcSlice, Endianity, RunTimeEndian, SectionId};
use object::{Object, ObjectSection};
use binaryninja::{
- binary_view::{BinaryView, BinaryViewBase, BinaryViewExt},
+ binary_view::{BinaryView, BinaryViewBase},
settings::Settings,
Endianness,
};
diff --git a/plugins/idb_import/src/commands/load_file.rs b/plugins/idb_import/src/commands/load_file.rs
index 67416e61..ef773c6a 100644
--- a/plugins/idb_import/src/commands/load_file.rs
+++ b/plugins/idb_import/src/commands/load_file.rs
@@ -1,7 +1,7 @@
use crate::commands::LoadFileField;
use crate::mapper::IDBMapper;
use crate::parse::IDBFileParser;
-use binaryninja::binary_view::{BinaryView, BinaryViewExt};
+use binaryninja::binary_view::BinaryView;
use binaryninja::command::Command;
use binaryninja::interaction::Form;
use std::fs::File;
diff --git a/plugins/idb_import/src/mapper.rs b/plugins/idb_import/src/mapper.rs
index 36c980da..530fef1f 100644
--- a/plugins/idb_import/src/mapper.rs
+++ b/plugins/idb_import/src/mapper.rs
@@ -6,7 +6,7 @@ use crate::parse::{
};
use crate::translate::TILTranslator;
use binaryninja::architecture::Architecture;
-use binaryninja::binary_view::{BinaryView, BinaryViewBase, BinaryViewExt};
+use binaryninja::binary_view::{BinaryView, BinaryViewBase};
use binaryninja::qualified_name::QualifiedName;
use binaryninja::rc::Ref;
use binaryninja::section::{SectionBuilder, Semantics};
diff --git a/plugins/idb_import/src/types.rs b/plugins/idb_import/src/types.rs
index 933fec12..cbd37f66 100644
--- a/plugins/idb_import/src/types.rs
+++ b/plugins/idb_import/src/types.rs
@@ -3,7 +3,7 @@ use std::num::{NonZeroU16, NonZeroU8};
use anyhow::{anyhow, Result};
use binaryninja::architecture::{Architecture, ArchitectureExt, CoreArchitecture};
-use binaryninja::binary_view::{BinaryView, BinaryViewExt};
+use binaryninja::binary_view::{BinaryView};
use binaryninja::calling_convention::CoreCallingConvention;
use binaryninja::confidence::Conf;
use binaryninja::rc::Ref;
diff --git a/plugins/pdb-ng/src/lib.rs b/plugins/pdb-ng/src/lib.rs
index d6678a17..c3bbdf5e 100644
--- a/plugins/pdb-ng/src/lib.rs
+++ b/plugins/pdb-ng/src/lib.rs
@@ -23,7 +23,7 @@ use std::{env, fs};
use anyhow::{anyhow, Result};
use pdb::PDB;
-use binaryninja::binary_view::{BinaryView, BinaryViewBase, BinaryViewExt};
+use binaryninja::binary_view::{BinaryView, BinaryViewBase};
use binaryninja::debuginfo::{CustomDebugInfoParser, DebugInfo, DebugInfoParser};
use binaryninja::download::{DownloadInstanceInputOutputCallbacks, DownloadProvider};
use binaryninja::interaction::{MessageBoxButtonResult, MessageBoxButtonSet};
@@ -275,23 +275,14 @@ fn search_sym_store(
fn parse_pdb_info(view: &BinaryView) -> Option<PDBInfo> {
match view.get_metadata::<u64>("DEBUG_INFO_TYPE") {
- Some(Ok(0x53445352 /* 'SDSR' */)) => {}
+ Some(0x53445352 /* 'SDSR' */) => {}
_ => return None,
}
// This is stored in the BV by the PE loader
- let file_path = match view.get_metadata::<String>("PDB_FILENAME") {
- Some(Ok(md)) => md,
- _ => return None,
- };
- let mut guid = match view.get_metadata::<Vec<u8>>("PDB_GUID") {
- Some(Ok(md)) => md,
- _ => return None,
- };
- let age = match view.get_metadata::<u64>("PDB_AGE") {
- Some(Ok(md)) => md as u32,
- _ => return None,
- };
+ let file_path = view.get_metadata::<String>("PDB_FILENAME")?;
+ let mut guid = view.get_metadata::<Vec<u8>>("PDB_GUID")?;
+ let age = view.get_metadata::<u64>("PDB_AGE")? as u32;
if guid.len() != 16 {
return None;
diff --git a/plugins/pdb-ng/src/parser.rs b/plugins/pdb-ng/src/parser.rs
index 9db635e8..8c33fe64 100644
--- a/plugins/pdb-ng/src/parser.rs
+++ b/plugins/pdb-ng/src/parser.rs
@@ -23,7 +23,7 @@ use pdb::*;
use crate::symbol_parser::{ParsedDataSymbol, ParsedProcedure, ParsedSymbol};
use crate::type_parser::ParsedType;
use binaryninja::architecture::{Architecture, CoreArchitecture};
-use binaryninja::binary_view::{BinaryView, BinaryViewExt};
+use binaryninja::binary_view::BinaryView;
use binaryninja::calling_convention::CoreCallingConvention;
use binaryninja::confidence::{Conf, MIN_CONFIDENCE};
use binaryninja::debuginfo::{DebugFunctionInfo, DebugInfo};
diff --git a/plugins/pdb-ng/src/type_parser.rs b/plugins/pdb-ng/src/type_parser.rs
index 026a421a..bccb93f1 100644
--- a/plugins/pdb-ng/src/type_parser.rs
+++ b/plugins/pdb-ng/src/type_parser.rs
@@ -19,7 +19,6 @@ use crate::struct_grouper::group_structure;
use crate::PDBParserInstance;
use anyhow::{anyhow, Result};
use binaryninja::architecture::Architecture;
-use binaryninja::binary_view::BinaryViewExt;
use binaryninja::calling_convention::CoreCallingConvention;
use binaryninja::confidence::{Conf, MAX_CONFIDENCE};
use binaryninja::platform::Platform;
diff --git a/plugins/svd/src/lib.rs b/plugins/svd/src/lib.rs
index 1eb84a5f..ea37b783 100644
--- a/plugins/svd/src/lib.rs
+++ b/plugins/svd/src/lib.rs
@@ -3,7 +3,7 @@ pub mod settings;
use crate::mapper::DeviceMapper;
use crate::settings::LoadSettings;
-use binaryninja::binary_view::{BinaryView, BinaryViewBase, BinaryViewExt};
+use binaryninja::binary_view::{BinaryView, BinaryViewBase};
use binaryninja::command::Command;
use binaryninja::interaction::{Form, FormInputField};
use binaryninja::workflow::{activity, Activity, AnalysisContext, Workflow};
diff --git a/plugins/svd/src/mapper.rs b/plugins/svd/src/mapper.rs
index 1ba7f61c..4ec02b9e 100644
--- a/plugins/svd/src/mapper.rs
+++ b/plugins/svd/src/mapper.rs
@@ -1,5 +1,5 @@
use crate::settings::LoadSettings;
-use binaryninja::binary_view::{BinaryView, BinaryViewExt};
+use binaryninja::binary_view::BinaryView;
use binaryninja::confidence::{Conf, MAX_CONFIDENCE};
use binaryninja::data_buffer::DataBuffer;
use binaryninja::rc::Ref;
diff --git a/plugins/svd/tests/mapper.rs b/plugins/svd/tests/mapper.rs
index 8af8c261..845bfd61 100644
--- a/plugins/svd/tests/mapper.rs
+++ b/plugins/svd/tests/mapper.rs
@@ -1,4 +1,3 @@
-use binaryninja::binary_view::BinaryViewExt;
use binaryninja::binary_view::{BinaryView, BinaryViewBase};
use binaryninja::file_metadata::FileMetadata;
use binaryninja::headless::Session;
diff --git a/plugins/warp/benches/convert.rs b/plugins/warp/benches/convert.rs
index e0acdc15..d1bf9dd6 100644
--- a/plugins/warp/benches/convert.rs
+++ b/plugins/warp/benches/convert.rs
@@ -1,4 +1,3 @@
-use binaryninja::binary_view::BinaryViewExt;
use binaryninja::headless::Session;
use criterion::{criterion_group, criterion_main, Criterion};
use std::path::PathBuf;
diff --git a/plugins/warp/benches/function.rs b/plugins/warp/benches/function.rs
index 299ed1eb..a9cfd26a 100644
--- a/plugins/warp/benches/function.rs
+++ b/plugins/warp/benches/function.rs
@@ -1,4 +1,3 @@
-use binaryninja::binary_view::BinaryViewExt;
use binaryninja::headless::Session;
use criterion::{criterion_group, criterion_main, Criterion};
use rayon::prelude::*;
diff --git a/plugins/warp/benches/guid.rs b/plugins/warp/benches/guid.rs
index eddf2f06..f8c7f4b5 100644
--- a/plugins/warp/benches/guid.rs
+++ b/plugins/warp/benches/guid.rs
@@ -1,4 +1,3 @@
-use binaryninja::binary_view::BinaryViewExt;
use binaryninja::headless::Session;
use criterion::{criterion_group, criterion_main, Criterion};
use std::path::PathBuf;
diff --git a/plugins/warp/src/cache.rs b/plugins/warp/src/cache.rs
index d9a5a8d1..5b3469c1 100644
--- a/plugins/warp/src/cache.rs
+++ b/plugins/warp/src/cache.rs
@@ -7,7 +7,7 @@ pub use function::*;
pub use guid::*;
pub use type_reference::*;
-use binaryninja::binary_view::{BinaryView, BinaryViewExt};
+use binaryninja::binary_view::BinaryView;
use binaryninja::function::Function as BNFunction;
use binaryninja::object_destructor::{register_object_destructor, ObjectDestructor};
use binaryninja::rc::Guard;
diff --git a/plugins/warp/src/cache/function.rs b/plugins/warp/src/cache/function.rs
index 79b9e86a..d7eae3af 100644
--- a/plugins/warp/src/cache/function.rs
+++ b/plugins/warp/src/cache/function.rs
@@ -1,5 +1,4 @@
use crate::convert::{comment_to_bn_comment, to_bn_symbol_at_address};
-use binaryninja::binary_view::BinaryViewExt;
use binaryninja::function::{Function as BNFunction, FunctionUpdateType};
use binaryninja::symbol::SymbolType;
use warp::signature::function::Function;
diff --git a/plugins/warp/src/cache/guid.rs b/plugins/warp/src/cache/guid.rs
index ede54013..3b3e4a31 100644
--- a/plugins/warp/src/cache/guid.rs
+++ b/plugins/warp/src/cache/guid.rs
@@ -1,7 +1,6 @@
use crate::cache::FunctionID;
use crate::convert::from_bn_symbol;
use crate::function_guid;
-use binaryninja::binary_view::BinaryViewExt;
use binaryninja::function::Function as BNFunction;
use binaryninja::low_level_il::function::{FunctionMutability, LowLevelILFunction, NonSSA};
use binaryninja::rc::Ref as BNRef;
diff --git a/plugins/warp/src/convert/symbol.rs b/plugins/warp/src/convert/symbol.rs
index 0107cff5..5d794d30 100644
--- a/plugins/warp/src/convert/symbol.rs
+++ b/plugins/warp/src/convert/symbol.rs
@@ -1,4 +1,4 @@
-use binaryninja::binary_view::{BinaryView, BinaryViewExt};
+use binaryninja::binary_view::BinaryView;
use binaryninja::rc::Ref as BNRef;
use binaryninja::symbol::Symbol as BNSymbol;
use binaryninja::symbol::SymbolType as BNSymbolType;
diff --git a/plugins/warp/src/convert/types.rs b/plugins/warp/src/convert/types.rs
index abfa3bc9..6969ac67 100644
--- a/plugins/warp/src/convert/types.rs
+++ b/plugins/warp/src/convert/types.rs
@@ -490,7 +490,6 @@ pub fn to_bn_type<A: BNArchitecture + Copy>(arch: Option<A>, ty: &Type) -> BNRef
#[cfg(test)]
mod tests {
use super::*;
- use binaryninja::binary_view::BinaryViewExt;
use binaryninja::headless::Session;
use std::path::PathBuf;
use warp::r#type::guid::TypeGUID;
diff --git a/plugins/warp/src/lib.rs b/plugins/warp/src/lib.rs
index e0aaeed3..11f85566 100644
--- a/plugins/warp/src/lib.rs
+++ b/plugins/warp/src/lib.rs
@@ -4,7 +4,7 @@ use binaryninja::architecture::{
Architecture, ImplicitRegisterExtend, Register as BNRegister, RegisterInfo,
};
use binaryninja::basic_block::BasicBlock as BNBasicBlock;
-use binaryninja::binary_view::{BinaryView, BinaryViewExt};
+use binaryninja::binary_view::BinaryView;
use binaryninja::confidence::MAX_CONFIDENCE;
use binaryninja::function::{Function as BNFunction, NativeBlock};
use binaryninja::low_level_il::expression::{
diff --git a/plugins/warp/src/matcher.rs b/plugins/warp/src/matcher.rs
index f96128e5..69bfd4b6 100644
--- a/plugins/warp/src/matcher.rs
+++ b/plugins/warp/src/matcher.rs
@@ -2,7 +2,7 @@ use crate::cache::cached_constraints;
use crate::container::{Container, SourceId};
use crate::convert::to_bn_type;
use binaryninja::architecture::Architecture as BNArchitecture;
-use binaryninja::binary_view::{BinaryView, BinaryViewExt};
+use binaryninja::binary_view::BinaryView;
use binaryninja::function::Function as BNFunction;
use binaryninja::settings::{QueryOptions, Settings as BNSettings};
use serde_json::json;
diff --git a/plugins/warp/src/plugin/load.rs b/plugins/warp/src/plugin/load.rs
index 2be473d8..9ec6eaed 100644
--- a/plugins/warp/src/plugin/load.rs
+++ b/plugins/warp/src/plugin/load.rs
@@ -3,7 +3,7 @@ use crate::container::disk::{DiskContainer, DiskContainerSource};
use crate::container::{ContainerError, SourcePath};
use crate::convert::platform_to_target;
use crate::plugin::workflow::run_matcher;
-use binaryninja::binary_view::{BinaryView, BinaryViewExt};
+use binaryninja::binary_view::BinaryView;
use binaryninja::command::Command;
use binaryninja::interaction::{
show_message_box, Form, FormInputField, MessageBoxButtonResult, MessageBoxButtonSet,
diff --git a/plugins/warp/src/plugin/workflow.rs b/plugins/warp/src/plugin/workflow.rs
index c1728b5e..c2915717 100644
--- a/plugins/warp/src/plugin/workflow.rs
+++ b/plugins/warp/src/plugin/workflow.rs
@@ -10,7 +10,7 @@ use crate::plugin::settings::PluginSettings;
use crate::{get_warp_ignore_tag_type, get_warp_tag_type, relocatable_regions, IGNORE_TAG_NAME};
use binaryninja::architecture::RegisterId;
use binaryninja::background_task::BackgroundTask;
-use binaryninja::binary_view::{BinaryView, BinaryViewExt};
+use binaryninja::binary_view::BinaryView;
use binaryninja::command::Command;
use binaryninja::function::Function as BNFunction;
use binaryninja::rc::Ref as BNRef;
diff --git a/plugins/warp/src/processor.rs b/plugins/warp/src/processor.rs
index 32310d3c..666f8df3 100644
--- a/plugins/warp/src/processor.rs
+++ b/plugins/warp/src/processor.rs
@@ -19,7 +19,7 @@ use thiserror::Error;
use walkdir::WalkDir;
use binaryninja::background_task::BackgroundTask;
-use binaryninja::binary_view::{BinaryView, BinaryViewExt};
+use binaryninja::binary_view::BinaryView;
use binaryninja::function::Function as BNFunction;
use binaryninja::project::file::ProjectFile;
use binaryninja::project::Project;
diff --git a/plugins/warp/tests/determinism.rs b/plugins/warp/tests/determinism.rs
index 5100b436..50361562 100644
--- a/plugins/warp/tests/determinism.rs
+++ b/plugins/warp/tests/determinism.rs
@@ -1,5 +1,4 @@
//! This tests to make sure the function GUIDs are stable.
-use binaryninja::binary_view::BinaryViewExt;
use binaryninja::headless::Session;
use std::collections::BTreeMap;
use std::path::PathBuf;
diff --git a/plugins/warp/tests/matcher.rs b/plugins/warp/tests/matcher.rs
index d2d7a960..5703419b 100644
--- a/plugins/warp/tests/matcher.rs
+++ b/plugins/warp/tests/matcher.rs
@@ -1,5 +1,5 @@
use binaryninja::architecture::CoreArchitecture;
-use binaryninja::binary_view::{BinaryView, BinaryViewExt};
+use binaryninja::binary_view::BinaryView;
use binaryninja::file_metadata::FileMetadata;
use binaryninja::function::Function as BNFunction;
use binaryninja::headless::Session;
diff --git a/plugins/workflow_objc/src/activities/alloc_init.rs b/plugins/workflow_objc/src/activities/alloc_init.rs
index 5c8bf064..953e0738 100644
--- a/plugins/workflow_objc/src/activities/alloc_init.rs
+++ b/plugins/workflow_objc/src/activities/alloc_init.rs
@@ -1,8 +1,5 @@
use binaryninja::{
- binary_view::{BinaryView, BinaryViewExt as _},
- medium_level_il::MediumLevelILLiftedInstruction,
- rc::Ref,
- types::Type,
+ binary_view::BinaryView, medium_level_il::MediumLevelILLiftedInstruction, rc::Ref, types::Type,
workflow::AnalysisContext,
};
use bstr::ByteSlice;
diff --git a/plugins/workflow_objc/src/activities/objc_msg_send_calls.rs b/plugins/workflow_objc/src/activities/objc_msg_send_calls.rs
index 157bb19c..41fc38c0 100644
--- a/plugins/workflow_objc/src/activities/objc_msg_send_calls.rs
+++ b/plugins/workflow_objc/src/activities/objc_msg_send_calls.rs
@@ -1,5 +1,5 @@
use binaryninja::{
- binary_view::{BinaryView, BinaryViewExt as _},
+ binary_view::BinaryView,
function::Function,
low_level_il::{
expression::{ExpressionHandler as _, LowLevelILExpressionKind},
diff --git a/plugins/workflow_objc/src/activities/objc_msg_send_calls/adjust_call_type.rs b/plugins/workflow_objc/src/activities/objc_msg_send_calls/adjust_call_type.rs
index 07e83ba7..4d22476a 100644
--- a/plugins/workflow_objc/src/activities/objc_msg_send_calls/adjust_call_type.rs
+++ b/plugins/workflow_objc/src/activities/objc_msg_send_calls/adjust_call_type.rs
@@ -1,6 +1,6 @@
use binaryninja::{
architecture::CoreRegister,
- binary_view::{BinaryView, BinaryViewBase as _, BinaryViewExt},
+ binary_view::{BinaryView, BinaryViewBase as _},
confidence::Conf,
function::Function,
low_level_il::{
diff --git a/plugins/workflow_objc/src/activities/remove_memory_management.rs b/plugins/workflow_objc/src/activities/remove_memory_management.rs
index cd613ee2..a6389d22 100644
--- a/plugins/workflow_objc/src/activities/remove_memory_management.rs
+++ b/plugins/workflow_objc/src/activities/remove_memory_management.rs
@@ -1,6 +1,6 @@
use binaryninja::{
architecture::{Architecture as _, CoreRegister, Register as _, RegisterInfo as _},
- binary_view::{BinaryView, BinaryViewExt as _},
+ binary_view::BinaryView,
low_level_il::{
expression::{ExpressionHandler, LowLevelILExpressionKind},
function::{LowLevelILFunction, Mutable, NonSSA},
diff --git a/plugins/workflow_objc/src/activities/super_init.rs b/plugins/workflow_objc/src/activities/super_init.rs
index 7b6bb3f7..533fe9e6 100644
--- a/plugins/workflow_objc/src/activities/super_init.rs
+++ b/plugins/workflow_objc/src/activities/super_init.rs
@@ -1,5 +1,5 @@
use binaryninja::{
- binary_view::{BinaryView, BinaryViewBase as _, BinaryViewExt as _},
+ binary_view::{BinaryView, BinaryViewBase as _},
medium_level_il::{
operation::{Constant, LiftedSetVarSsa, LiftedSetVarSsaField, Var, VarSsa},
MediumLevelILLiftedInstruction, MediumLevelILLiftedInstructionKind,
diff --git a/plugins/workflow_objc/src/activities/util.rs b/plugins/workflow_objc/src/activities/util.rs
index 3ac7df7c..d9acf29f 100644
--- a/plugins/workflow_objc/src/activities/util.rs
+++ b/plugins/workflow_objc/src/activities/util.rs
@@ -1,5 +1,5 @@
use binaryninja::{
- binary_view::{BinaryView, BinaryViewExt as _},
+ binary_view::BinaryView,
confidence::Conf,
function::Function,
medium_level_il::{
diff --git a/plugins/workflow_objc/src/metadata/global_state.rs b/plugins/workflow_objc/src/metadata/global_state.rs
index 6c128e22..a3693140 100644
--- a/plugins/workflow_objc/src/metadata/global_state.rs
+++ b/plugins/workflow_objc/src/metadata/global_state.rs
@@ -1,7 +1,7 @@
use binaryninja::file_metadata::SessionId;
use binaryninja::object_destructor::register_object_destructor;
use binaryninja::{
- binary_view::{BinaryView, BinaryViewBase, BinaryViewExt},
+ binary_view::{BinaryView, BinaryViewBase},
file_metadata::FileMetadata,
metadata::Metadata,
object_destructor::ObjectDestructor,
@@ -155,10 +155,7 @@ impl AnalysisInfo {
}
fn load_selector_impls(&self, bv: &BinaryView) -> Option<SelectorImplementations> {
- let Some(Ok(meta)) = bv.get_metadata::<HashMap<String, Ref<Metadata>>>("Objective-C")
- else {
- return None;
- };
+ let meta = bv.get_metadata::<HashMap<String, Ref<Metadata>>>("Objective-C")?;
let version_meta = meta.get("version")?;
if version_meta.get_unsigned_integer()? != 1 {
tracing::error!(
diff --git a/plugins/workflow_objc/src/metadata/selector.rs b/plugins/workflow_objc/src/metadata/selector.rs
index de2e883e..aa51d8e9 100644
--- a/plugins/workflow_objc/src/metadata/selector.rs
+++ b/plugins/workflow_objc/src/metadata/selector.rs
@@ -1,5 +1,5 @@
use crate::Error;
-use binaryninja::binary_view::{BinaryView, BinaryViewBase as _, BinaryViewExt};
+use binaryninja::binary_view::{BinaryView, BinaryViewBase as _};
pub struct Selector {
pub name: String,