#memory-editor #emulation #egui #editor #memory

egui_memory_editor

A simple memory editor for the egui library

18 releases

Uses new Rust 2024

new 0.2.12 Apr 8, 2025
0.2.11 Jan 17, 2025
0.2.10 Aug 3, 2024
0.2.9 Apr 10, 2024
0.1.1 Feb 10, 2021

#218 in GUI

Download history 9/week @ 2024-12-30 7/week @ 2025-01-06 100/week @ 2025-01-13 20/week @ 2025-01-20 1/week @ 2025-01-27 20/week @ 2025-02-03 22/week @ 2025-02-10 27/week @ 2025-02-17 10/week @ 2025-02-24 6/week @ 2025-03-03 5/week @ 2025-03-10 1/week @ 2025-03-17 13/week @ 2025-03-24 17/week @ 2025-03-31 132/week @ 2025-04-07

164 downloads per month

MIT/Apache

48KB
690 lines

Egui Memory Editor

Crates io link Documentation on docs.rs

This is a simple memory editor/viewer utility for the immediate mode UI library egui

screenshot

Features

  • Multiple memory regions with different address ranges can be created.
  • Can jump to an arbitrary address using the goto functions.
  • Can select certain values in the main UI by right-clicking, which you can then see in the Data Preview section.
  • Can have an optional write function to allow editing fields by left clicking on them.

Usage

It's best to look at the example in the examples/ folder, but one can initialise the editor with any struct of their choosing.

For example, a custom memory struct:

let mut memory = Memory::new();
// Create a memory editor with a variety of ranges, need at least one, but can be as many as you want.
let mut mem_editor = MemoryEditor::new()
.with_address_range("All", 0..0xFFFF)
.with_address_range("IO", 0xFF00..0xFF80)
.with_window_title("Hello Editor!");

// In your egui rendering simply include the following.
// The write function is optional, if you don't set it the UI will be in read-only mode.
let mut is_open = true;
mem_editor.window_ui(
    ctx,
    &mut is_open,
    &mut memory,
    |mem, address| mem.read_value(address).into(),
    |mem, address, val| mem.write_value(address, val),
);

Running example

To run the example do the following:

  1. git clone https://github.com/Hirtol/egui_memory_editor
  2. cd egui_memory_editor
  3. cargo run --example simple --release

Feature Showcase

gif

Dependencies

~4.5–9.5MB
~93K SLoC