Изменение функции в бинарнике, чтоб она возвращала определенное значение.
Статус рабочей области:
Поиск исполнителя
Стоимость:
Договорная
Срок выполнения:
3 дня
Варианты оплаты:
По договоренности
Дата публикации:
2024-10-28 06:23
Обновлено:
2024-10-29 08:51
Был(а) на сайте:
2024-11-03 02:27
Реклама
Изменение функции в бинарнике, чтоб она возвращала определенное значение.
Задача
Есть бинарник, линуксовская библиотека .so.
Что функция вызывается из нее вроде определил, через ida pro.
Надо ее поменять чтоб возвращала
Определенное значение.
Оставлять заявки могут только авторизованные пользователи.
Изменение функции внутри скомпилированной динамической библиотеки (.so файла) для возврата определенного значения может быть сложной задачей, особенно без исходного кода. Вот несколько общих подходов, которые вы можете рассмотреть:
Использование LD_PRELOAD для переопределения функции:
Создайте обертку-библиотеку: Напишите новую динамическую библиотеку, в которой вы реализуете функцию с тем же именем, что и та, которую хотите переопределить.
Возвращайте необходимое значение: В вашей функции просто верните нужное вам значение.
Предварительная загрузка вашей библиотеки: Используйте переменную окружения LD_PRELOAD, чтобы загрузить вашу библиотеку перед оригинальной, так что ваша функция переопределит исходную.
export LD_PRELOAD=/путь/к/вашей/библиотеке.so
Бинарное патчинг:
Дизассемблируйте библиотеку: Используйте такие инструменты, как IDA Pro или Ghidra, чтобы дизассемблировать библиотеку и найти нужную функцию.
Измените возвращаемое значение: Измените код ассемблера так, чтобы функция возвращала требуемое вам значение.
Соберите библиотеку заново: Сохраните изменения и убедитесь, что бинарный файл корректно пропатчен.
Примечание: Бинарный патчинг рискован и может повредить библиотеку, если сделать что-то неправильно. Всегда делайте резервные копии.
Перехват функции:
Трюки с динамическим линковщиком: Если функция динамически связывается, вы можете перехватить вызовы к ней, используя возможности линковщика.
Реализуйте пользовательскую функцию: Для таких функций, как malloc, вы можете предоставить собственную реализацию, которая будет вызываться вместо оригинальной.
Использование отладчика для модификации во время выполнения:
Подключитесь с помощью отладчика: Используйте gdb, чтобы подключиться к процессу, использующему библиотеку.
Установите точку останова и измените поведение: Когда функция вызывается, вручную измените возвращаемое значение.
Примечание: Это больше временное решение для тестирования.
Доброго времени суток!
Задача достаточно сложная, реализация зависит от многих факторов. Скорее всего придётся писать библиотеку-обертку или патчить бинарник.
К счастью, есть опыт выполнения подобных задач, так-что справлюсь быстро. От вас потребуется библиотека и подробности (что именно надо поменять).
Здравствуйте. С радостью выполню Ваш проект 'Изменение функции в бинарнике, чтоб она возвращала определенное значение.'. У меня есть опыт в этой области. Давайте обсудим детали.
Изменение функции в бинарнике, чтоб она возвращала определенное значение.
Реклама
Изменение функции в бинарнике, чтоб она возвращала определенное значение.
Есть бинарник, линуксовская библиотека .so.
Что функция вызывается из нее вроде определил, через ida pro.
Надо ее поменять чтоб возвращала
Определенное значение.
Другие открытые задания:
Верстка многостраничного сайта модульных бань30 000 р.
Бюджет: 30 000 р. Необходимо выполнить верстку многостраничного сайта по готовым макетам в figma. - Макеты страниц выполнены в трех основных разрешениях (веб, таблет, мобилка). Диз…
Ищу дизайнера помощника на постоянную работу с большим количеством проектов35 000 р.
Бюджет: 35 000 р. Подробнее на собеседовании.
Для Веб-Мастеров работа по системе CPS .15 000 р.
Бюджет: 15 000 р. Для Веб-Мастеров работа по системе CPS . Стоимость : 15 000рублей Срок выполнения : 90 дней Описание проекта : Меня зовут Олег и я занимаюсь производств…
поиск заданий