From a87f4888eddf804baed4df3de3ac81d737d78ed3 Mon Sep 17 00:00:00 2001 From: Mason Reed Date: Fri, 14 Feb 2025 23:35:40 -0500 Subject: Implement Rust MemoryMap Also split out SegmentFlags and fix some UB with the section creation --- view/minidump/src/view.rs | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'view') diff --git a/view/minidump/src/view.rs b/view/minidump/src/view.rs index 0683030f..ff85fe07 100644 --- a/view/minidump/src/view.rs +++ b/view/minidump/src/view.rs @@ -2,7 +2,7 @@ use std::collections::HashMap; use std::ops::Range; use binaryninja::section::Section; -use binaryninja::segment::Segment; +use binaryninja::segment::{Segment, SegmentFlags}; use log::{debug, error, info, warn}; use minidump::format::MemoryProtection; use minidump::{ @@ -244,13 +244,16 @@ impl MinidumpBinaryView { segment_memory_protection.executable, ); + let segment_flags = SegmentFlags::new() + .readable(segment_memory_protection.readable) + .writable(segment_memory_protection.writable) + .executable(segment_memory_protection.executable); + self.add_segment( Segment::builder(segment.mapped_addr_range.clone()) .parent_backing(segment.rva_range.clone()) .is_auto(true) - .readable(segment_memory_protection.readable) - .writable(segment_memory_protection.writable) - .executable(segment_memory_protection.executable), + .flags(segment_flags), ); } else { error!( -- cgit v1.3.1