On Sat, Nov 10, 2007 at 12:43:11AM +0300, Dmitry E. Oboukhov wrote:
есть libconnect в портах freebsd - там перехватывается connect(2), дабы
сделать
bind(2) на локальную сторону сокета (bind адрес берется из переменной
окружения
CONN_ADDR). используется так:
набросал такой тестик, но
На Sat, 10 Nov 2007 00:43:11 +0300
Dmitry E. Oboukhov [EMAIL PROTECTED] записано:
или из простого бинарника функции не перехватить?
Да, естественно, LD_PRELOAD - это хак на уровне shared библиотек.
Обычно библиотека подгружается при первом использовании функции, а этот
хак заставляет заранее
как адрес функции который выдает gdb преобразовать в смещение от начала
elf-файла?
--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
В Птн, 09/11/2007 в 12:56 +0300, Dmitry E. Oboukhov пишет:
как адрес функции который выдает gdb преобразовать в смещение от начала
elf-файла?
Судя по всему никак. То ж адрес в памяти, который зависим от состояния
памяти на момент выделения. Может капнуть в сторону man dlopen:
...
int
как адрес функции который выдает gdb преобразовать в смещение от начала
elf-файла?
Судя по всему никак. То ж адрес в памяти, который зависим от состояния
памяти на момент выделения. Может капнуть в сторону man dlopen:
насколько я понимаю все программы с одного адреса и грузятся?
то есть если
На сколько я знаю это не правда. Тот эффект, который вы наблюдаете - это
либо между вызовами Вашей программы состояние памяти не сильно меняется
и Ваша программа грузится в одно и то же место, либо это результат
работы файлового кэша. Попробуйте запомнить адрес, перегрузиться,
запустить
как адрес функции который выдает gdb преобразовать в смещение от начала
elf-файла?
Судя по всему никак. То ж адрес в памяти, который зависим от состояния
памяти на момент выделения. Может капнуть в сторону man dlopen:
Нет. Разбирать структуру elf-файла (bfd) и искать там функцию по имени.
В Птн, 09/11/2007 в 16:38 +0300, Dmitry E. Oboukhov пишет:
как адрес функции который выдает gdb преобразовать в смещение от начала
elf-файла?
Судя по всему никак. То ж адрес в памяти, который зависим от состояния
памяти на момент выделения. Может капнуть в сторону man dlopen:
насколько
09.11.07, Dmitry E. Oboukhov[EMAIL PROTECTED] написал(а):
как адрес функции который выдает gdb преобразовать в смещение от начала
elf-файла?
Нет. Разбирать структуру elf-файла (bfd) и искать там функцию по имени.
есть ли тулзы делающие что-то подобное?
то есть зная имя функции получить
задача стоит в том что надо пропатчить бинарник.
исходника нет :)
необходимая функция gdb находится а вот дальше как перейти к файлу elf?
Вспоминая про российские и международные законы, лучше на самом деле
переформулировать задачу. А то статья светит.
задача стоит в том что надо пропатчить бинарник.
исходника нет :)
необходимая функция gdb находится а вот дальше как перейти к файлу elf?
Вспоминая про российские и международные законы, лучше на самом деле
переформулировать задачу. А то статья светит.
на самом деле ничего противозаконного
В сообщении от п'ятниця, 09-лис-2007 Dmitry E. Oboukhov написал(a):
задача стоит в том что надо пропатчить бинарник.
исходника нет :)
необходимая функция gdb находится а вот дальше как перейти к файлу elf?
Помучай readelf.
А поиском кода по файлу не проще будет?
задача стоит в том что надо пропатчить бинарник.
исходника нет :)
необходимая функция gdb находится а вот дальше как перейти к файлу elf?
Помучай readelf.
спасибо посмотрю
А поиском кода по файлу не проще будет?
поиском находится несколько мест, а функция одна
--
To UNSUBSCRIBE, email
On Fri, Nov 09, 2007 at 05:42:08PM +0300, Dmitry E. Oboukhov wrote:
Нет. Разбирать структуру elf-файла (bfd) и искать там функцию по имени.
есть ли тулзы делающие что-то подобное?
то есть зная имя функции получить ее смещение от начала elf?
Готовых нет. Написать самому, используя libbfd.
Нет. Разбирать структуру elf-файла (bfd) и искать там функцию по имени.
есть ли тулзы делающие что-то подобное?
то есть зная имя функции получить ее смещение от начала elf?
Готовых нет. Написать самому, используя libbfd.
Но лучше переформулировать задачу.
задача стоит в том что надо
На Fri, 9 Nov 2007 17:46:17 +0300
Alexey Pechnikov [EMAIL PROTECTED] записано:
задача стоит в том что надо пропатчить бинарник.
исходника нет :)
необходимая функция gdb находится а вот дальше как перейти к файлу
elf?
Вспоминая про российские и международные законы, лучше на самом деле
В сообщении от Friday 09 November 2007 20:36:13 Alexander GQ Gerasiov
написал(а):
На Fri, 9 Nov 2007 17:46:17 +0300
Alexey Pechnikov [EMAIL PROTECTED] записано:
задача стоит в том что надо пропатчить бинарник.
исходника нет :)
необходимая функция gdb находится а вот дальше как перейти
09.11.07, Dmitry E. Oboukhov[EMAIL PROTECTED] написал(а):
задача стоит в том что надо пропатчить бинарник.
исходника нет :)
необходимая функция gdb находится а вот дальше как перейти к файлу elf?
Помучай readelf.
спасибо посмотрю
А поиском кода по файлу не проще будет?
поиском
задача стоит в том что надо пропатчить бинарник.
исходника нет :)
необходимая функция gdb находится а вот дальше как перейти к файлу
elf?
Вспоминая про российские и международные законы, лучше на самом деле
переформулировать задачу. А то статья светит.
Если у тебя есть лицензия на
тут никаких противозаконных действий: имеетс софтина которая писалась
наемным программером, тот уволился, исходники потом потерялись т.к. были
никому неинтересны
Для меня это достаточное объяснение, а вот с точки зрения закона авторские
права _всегда_ принадлежат разработчику (имущественные -
Интересный вы вопрос подняли. С юридической точки зрения, разумеется. В
результате халатности работодателя и работника потеряны исходные коды
программы, закон такую ситуацию ну никак не предусматривает. Собственно,
программу следует ставить на баланс предприятия, тогда и вопросов не будет,
вот
тут никаких противозаконных действий: имеетс софтина которая писалась
наемным программером, тот уволился, исходники потом потерялись т.к. были
никому неинтересны
Для меня это достаточное объяснение, а вот с точки зрения закона авторские
права _всегда_ принадлежат разработчику (имущественные
есть 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
09.11.07, Dmitry E. Oboukhov[EMAIL PROTECTED] написал(а):
чтоб это все потребовалось доказывать нужна пострадавшая сторона которая
иски учинять будет :)
По слухам из интернета (ссылку потерял, найти не смог :)
в этой области это уже не так - пострадавшая сторона не нужна.
Dmitry E. Oboukhov [EMAIL PROTECTED] writes:
чтоб это все потребовалось доказывать нужна пострадавшая сторона
которая иски учинять будет :)
Российские госструктуры взяли на себя расширенные и углубленные
обязательства: покарать виновного, не дожидаясь заявления пострадавшей
стороны. Видать,
25 matches
Mail list logo