В системе с предкомпилированным двоичным похожее на это:Переписывания уже скомпилированные функций во время выполнения
int foo(int bar) {
// do something wrong
return ...;
}
Есть ли способ я могу использовать, во время выполнения, изменить эффект вызова этой функции для:
int foo(int bar) {
return fixedFoo(bar);
}
Без изменения других бинарных файлов? То есть есть ли какой-нибудь хакерский хакер, который я могу сделать, чтобы изменить функциональность вызова foo?
К сожалению, я не могу предварительно скопировать двоичный файл, поскольку правильное поведение foo зависит от результата запуска.
Вы могли бы сделать Foo указатель на функцию, а затем установить Foo в подпрограмму, которую после «запуска» во время выполнения. –
Вы можете «предварительно установить» двоичный код с вызовом фиксированной функции, которая вызывает другую функцию, которая делает что-то, зависящее от «запуска запуска». – dasblinkenlight
Какая платформа/архитектура? –