With the help of this program you can scan and use the process of elimination to find a variable in memory.
This has been tested with python 3.9
, it will probably work with
an older one as long as it's above 3.5 due to the typing
module.
I do not guarantee it will work on anything below 3.9
though.
- Install dependencies
poetry install
- NOTE this step is required IF you don't wish to execute as root
echo 0 | sudo tee /proc/sys/kernel/yama/ptrace_scope
It will configure the system so that you're allowed to read from another processes' memory.
If you do not do this you will need to run the program as root. It will reset if you reboot
your machine, you can look here
for more information as to how to have it persistent. You can read more about ptrace_scope
here.
TL;DR if it's 0, you allow any process to read anothers memory. 1 the process must have a predefined relationship with an inferior process. 2. admin only, 3. no process may read anothers memory.
If you wish to disable the ptrace_scope
you may simply execute the following command.
echo 2 | sudo tee /proc/sys/kernel/yama/ptrace_scope
Which will essetially require sudo access once again to read from another process. Another
reasonable one is also 1
, if you place 3
into the file you can't use e.g. gdb
since it
works via it.
- Start the program with
poetry run invoke start
poetry run invoke start
poetry run invoke test
poetry run invoke coverage
poetry run invoke coverage-report
poetry run invoke lint
poetry run invoke freeze