Сейчас на форуме: jinoweb (+4 невидимых) |
eXeL@B —› Программирование —› Редактирование lib-файла |
Посл.ответ | Сообщение |
|
Создано: 13 марта 2016 11:08 · Личное сообщение · #1 Есть скомпилированный lib-файл, без исходников, но с хидерами, в нём имеется функция Code:
Надо ее переопределить на свою. При вызове из своего кода проблем нет, просто вызываем другую и оригинальная ProcessData не линкуется. Но проблема в том, что она вызывается другими функциями внутри lib. Подскажите, есть ли возможность отредактировать lib, чтобы переопределить вызов функцию на свою? |
|
Создано: 13 марта 2016 11:44 · Поправил: kunix · Личное сообщение · #2 |
|
Создано: 13 марта 2016 11:51 · Личное сообщение · #3 kunix пишет: Я бы предложил слинковаться с оригинальной либой, получить адрес ProcessData, и перехватить ее Хук - это понятно, я бы хотел чтобы в статику ничего из старого кода не попадало. Например, как-то отредактировать lib-файл, переименовав функцию, чтобы он не находил ее внутри себя, а линкер подставлял ему адрес моей реализации новой функции. |
|
Создано: 13 марта 2016 18:41 · Личное сообщение · #4 |
|
Создано: 13 марта 2016 19:27 · Поправил: plutos · Личное сообщение · #5 |
|
Создано: 13 марта 2016 19:28 · Личное сообщение · #6 GroundHog Если ссылки на эту функцию идут исключительно из других объектников либы, то разбираешь либу на объектники утилью lib, затем переименовываешь функцию на ProcessDatB, пишешь свою ProcessData, компилишь объектник и собираешь либу обратно. Чуть большая проблема если рефы на эту функцию идут также внутри того же объектника. Прийдется либо полностью его поменять, либо патчить оригинальную функцию чтобы она вызывала твою новую. ----- старый пень |
eXeL@B —› Программирование —› Редактирование lib-файла |