Переопределение функций запуска процесса в Linux
Мне любопытно узнать, как переопределить функции запущенного процесса в Linux, чтобы процесс сначала вызывал мои функции.
мы можем использовать LD_PRELOAD
для переопределения функции в двоичном файле, но она не работает в случае уже запущенного процесса. Любое предложение, пожалуйста.
1 ответ
LD_PRELOAD позволяет вам принудительно загружать общий объект перед любым другим. Таким образом, если функция уже предоставлена этим пользовательским общим объектом, она не будет загружена снова из "стандартного" общего объекта.
В вашем случае вы хотите изменить уже загруженную функцию. Я считаю, что это невозможно.
Это явно было бы угрозой безопасности.
Большинство операционных систем реализуют DEP и ASLR, которые предотвращают изменение и прогнозирование положения общего объекта в памяти.