MEMory Search and EDit for Linux
Heavily inspired by basic Cheat Engine workflow (search value, make value change, search new value, save address and modify it)
Warning
This project is still a work in progress!
It should work for the most part, but adjust your expectations accordingly.
Check TODO.md for things yet to be implemented.
- Linux (other platforms might be supported in the future) with
/proc
fs - OpenGL 3.0+ capable GPU driver
Thanks to ImperatorStorm, we have an AUR package!
Install with your favorite AUR helper, for example with yay
:
yay -S memsed-git
Then, run from terminal with sudo memsed
.
Will work on most Linux distros, needs to be updated manually.
curl -Lo memsed https://github.com/Willy-JL/MemSed/releases/latest/download/memsed
sudo install memsed -D -t /usr/local/bin/
rm memsed
Then, run from terminal with sudo memsed
.
If your distro does not support /usr/local/bin/
in PATH, try /usr/bin/
instead.
- GCC
- CMake 3.20+
- GNU Make
- Python 3.10+ (for dear_bindings and GLAD generation)
git clone -j $(nproc) --recursive https://github.com/Willy-JL/MemSed
cd MemSed
cmake --preset release
cmake --build -j $(nproc) --preset release
The executable will be located at ./build/release/memsed
While developing, it is best to first configure with the debug
preset:
cmake --preset debug
Only need to run this (configure step) the first time, and when creating/deleting files
You can specify a target in the cmake
build command:
cmake --build -j $(nproc) --preset debug -t run
Perform a clean build by adding --clean-first
to the build command too
Quickly start attached to debugger with:
cmake --build -j $(nproc) --preset debug -t gdb
Configuration files are provided for VS Code and they rely on clangd
You will need to run a full build process atleast once before clangd
picks up the compile DB
Press Ctrl+Shift+P
and run clangd: Restart language server
if things ever go wrong
build/
: output and working directory for compilationbuild/current/
: symlink tobuild/debug/
orbuild/release/
lib/
: mostly generated code that the project depends onlib/vendor/
: submodules used to generate code inlib/
, or compiled as isresources/
: assets used by the program, converted to C code inlib/
src/
: code specific to this projectsrc/process/
: platform-specific implementation of basic process primitivessrc/thread/
: platform-specific implementation of basic thread primitives- everything else in
src/
should be fairly platform-agnostic
If you enjoy this program please spread the word! And if you really love it, maybe consider donating? :D
Ko-fi: One-off or Recurring, No signup required
PayPal: One-off, Signup required
BTC:
1EnCi1HF8Jw6m2dWSUwHLbCRbVBCQSyDKm
Thank you <3