[room] objdump- дизассемблирование , странные call- конструкции

Sergey Stepanov =?iso-8859-1?q?dlagovna_=CE=C1_mail=2Eru?=
Пн Май 22 15:17:19 MSD 2006


> 22.05.06, Sergey Stepanov<dlagovna на mail.ru> написал(а):
> > Кстати, народ, нашел одну весч, она вам понравица!
> > Называется obj2asm. Декомпилит линуховые o-шники
> > в формат MASM, классическая Intel-нотация, никаких
> > AT&T извратов. Можно сразу засунуть полученый код
> > в ассемблер и скомпилить!
> В какой ассемблер? В линуховый GNU as?
Нет, в винюковый MASM.

> Вы дисассемблируете линуховые объектники, а потом компилируете их MASM-ом? ;)
Да. Тем самым совершаю перенос на винду объектников, и могу собирать
самодельные линуховые проги под виндой. Беда в том, что для некоторых
функций нет исходников, остались только o-шники.

> AT&T изврат на самом деле отличается от интеловского изврата только
> нотацией, так что в принципе наверное можно написать sed-скрипт,
> который будет вывод objdump переводить в интеловский изврат.
Ага, осталось выучить еще и sed :) obj2asm генерит код, пригодный
для компиляции. Включая то, что он печатает код data-сегментов в нормальном
виде. А objdump дает код в виде, который даже GNU as не скормишь.
И код data-сегментов в нормальном виде не дает, их тоже нужно преобразовывать.

> > Эта штука вылетает с Segmentation Fault на середине
> > дизассемблирования крупных o-файлов. Причем
> > запустив под gdb, вижу, что вылетает на функции strlen(),
> > библиотеки /lib/libc.so.6
> > Что теперь делать - незнаю..
> Дизассемблировать? ;) 
Да.

> А какая лицензия?
Лицензия чего?

> > Вот уткнулся в такую бяку. Кто чем может помоч?
> Посмотрите в сторону ndisasm из пакета nasm.
Ок, гляну. Надеюсь в ALTMaster2.4 он есть в репозитарии.


ЗЫЖ Всеже obj2asm - харошая вещщ. Вот только не пойму,
кто в сегфолте виноват - obj2asm или libc.so.6? Помню,
были какие-то ugly-баги в str функциях, может это они
вылазиют? Это можно как-то пофиксить?


Со всяческими пожеланиями, Сергей.
http://xi.net.ru




Подробная информация о списке рассылки smoke-room