· Начало · Отвђтить · Статистика · Поиск · FAQ · Правила · Установки · Язык · Выход · WASM.RU · Noir.Ru ·

 WASM Phorum —› WASM.UNIX —› Overcoding ELF

. 1 . 2 . >>

Посл.отвђт Сообщенiе


Дата: Май 23, 2004 22:01:10

Встала задача дописать пару строк ассемблерного кода в ELF под Linux/x86. В принципе, справлюсь и сам, благо и дока по ELF есть. Однако, хотелось бы задать два вопроса:
1) Какие тулзы по редактированию/ассемблированию/дизассемблированию ELF-файлов есть под Linux КРОМЕ biew или HT-Editor (я имею в виду нативные утилиты, а не кросс-примочки, типа IDA)
2) Может, есть какие-то статьи по дописыванию пары строк, я особо ничего не смог найти...


Дата: Май 23, 2004 22:37:03

volodya
Кроме древних статей Red Plait'а на реверсинге в разделах "Статьи" и "Инструменты" я ничего не встречал.

ЗЫ: Володя, письмо получил?


Дата: Май 23, 2004 22:52:55

volodya

iz tools vpolne dostatochno svyazki
objdump+hexedit+gdb+gcc


Дата: Май 24, 2004 00:34:54

Asterix

Да, получил, подожди вторника. Отвечу с работы.

intuit

Все, что ты перечислил - это большой и полный suxx. :(
Есть что-то типа HIEW, но под *nix? BIEW кривой. Собирается неплохо, но настолько неотлажен и столько даже видимых багов, что мне просто страшно в нем работать!


Дата: Май 24, 2004 02:31:25


Дата: Май 24, 2004 05:02:37

Вот спасибо, так спасибо. Хоть в тулзы бы заглянул. Там это давно лежит. Не подходит он мне.


Дата: Май 24, 2004 06:20:06

%)


Дата: Май 24, 2004 06:39:58 · Поправил: Shift

2)заражение ELF- есть.Кхе-кхе Также на всяко-разных пагах хак-групп.


Дата: Май 24, 2004 10:43:33

по поводу заражения - могу кинуть свою статью про методики внедрения в ELF'ы, только скажи куда.


Дата: Май 24, 2004 19:44:45

Elementary, my dear Watson: на wasm_soft(dog)umr.ru.
Спасибо!


Дата: Май 24, 2004 19:45:03

Shift

Линк нерабочий.


Дата: Май 25, 2004 00:45:16

volodya Пашет.Попробуй другой прокси.Если совсем никак, напиши - зазиплю на мыло.


Дата: Май 25, 2004 01:20:42

Вот эта статья, только ничего особенного в ней нет.

_1109680676__elf.rar


Дата: Июн 2, 2004 00:36:44

Ну ОК. Кое-что таки достигнуто. HIEW, как оказалось (сам не ожидал), замечательно понимает ELF и в связке с IDA рулит.
Теперь текущая проблема. Мне необходимо вшарашить примерно 30 байт кода в этот ELF. А места в .text нет. На alignment используется 8 байт максимум. Можно, конечно, так как предлагает kaspersky в своей статье сделать - расползтись по всем этим восьми-байтным фигням с помощью jmp, но меня эта мысль отнюдь не греет. Может, у кого есть идеи? Например, я не знаю, что произойдет, если я вшарашу код в сегмент .data, предварительно поставив атрибут выполнения... Словом, буду рад любым мыслям :)


Дата: Июн 2, 2004 01:08:37

И еще меня терзают смутные сомнения :)
Мне надо вставить строчку типа:
perl_eval_pv("require B::Deparse; B::Deparse->compile()->();", TRUE);


что будет сведено к такому коду:
 151 006c 83EC08   		subl	$8, %esp
 152 006f 6A01     		pushl	$1
 153 0071 68060000 		pushl	$.LC3
 153      00
 154 0076 E8FCFFFF 		call	perl_eval_pv
 154      FF
 155 007b 83C410   		addl	$16, %esp


Строку можно (как я и сделал) вбить в секцию данных. Куда вбить код - пока не знаю. Но основная проблема, как мне кажется, не в этом. Есть ведь такая вещь как .GOT и .PLT.

http://www.phrack.org/phrack/56/p56-0x07
http://www.zone-h.org/files/24/elf_runtime_fixup.txt

Так вот, perl_eval_pv индекса в GOT НЕ ИМЕЕТ! Если я, скажем, пропишу call _вызов_напрямую, то будет ли это нормальным? Ведь есть релокейшены, мать их... И как быть с данными?

Так вот,

. 1 . 2 . >>


Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.096