@kaktak255

Как на Linux читать и изменять память процесса?

Как на Linux читать и изменять память процесса?
  • Вопрос задан
  • 182 просмотра
Решения вопроса 3
@rPman
погуглю за тебя
помимо самого доступа нужно еще и чужие структуры понимать, а это значит использовать как минимум те же версии подключаемых библиотек (в т.ч. статически, что не так просто определить)
Ответ написан
Комментировать
jcmvbkbc
@jcmvbkbc
"I'm here to consult you" © Dogbert
Классический способ состоит в использовании системного вызова ptrace с кодами запроса PTRACE_ATTACH для присоединения к процессу, PTRACE_PEEKTEXT и PTRACE_POKETEXT для чтения и записи его памяти и PTRACE_DETACH для отсоединения.
Ответ написан
Комментировать
ValdikSS
@ValdikSS
/proc/PID/maps — регионы памяти
/proc/PID/mem — сама память процесса
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
mayton2019
@mayton2019
Bigdata Engineer
Чтобы просто почитать память процесса - ему можно послать сигнал SIGQUIT и он должен ссыпать самого себя в дамп файла. Это законный метод. Программист пытается понять state процесса.

Все прочие методы должны вызывать настоящий ужас спецов по инфо-безопасности. Кому понадобилось изменять чужие процессы? Какой юзкейс?
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы