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 --- rust/examples/bndb_to_type_library.rs | 1 - rust/examples/decompile.rs | 2 +- rust/examples/disassemble.rs | 2 +- rust/examples/flowgraph.rs | 2 +- rust/examples/high_level_il.rs | 2 +- rust/examples/medium_level_il.rs | 2 +- rust/examples/simple.rs | 2 +- rust/examples/workflow.rs | 1 - 8 files changed, 6 insertions(+), 8 deletions(-) (limited to 'rust/examples') diff --git a/rust/examples/bndb_to_type_library.rs b/rust/examples/bndb_to_type_library.rs index 2cfaf83e..b733dde0 100644 --- a/rust/examples/bndb_to_type_library.rs +++ b/rust/examples/bndb_to_type_library.rs @@ -1,6 +1,5 @@ // Usage: cargo run --example bndb_to_type_library -use binaryninja::binary_view::BinaryViewExt; use binaryninja::tracing::TracingLogListener; use binaryninja::types::{QualifiedName, TypeLibrary}; use tracing_indicatif::span_ext::IndicatifSpanExt; diff --git a/rust/examples/decompile.rs b/rust/examples/decompile.rs index 155de81c..30465a05 100644 --- a/rust/examples/decompile.rs +++ b/rust/examples/decompile.rs @@ -1,4 +1,4 @@ -use binaryninja::binary_view::{BinaryView, BinaryViewBase, BinaryViewExt}; +use binaryninja::binary_view::{BinaryView, BinaryViewBase}; use binaryninja::disassembly::{DisassemblyOption, DisassemblySettings}; use binaryninja::function::Function; use binaryninja::linear_view::LinearViewObject; diff --git a/rust/examples/disassemble.rs b/rust/examples/disassemble.rs index df33aade..245f24d7 100644 --- a/rust/examples/disassemble.rs +++ b/rust/examples/disassemble.rs @@ -1,4 +1,4 @@ -use binaryninja::binary_view::{BinaryViewBase, BinaryViewExt}; +use binaryninja::binary_view::BinaryViewBase; use binaryninja::disassembly::{DisassemblyOption, DisassemblySettings, DisassemblyTextRenderer}; use binaryninja::function::Function; use binaryninja::tracing::TracingLogListener; diff --git a/rust/examples/flowgraph.rs b/rust/examples/flowgraph.rs index cb03234e..30307c3f 100644 --- a/rust/examples/flowgraph.rs +++ b/rust/examples/flowgraph.rs @@ -9,7 +9,7 @@ use binaryninja::interaction::{MessageBoxButtonResult, MessageBoxButtonSet, Mess use binaryninja::tracing::TracingLogListener; use binaryninja::{ architecture::BranchType, - binary_view::{BinaryView, BinaryViewExt}, + binary_view::BinaryView, disassembly::{DisassemblyTextLine, InstructionTextToken, InstructionTextTokenKind}, flowgraph::{EdgePenStyle, FlowGraph, ThemeColor}, }; diff --git a/rust/examples/high_level_il.rs b/rust/examples/high_level_il.rs index 57b735e9..28081a76 100644 --- a/rust/examples/high_level_il.rs +++ b/rust/examples/high_level_il.rs @@ -1,4 +1,4 @@ -use binaryninja::binary_view::{BinaryViewBase, BinaryViewExt}; +use binaryninja::binary_view::BinaryViewBase; use binaryninja::tracing::TracingLogListener; fn main() { diff --git a/rust/examples/medium_level_il.rs b/rust/examples/medium_level_il.rs index e2c0edee..4e9cac83 100644 --- a/rust/examples/medium_level_il.rs +++ b/rust/examples/medium_level_il.rs @@ -1,4 +1,4 @@ -use binaryninja::binary_view::{BinaryViewBase, BinaryViewExt}; +use binaryninja::binary_view::BinaryViewBase; use binaryninja::tracing::TracingLogListener; fn main() { diff --git a/rust/examples/simple.rs b/rust/examples/simple.rs index c01ef74e..5f063ede 100644 --- a/rust/examples/simple.rs +++ b/rust/examples/simple.rs @@ -1,5 +1,5 @@ use binaryninja::architecture::Architecture; -use binaryninja::binary_view::{BinaryViewBase, BinaryViewExt}; +use binaryninja::binary_view::BinaryViewBase; use binaryninja::tracing::TracingLogListener; fn main() { diff --git a/rust/examples/workflow.rs b/rust/examples/workflow.rs index bfbbbdb2..a827b0a2 100644 --- a/rust/examples/workflow.rs +++ b/rust/examples/workflow.rs @@ -1,4 +1,3 @@ -use binaryninja::binary_view::BinaryViewExt; use binaryninja::low_level_il::expression::{ExpressionHandler, LowLevelILExpressionKind}; use binaryninja::low_level_il::instruction::InstructionHandler; use binaryninja::low_level_il::VisitorAction; -- cgit v1.3.1