From c4ba6d79ae3b96d56cc6b3744e7c64e004ecd161 Mon Sep 17 00:00:00 2001 From: Mason Reed Date: Tue, 21 Apr 2026 18:10:51 -0700 Subject: [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 --- plugins/dwarf/dwarf_export/src/lib.rs | 2 +- plugins/dwarf/dwarf_import/src/dwarfdebuginfo.rs | 2 +- plugins/dwarf/dwarf_import/src/helpers.rs | 2 +- plugins/dwarf/dwarf_import/src/lib.rs | 2 +- plugins/dwarf/dwarfdump/src/lib.rs | 2 +- plugins/dwarf/shared/src/lib.rs | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) (limited to 'plugins/dwarf') 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, }; -- cgit v1.3.1