Часть полного текста документа:НАЦИОНАЛЬНЫЙ УНИВЕРСИТЕТ УЗБЕКИСТАНА ИМЕНИ МИРЗО УЛУГБЕКА ФАКУЛЬТЕТ КОМПЬЮТЕРНЫХ ТЕХНОЛОГИИ На тему: Семантический разбор EXE-файла . Выполнил: Ташкент 2003. ПЛАН: Предисловие. 1. Язык ассемблера и структура команд. 2. Структура EXE -файла (семантический разбор). 3. Структура COM-файла. 4. Принцип действия и распространения вируса. 5. Дисассемблер. 6. Программы. Предисловие Профессия программиста удивительна и уникальна. В наше время науку и жизнь невозможно представить без новейших технологии. Все что связано с деятельностью человека не обходится без вычислительной техники. А это способствует ее высокому развитию и совершенству. Пусть развитие персональных компьютеров началось не так давно, но в течение этого времени были сделаны колоссальные шаги по программным продуктам и еще долгое время эти продукты будут широко использоваться. Область связанных с компьютерами знании претерпела взрыв, как и соответствующая технология. Если не брать в рассмотрение коммерческую сторону, то можно сказать, что чужих людей в этой области профессиональной деятельности нет. Многие занимаются разработкой программ не ради выгоды или заработка, а по собственной воле, по увлечению. Конечно это не должно сказаться на качестве программы, и в этом деле так сказать "бизнесе" есть конкуренция и спрос на качество исполнения, на стабильной работе и отвечающий всем требованиям современности. Здесь так же стоит отметить появление микропроцессоров в 60-х годах, которые пришли на замену большого количества набора ламп. Есть некоторые разновидности микропроцессоров которые сильно отличаются друг от друга. Эти микропроцессоры отличны друг от друга разрядностью и встроенными системными командами. Самые распространенные такие как: Intel, IBM, Celeron, AMD и т.д. Все эти процессоры имеют отношение к развитой архитектуре процессоров фирмы Intel. Распространение микрокомпьютеров послужило причиной пересмотра отношения к языку ассемблера по двум основным причинам. Во-первых, программы, написанные на языке ассемблера, требуют значительно меньше памяти и времени выполнения. Во-вторых, знание языка ассемблера и результирующего машинного кода дает понимание архитектуры машины, что вряд ли обеспечивается при работе на языке высокого уровня. Хотя большинство специалистов в области программного обеспечения ведут разработки на языках высокого уровня, таких как Паскаль, С или Delphi, что проще при написании программ, наиболее мощное и эффективное программное обеспечение полностью или частично написано на языке ассемблера. Языки высокого уровня были разработаны для того, чтобы избежать специальной технической особенности конкретных компьютеров. А язык ассемблера, в свою очередь, разработан для конкретной специфики процессора. Следовательно, для того, чтобы написать программу на языке ассемблера для конкретного компьютера, следует знать его архитектуру. В настоящие дни видом основного программного продукта является EXE-файл. Учитывая положительные стороны этого, автор программы может быть уверен в ее неприкосновенности. Но зачастую порой это далеко не так. Существует так же и дисассемблер. С помощью дисассемблера можно узнать прерывания и коды программы. Человеку, хорошо разбирающегося в ассемблере не сложно будет переделать всю программу на свой вкус. ............ |