Изменение функции в бинарнике, чтоб она возвращала определенное значение.
Задание закрыто
Статус рабочей области:
Поиск исполнителя
Стоимость:
Договорная
Срок выполнения:
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.
Надо ее поменять чтоб возвращала
Определенное значение.
Другие открытые задания:
ОТЗЫВЫ . Нужны отзывы с порталов типа АВИТО ,ЮЛА , OZON , Wildberries.8 000 р.
Бюджет: 8 000 р. ОТЗЫВЫ . Нужны отзывы с порталов типа АВИТО ,ЮЛА , OZON , Wildberries. Нужны хорошие положительные ОТЗЫВЫ с обязательной регистрацией на портале . Отзыв дол…
Необходим редизайн сайта на Битриксе20 000 р.
Бюджет: 20 000 р. Необходимо сделать редизайн сайта-каталога на битриксе (в фигме). Бредбука нет, но есть старый сайт со старым дизайном. Нужно, чтобы в новом дизайне читались узнава…
Пройти верификацию (KYC) на бирже Bybit2 000 р.
Бюджет: 2 000 р. Необходимо пройти онлайн верификацию (KYC) на крипто бирже Bybit. 1000 руб за одну успешную верификацию. Минимум 2 верификации для этого задания. Готов взять более…
поиск заданий