Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
15
Добавлен:
01.05.2014
Размер:
334.34 Кб
Скачать

МИНИСТЕРСТВО НАУКИ И ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ

САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ

ЭЛЕКТРОТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ

КАФЕДРА МОЭВМ

ОТЧЕТ

ПО ЛАБОРАТОРНОЙ РАБОТЕ №1

«Форматы исполняемых файлов»

по дисциплине

«Операционные системы»

Преподаватель: Алексеев А.Н.

Выполнили СТ. ГР. 3341 ФКТИ: Митягин С.А.

Грачев Д.В.

САНКТ-ПЕТЕРБУРГ

2006

Задание:

  • Выдать список ELF файлов в заданной директории

  • Вывести точку входа для исполняемого файла и несколько команд ассемблера находящихся по этому адресу

  • Вывести список секций в заданном файле.

  • Проверить наличие определенной строки в секции .dynstr для заданного файла

  • Объединить строки из секций .dynstr всех файлов заданной директории в одном файле

  • Выдать список “read only” секций и их суммарный размер

  • Для объектного файла выдать список неопределенных символов (т.е. чьи адреса определяться после линковки)

  • Для заданного исполняемого файла и адреса вывести несколько строк ассемблерного кода находящихся по этому адресу если секция исполняемая иначе выдать сообщение об ошибке.

Введение:

Общие сведения об ELF – файлах:

Структура ELF-файла приведена на рисунке:

Использованные в работе команды и утилиты:

  1. Пакет binutils – это коллекция утилит для работы с бинарными файлами. Она включает в себя:

А) objdump – вывод информации об объектных файлах.

Objdump –d Для любой функции программы получить с помощью утилиты objdump ее бинарный и ассемблерный код с соответствующими сороками на С

objdump –h С помощью утилиты objdump, определить в какой секции хранятся символьные строки, и в какой исполняемый код программы

objdump –d -j Выводит информацию о заданной секции бинарного файла

Б) readelf – выводит информацию о бинарных файлах.

readelf –S выводит список секций в файле.

В) grep - позволяет найти строку символов в файле.

Г) file – используется для определения типа данных, содержащихся в файле. File различает множество типов, включая бинарные файлы формата ELF, системные библиотеки, пакеты RPM и множество различных графических форматов.

Информация, которая потребовалась для лабораторной работы:

  1. Искусство программирования на языке сценариев командной оболочки (Автор: Mendel Cooper, Перевод: Андрей Киселев)

  2. Книга А. Соловьева на основании следующих источников:

  1. Кристиан К. Введение в операционную систему UNIX. - М.: Финансы и статистика, 1985. -318 с.

  2. Готье Р. Руководство по операционной системе UNIX. -М.: Финансы и статистика, 1985. -232 с.

  3. Браун П. Введение в операционную систему UNIX. -М.: Мир, 1987. -287 с.

  4. Томас Р., Йейтс Дж. Операционная система UNIX. Руководство для пользователей. -М.: Радио и связь, 1986. -352 с.

  5. Банахан М., Раттер Э. Введение в операционную систему UNIX. -М.: Радио и связь, 1986. -341 с.

  6. Тихомиров В.П., Давидов М.И. Операционная система UNIX: Инструментальные средства программирования. -М.: Финансы и статистика, 1988. -206 с.

  7. Баурн С. Операционная система UNIX. -М.: Мир, 1986. -462 с.

  8. Беляков М.И. и др. Инструментальная мобильная операционная система ИНМОС. -М.: Финансы и статистика, 1985 -231 с.

  9. Топхем Д., Чьюнг Х.В. Юникс и Ксеникс. -М.: Мир, 1988. -392 с.

  10. Беляков М.И., Рабовер Ю.И., Фридман А.Л. Мобильная операционная система. -М.: Радио и связь, 1991 -208 с.

  11. Керниган Б.В., Пайк Р. UNIX - Универсальная среда программирования. -М.: Финансы и статистика, 1992 -304 с.

Вывод:

Скрипт выполняет поставленные задачи. Он реализован на языке командной оболочки Shell.

Соседние файлы в папке Лабораторная работа №12