Возможно вас заинтересует
|
|
Структура COM и EXE файлов
Структура COM файла Наверное всем известны файлы с расширением COM. Главным COM файлом на ПК является вездесущий command.com (командный файл DOS) . Что же такое COM файл, как он работает и запускается ? Структура COM - файла проста . В файлах данного типа,обычно не имеющими даже заголовка файла,содержатся только машинный код и данные программы. Размер COM - файла ограничен 64 кб, т.е. размером одного сегмента памяти В основном COM файлы пишут на языке Ассемблера, но это не обязательно. Нописать файл можно на любом языке, который можно потом компилировать. Пример небольшого COM файла выводящего на экран сообщение: .286 ; Устанавливаем тип процессора mov ah,09h ;Функцию DOS (прерывание 21h) 09h mov dx,offset message ; Заносим в dx значение переменной message int 21h ;Устанавливаем прерывание которое должно обработать функцию 09h mov ah,4Ch ;Функцию DOS (прерывание 21h) 4Ch int 21h ;Устанавливаем прерывание которое должно обработать функцию 00h message db "My first COM programms",13,10,"$" ;Придаем значение переменной message Использую определение прерывания можно сказать как действует эта программа. mov ah,09h int 21h В первой строке в регистр ah заносится значение 09, где h означает, что это число в шестнадцатеричной системе исчисления, во второй строке указывается прерывание, в данном случае это 21, (h тоже самое, что и в первой строке) т.е. прерывание DOS. Получив такую команду, процессор на время перестает выполнять текущие операции и передает управление находящейся в оперативной памяти программе, обработчику функции 09h. После выполнения всех этих операций процессор возвращается к выполнению ранее выполняемой операции. Ниже приведены два варианта кода COM - файла до "инфицирования" вирусом и после: До инфицирования: .286 ;Задаем тип процессора code segmen ; Начало сегмента кода программы org 100h ;Все COM программы начинаются с адреса 100h jmp coob ; Тело программы начинается с метки coob mov ah,4Ch int 21h coob: ;Начало тела программы mov ah,09h ; Заносим значение 09h в регистр ah mov dx,offset message ; В регистре dx указываем адрес строки с текстом int 21h ; Указываем, что это прерывание DOS 21h message db "Файл не инфицирован",13,10,"$" ; Строка с текстом для вывода на экран mov ah,4Ch ;Выходим из программы int 21h ; Прерывание 21h ends code ; Конец сегмента кода программы После инфицирования .286 ;Задаем тип процессора code segmen ; Начало сегмента кода программы org 100h ;Все COM программы начинаются с адреса 100h jmp virus ; JMP изменены таками образом, чтобы вирус получил управление mov ah,4Ch int 21h coob: mov ah,09h mov dx,offset message int 21h message db "Файл не инфицирован",13,10,"$" ; Строка с текстом для вывода на экран mov ah,4Ch int 21h virus: mov ....... ............... } Вирус размножается и выполняет свои разрушительные действия ... int 21h jmp coob ends code ; Конец сегмента кода программы Ниже приведена структура инфицированного файла Команда перехода | Хвост COM программы | Тело вируса Оригинальное начало COM программы | | Структура EXE файла COM файлы пишут в основном на языке Ассемблера, но они постепенно устаревают и на смену им приходят огромные по своим размерам и сложные по своей структуре EXE файлы. Состоять EXE файлы могут из нескольких сегментов, следовательно их размер не ограничен 64 кб. По структуре EXE файл сложнее, кроме кода программы в файле также содержется: заголовок файла, таблица настройки адресов, данные и т.п. Примерная структура EXE файла: Заголовок EXE файла | Тело программы | Конец программы | Заголовок EXE файла - содержет данные необходимые для загрузки программы Тело программы - основная часть программы, выполняющая какие-либо полезные действия Конец программы - завершающая часть программы, которая сохраняет нужные и удаляет ненужные данные из ОЗУ, закрывает все открытые данной программой файлы и т.п. Первая и последняя часть программы являются обязательными для всех EXE файлов, а вторая часть вовсе не обязательна. Вы можете просто взять её и пропустить. Приводить виды "инфицированного" и "не инфицированного" EXE файла я не буду, т.к. в отличие от COM вирусов, у EXE вирусов есть множество способов заражения. Подробно о каждом из них я расскажу Вам в следующих выпусках рассылки, а сейчас только перечислю названия основных из них: OVERWRITE - вирусы, замещающие программный код COMPANION - вирусы-спутники PARASITIC - вирусы, внедряющиеся в программу метод переименования EXE файла внедрение способом переноса внедрение способом сдвига ? Как компилировать программу написанную на Ассемблере в COM файл Для компилирования необходимо иметь соответствующее программное обеспечение на ПК. Для этого достаточно набора программ Turbo Assembler. В этом наборе находятся файлы tasm.exe и tlink.exe необходимые для компиляции в COM файл . Написанная Вами программка на Ассемблере должна храниться в обычном текстовом файле, далее: - копируем ваш файл в каталог с файлами tasm и tlink - пишем команду tasm.exe leo.asm ( leo.asm - название файла с вашей программой) если все прошло хорошо, то появятся еще файлы с таким же именем но с расширением obj, если нет, то на экране появятся сообщения с указанием типа ошибки и номером строки с ошибкой. - tlink leo.obj/t - И вот ваш COM файл готов, можете его запустить. Но будьте осторожней, не попадите в капкан установленный вами. | Стандартный вирус Не только файлы имеют определенную структуру, но и вирусы для осуществления своей вредоносной деятельности должны соблюдать определенную структуру своего тела и действовать в определенном порядке. Данная рассылка полна биологических и медицинских терминов, т.к. способы заражения, методы распространения компьютерных вирусов очень схожи с биологическими вирусами. Даже первый вирус создавался по аналогии с биологическими вирусами. Интересно, а кто создал первый вирус ? С момента появления вычислительной техники программистов и электронщиков интересовала одна тема: самовопроизводяющиеся и самораспространяющиеся механизмы. Первым кто попробовал осуществить эту идею в 1951 году был Дж. фон Нейман. Но Нейман и не думал использовать эти материалы в каких либо разрушительных целях, но другие люди, воспользовавшись его материалами и знаниями в этой области начали создавать различных вредоносные программы - компьютерные вирусы. Но что же побудило этих людей пойти на это. Ученые считают, что людей побуждают создавать компьютерные вирусы некоторые факторы: - озорство и одновременное непонимание всех последствий распространения вируса - стремление навредить кому-либо - неестественная потребность в совершение преступлений - желание самоутвердиться - невозможночть использовать свои знания в правильном русле Как и у биологических, у компьютерных вирусов есть определенные стадии "развития": - латентный период - в течение которого вирус себя никак не проявляет (для того, чтобы "замести следы" источника его попадания на "инфицированный" ПК) - инкубационный период - в рамках которого вирус только размножается - период проявления - в течение которого вирус выполняет несанкционированные пользователем действия. Компьютерные вирусы классифицируют по следующим признакам. - способ обитания - способ заражения и среды обитания - способ активизации - способ проявления - способ маскировки Нелепо думать, что компьютерные вирусы могут содержаться везде. Особенно это проявляется на пользователях "чайниках" которые могут часами просиживать перед экраном и с упортством проверять файлы, которые никак не могут содержать вирусы. Ведь вирус - это программа, следовательно имеет смысл внедряться только в другие программы. В связи с этим компьютерные вирусы подразделяют еще на: - файловые - загрузочные - файлово-загрузочные вирусы ФАЙЛОВЫЕ Вирусы могут внедряться в следующие компоненты системы: - файлы с компонентами DOS - исполняемые файлы COM - исполняемые файлы EXE - внешние драйвера устройств (SYS- и BIN-файлы) - объектные модули (OBJ-файлы) - файлы программы до их компиляции, в надежде на то, что их когда нибуть компилируют и запустят - командные файлы (BAT-файлы) - файлы-библиотеки (LIB, DLL и др.файлы) - оверлейные файлы (PIF, OV? и др. файлы) - файлы текстовых процессоров поддерживающих макроcы (DOC, XLS и др.файлы) С каждым днем этот список растет. Чаще всего вирусы внедряются в файлы COM, EXE и DOC ЗАГРУЗОЧНЫЕ загрузояные вирусы распространяются в BOOT секторах дисков и дискет - BR - на дискетах - MBR - на жестком диске При загрузке этих дискет выполняется программа в BOOT секторе этого диска, а следовательно и сам вирус. Плюс этого типа вирусов в том, что если прочитать этот инфицированный диск, то на нем не окажется ни одного файла. ФАЙЛОВО-ЗАГРУЗОЧНЫЕ ВИРУСЫ Вирусы данного типа обладают большей инфицирующей способностью, так как они распространяются в BOOT секторах диска и в файлах на этом диске. СПОСОБЫ ЗАРАЖЕНИЯ СРЕДЫ ОБИТАНИЯ Вирусы могут "имплантироваться" в следующие места файлов: - конец файла - начало файла - середина файлов - хвостовой части файлов (свободной)
|
rbtnlr
|
28-07-2011
|
jIgJYN , [url=http://rjfwplosvrxy.com/]rjfwplosvrxy[/url], [link=http://dnvvpwotolpm.com/]dnvvpwotolpm[/link], http://abwczulkerhs.com/
|
|
|
rumxef
|
27-07-2011
|
meln9g <a href="http://izreankcqkxi.com/">izreankcqkxi</a>
|
|
|
jhgcwblizc
|
25-07-2011
|
OhWgJf <a href="http://umcheyeoclvg.com/">umcheyeoclvg</a>
|
|
|
Leaidan
|
25-07-2011
|
Gosh, I wish I would have had that inforamtoin earlier!
|
|
Последние статьи: IT - Обзор / Разное /
| |
| | |
Корпорация Microsoft накануне опубликовала полные исходные коды функционального языка программирования F#. Компания сделала вторую версию языка F# полностью открытой, включая исходники компиляторов и ключевых библиотек по условиям лицензии Apache 2.0.... подробнее
|
Кол. просмотров: общее - 6354 сегодня - 0
|
|
VIC Ltd представила портативны компьютер для автомобиля NaviSurfer II. Отличительная особенность новинки заключается в том, что она устанавливается на место однодиновой автомагнитолы.... подробнее
|
Кол. просмотров: общее - 4702 сегодня - 0
|
|
Наверное всем известны файлы с расширением COM. Главным COM файлом на ПК является вездесущий command.com (командный файл DOS) . Что же такое COM файл, как он работает и запускается... подробнее
|
Кол. просмотров: общее - 5605 сегодня - 0
|
|
Здравствуйте, дорогие мои VX-еры и AV-еры (если прочитаете...) В этой маленькой, но очень познавательной статье хочу рассказать вам как можно скрыть свое вирусное детище от супер-мощных-современных антивирусных программ... подробнее
|
Кол. просмотров: общее - 5444 сегодня - 0
|
|
На практике обман антивируса не такое уж и сложное дело. Я написал простой вирус-пробник и на нем испытывал различные уловки для разных антивирусов. И вот что у меня получилось... подробнее
|
Кол. просмотров: общее - 4698 сегодня - 1
|
|
|