Изменение функции в бинарнике, чтоб она возвращала определенное значение.
Задание закрыто
Статус рабочей области:
Поиск исполнителя
Стоимость:
Договорная
Срок выполнения:
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.
Надо ее поменять чтоб возвращала
Определенное значение.
Другие открытые задания:
Разметка фотографий для обучения нейросети40 000 р.
Бюджет: 40 000 р. Необходимо провести разметку PPOCRLabel и полностью проверить результат своими силами 10 000 фотографий. Количество точек выделения должно быть 4 по углам — эт…
Маркетплейсы . Нужен профи , работающий с маркетплейсами .34 200 р.
Бюджет: 34 200 р. Маркетплейсы . Нужен профи , работающий с маркетплейсами . Продвижение Продукции , услуг через маркетплейсы . Меня зовут Олег и я занимаюсь производством пряжи …
Менеджер по продажам и развитию (удаленно, только через чаты)1 500 р.
Бюджет: 1 500 р. Мы ищем амбициозного и энергичного специалиста для работы с клиентами и развития бизнеса. Эта роль идеально подходит для тех, кто готов к новым вызовам, хочет расти…
поиск заданий