Вирус на ассемблере Вирус. Что такое вирус? Вирус - это программа, написанная, как правило, на Ассемблере (хотя есть вирусы, написанные на Pascal, С и Visual Basic). Эта программа может сама размножаться, заражая другие программы без участия программиста, который сам же и написал этот вирус. Как так может быть? Элементарно! Писать вирус на Ассемблере - милое дело. В свое время я писал вирусы как резидентные (постоянно находящиеся в памяти), так и нерезидентные. Более того, я писал и антивирусы (против своих же вирусов, естественно). Прежде чем перейти к изучению структуры вируса, я хотел бы предупредить Вас об уголовной ответственности за распространение вирусоподобных программ. Если Вы напишите вирус, а затем выпустите его "в свет", то Вас смогут отправить в "места не столь отдаленные" (по Российским законам); например, на Колыму. Кто пишет вирусы? Да все кому не лень! Прежде всего - это программисты, которые только-только изучили Ассемблер, и не видят иной возможности, как только написать какой-нибудь вирус и напакостить своему другу, соседу и т.д., тем самым проявив себя. Например, у знакомого стоит большой Пень-433, а у Вас - маленькая "тройка". И Вы горите желанием его Пень "заломать". Теперь представим другую ситуацию: у фирмы X есть конкурент - фирма Y. Как сделать так, чтобы на время фирме Y доставить хлопот? А почему бы их компьютеры не заразить вирусом "собственного производства", который такого-то числа или при таких-то обстоятельствах удалял бы всю информацию на винчестере? Пишется вирус сотрудником фирмы X, а затем он (вирус) заносится в компьютер к конкуренту. И все! Как правило заражаются компьютеры не только фирмы Y, но и другие (сотрудник переписал зараженный файл и приес к себе домой; у него переписал этот же файл знакомый и т.д.). Естественно, есть т.н. антивирусы (DrWeb, Aidstest, Norton Antivirus, Microsoft Antivirus и пр.). Однако, они пишутся только для тех вирусов, котрые знакомы автору данного антивируса. Если, допустим, я напишу свой вирус, то уверяю Вас, что ни один антивирус его не обнаружит (максимум, что может быть - это то, что антивирус напишет сообщение о возможном заражении файла, но вылечить его не сможет!). Теперь рассмотрим структуру вируса и принцип его работы. Цель всего этого - научить Вас распознавать вирусы и развеять страх перед ними. Что должен делать вирус? Прежде всего - определить, загружен ли он с какого-нибудь файла или это его первая загрузка (дальше Вы поймете, о чем идет речь). Затем найти первый попавшийся файл, проверить его, заражен ли уже он или нет, если да, то искать следующий, а если нет, то заразить его. Все это происходит очень быстро и для пользователя практически незаметно. Сколько занимает вирус в памяти? Все зависит от фантазии программиста (что он хочет сделать с компьютером/файлами). Средний размер вируса - 500 - 600 байт. Хотя есть умельцы, у которых вирус занимает 100 - 150 байт, а есть и такие, у которых простейший вирус занимает 1,5 - 3 и более килобайт. Что может вирус? Все, что угодно! Например, удалить всю информацию с винчестера за 0,5 - 1 секунду (по принципу работы Fdisk), спалить монитор, физически испортить винчестер и даже убить пользователя (хотя такого не встречал пока)! Все зависит от фантазии программиста... Какой вирус мы будем изучать? Мы будем рассматривать нерезидентный вирус, заражающий *.com-файлы (самый простой). Что он будет делать? Я думаю, ничего особенного, кроме как размножения и создания какой-либо незначительной помехи для пользователя. Как оформить вирус? Обычно: CSEG segment Т.е. формат обычного *.com-файла, который Вам уже известен. Можно создать и *.exe-файл, однако, его размер будет больше. Я думаю, что на сегодня с вирусом хватит. |
|
Из книги Калашникова |