How theprofessionaldumbass/memoryk works
MiProtect is a Linux/Android kernel driver with a user-space C++ client. The sample app finds a target process, asks the driver for a module base, then reads memory; the client also exposes memory writes and virtual-touch commands. The kernel ioctl dispatcher routes these requests to process-memory, module-lookup, or touch handling. The tree and sampled source support these paths; no README content was provided, so undocumented capabilities cannot be assessed.
Main entry points: entry.c Device ioctl dispatch · memory.c Process memory ops · process.c Module lookup · main.cpp Sample app
Components 13
User client
- Sample app
user/main.cpp - Driver API
user/driver.hpp
Kernel driver
- Device ioctl dispatch
kernel/entry.c - Process memory ops
kernel/memory.c - Address translation
kernel/memory.c - Physical access
kernel/memory.c - Module lookup
kernel/process.c - Touch event handling
kernel/input_hook.c - Virtual input device
kernel/input_hook.c
Kernel services
- Kernel process memory
Other components
- Process discovery
- Target process
- Linux input subsystem
Connections 14
- Sample app → Process discovery: finds PID
- Sample app → Driver API: calls API
- Driver API → Device ioctl dispatch: sends ioctls
- Device ioctl dispatch → Process memory ops: dispatches read/write
- Device ioctl dispatch → Module lookup: dispatches lookup
- Device ioctl dispatch → Touch event handling: dispatches touch
- Process memory ops → Kernel process memory: gets process memory
- Process memory ops → Address translation: translates addresses
- Address translation → Physical access: maps physical address
- Module lookup → Kernel process memory: scans mappings
- Process memory ops → Target process: reads or writes
- Module lookup → Target process: finds module mapping
- Touch event handling → Virtual input device: reports contacts
- Virtual input device → Linux input subsystem: emits input events