Re: gdb и elf
On Fri, Nov 09, 2007 at 05:42:08PM +0300, Dmitry E. Oboukhov wrote:
> >>> Нет. Разбирать структуру elf-файла (bfd) и искать там функцию по имени.
> >> есть ли тулзы делающие что-то подобное?
> >> то есть зная имя функции получить ее смещение от начала elf?
>
> > Готовых нет. Написать самому, используя libbfd.
> > Но лучше переформулировать задачу.
> задача стоит в том что надо пропатчить бинарник.
> исходника нет :)
> необходимая функция gdb находится а вот дальше как перейти к файлу elf?
>
возможно на это посмотреть иначе. это не совсем то, что вам хочется, но
при определенных условиях может решить вашу проблему.
RTLD(1) FreeBSD General Commands Manual RTLD(1)
NAME
ld-elf.so.1, ld.so, rtld -- run-time link-editor
DESCRIPTION
The ld-elf.so.1 utility is a self-contained shared object providing run-
time support for loading and link-editing shared objects into a process'
address space. It is also commonly known as the dynamic linker. It uses
the data structures contained within dynamically linked programs to
determine which shared libraries are needed and loads them using the
mmap(2) system call.
...
LD_PRELOAD A list of shared libraries, separated by colons and/or
white space, to be linked in before any other shared
libraries. If the directory is not specified then the
directories specified by LD_LIBRARY_PATH will be
searched first followed by the set of built-in stan-
dard directories. This variable is unset for set-
user-ID and set-group-ID programs.
...
есть libconnect в портах freebsd - там перехватывается connect(2), дабы сделать
bind(2) на локальную сторону сокета (bind адрес берется из переменной окружения
CONN_ADDR). используется так:
export LD_PRELOAD=/usr/local/lib/libconnect.so
export CONN_ADDR=1.2.3.4
./program --op1 --op2
попробуйте переписать и перегрузить нужную вам функцию по аналогии. ;)
/swp
Reply to:
- Follow-Ups:
- gdb и elf
- From: "Dmitry E. Oboukhov" <dimka@avanto.org>
- gdb и elf
- From: "Dmitry E. Oboukhov" <dimka@avanto.org>
- References:
- gdb и elf
- From: "Dmitry E. Oboukhov" <dimka@avanto.org>
- Re: gdb и elf
- From: Покотиленко Костик <casper@meteor.dp.ua>
- Re: gdb и elf
- From: "Dmitry Fedorov" <dm.fedorov@gmail.com>
- gdb и elf
- From: "Dmitry E. Oboukhov" <dimka@avanto.org>
- Re: gdb и elf
- From: "Dmitry Fedorov" <dm.fedorov@gmail.com>
- gdb и elf
- From: "Dmitry E. Oboukhov" <dimka@avanto.org>