How siubikyt/memread works
memread is a Linux process-memory inspection tool: the user enters a PID, address, and size in its terminal UI; the client requests a kernel-mediated read and presents the bytes as a hexdump and typed values. The driver validates the request, locates the target task, reads its memory, and copies the result back. The README describes the client-driver workflow, and the sampled driver confirms the memory-read path; unsampled client code limits detail about the precise request and display wiring.
Main entry points: memread.cpp memread client · memread.c Read IOCTL handler · imgui_widgets.cpp UI framework · imtui-impl-ncurses.h Terminal UI API
Components 10
Terminal client
- memread client
memread_client/memread.cpp - Input and tabs
memread_client/memread.cpp - Typed dump
memread_client/memread.cpp - UI framework
memread_client/src/imgui_widgets.cpp - Terminal UI API
memread_client/include/imtui-impl-ncurses.h
Kernel reader
- memreader device
memread_driver/memread.c - Read IOCTL handler
memread_driver/memread.c - Process memory access
memread_driver/memread.c
Target memory
- Target process
Other components
- Debugger user
Connections 12
- Debugger user → memread client: uses
- memread client → Input and tabs: runs
- Input and tabs → UI framework: builds widgets
- memread client → Terminal UI API: initializes terminal UI
- memread client → memreader device: requests memory read
- memreader device → Read IOCTL handler: dispatches IOCTL
- Read IOCTL handler → Process memory access: reads via
- Process memory access → Target process: reads memory
- Target process → Process memory access: supplies bytes
- Read IOCTL handler → memread client: copies bytes back
- memread client → Typed dump: formats bytes
- Typed dump → Input and tabs: displays values