diff options
| author | Mason Reed <mason@vector35.com> | 2026-04-21 18:10:51 -0700 |
|---|---|---|
| committer | Mason Reed <35282038+emesare@users.noreply.github.com> | 2026-05-10 17:13:08 -0700 |
| commit | c4ba6d79ae3b96d56cc6b3744e7c64e004ecd161 (patch) | |
| tree | 5762fc3ff58b57caec5f42176faf6635c464b4f3 /plugins | |
| parent | 8269a8ac29e59c7949af753dac5c1f36bb700903 (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')
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, |
