Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
msx:antivirus:mastersoft [2020-12-21 22:03] GreyWolf [AntiVirus﹣Fag для MSX от MasterSoft] |
msx:antivirus:mastersoft [2022-08-05 21:49] (текущий) GreyWolf |
||
---|---|---|---|
Строка 24: | Строка 24: | ||
В нашей стране большое распространение в школах и институтах получили компьютеры [[msx:yamaha_kuvt:yamaha_kuvt|]] стандартов [[msx:msx_1|]] и [[msx:msx_2|]]. Появилось очень много разработчиков полезного программного обеспечения. Но этим не ограничилась деятельность программистов… На IBM–компьютерах получили широкое распространение вирусы, которые поначалу считались изумительным достижением программистской мысли. Но вскоре они переросли в настоящее бедствие, приведшее к огромным потерям важной информации, а следовательно и к финансовым потерям. | В нашей стране большое распространение в школах и институтах получили компьютеры [[msx:yamaha_kuvt:yamaha_kuvt|]] стандартов [[msx:msx_1|]] и [[msx:msx_2|]]. Появилось очень много разработчиков полезного программного обеспечения. Но этим не ограничилась деятельность программистов… На IBM–компьютерах получили широкое распространение вирусы, которые поначалу считались изумительным достижением программистской мысли. Но вскоре они переросли в настоящее бедствие, приведшее к огромным потерям важной информации, а следовательно и к финансовым потерям. | ||
- | Не следует тешить себя мыслью, что вирусы возможны только на таких солидных машинах, как IBM, VAX, MAC и т.п. ЭТО НЕ ТАК! Программисты не испугались больших проблем с маленькими машинами. И вот результат — на сегодняшний день для ПЭВМ стандарта [[msx:msx|]] существует достаточно много вирусов, доставляющих своим "хозяевам" как маленькие ("безобидное" размножение), так и большие (форматирование дискет и т.д.) неприятности. С течением времени выбор этих вирусов становится все богаче, а список их жертв — все длиннее. | + | Не следует тешить себя мыслью, что вирусы возможны только на таких солидных машинах, как IBM, VAX, Macintosh и т.п. ЭТО НЕ ТАК! Программисты не испугались больших проблем с маленькими машинами. И вот результат — на сегодняшний день для ПЭВМ стандарта [[msx:msx|]] существует достаточно много вирусов, доставляющих своим "хозяевам" как маленькие ("безобидное" размножение), так и большие (форматирование дискет и т.д.) неприятности. С течением времени выбор этих вирусов становится все богаче, а список их жертв — все длиннее. |
К счастью, другие программисты создали программы, борющиеся с вирусами. | К счастью, другие программисты создали программы, борющиеся с вирусами. | ||
Строка 34: | Строка 34: | ||
Начнем с того, что вирусы делятся на два типа: | Начнем с того, что вирусы делятся на два типа: | ||
- Файловые вирусы | - Файловые вирусы | ||
- | - Вирусы загрузочного сектора (BOOT﹣вирусы) | + | - Вирусы загрузочного сектора (Boot﹣вирусы) |
Отличительной особенностью файловых вирусов является то, что они размножаются в файловой среде, т.е. вирус поражает файл путем подклейки к нему. Файловые вирусы делятся еще на два подтипа: | Отличительной особенностью файловых вирусов является то, что они размножаются в файловой среде, т.е. вирус поражает файл путем подклейки к нему. Файловые вирусы делятся еще на два подтипа: | ||
Строка 40: | Строка 40: | ||
- Нерезидентные вирусы — работают перед запуском программы﹣носителя. После работы программы они не остаются в памяти и программа﹣носитель часто не подозревает об их существовании. | - Нерезидентные вирусы — работают перед запуском программы﹣носителя. После работы программы они не остаются в памяти и программа﹣носитель часто не подозревает об их существовании. | ||
- | Бутовые вирусы заражают непосредственно диск, полностью записываясь в загрузочный сектор. Они являются резидентными. В последнее время от бутовых вирусов начинает отделяться класс вирусов, у которых в загрузочном секторе находится только инициализирующая часть, загружающая рабочую часть из других секторов. | + | Вирусы загрузочного сектора заражают непосредственно диск, полностью записываясь в загрузочный сектор. Они являются резидентными. В последнее время от вирусов загрузочного сектора начинает отделяться класс вирусов, у которых в загрузочном секторе находится только инициализирующая часть, загружающая рабочую часть из других секторов. |
{{anchor:n2}} | {{anchor:n2}} | ||
Строка 55: | Строка 55: | ||
Те же вирусы, у которых в загрузочном секторе находится инициализирующая часть при заражении записывают в в загрузочный сектор только вызов рабочей части, а её саму записывают на какое﹣либо (в зависимости от конфигурации вируса) место на диске. В этом случае размер вируса ограничен разве что емкостью диска (но надо помнить и о скорости загрузки). Существует, к примеру, вирус Беклемишева (Алма﹣Ата), который имеет размер 4 Кбайта. Основной модуль которого находится на 81 треке (используется нестандартное форматирование). | Те же вирусы, у которых в загрузочном секторе находится инициализирующая часть при заражении записывают в в загрузочный сектор только вызов рабочей части, а её саму записывают на какое﹣либо (в зависимости от конфигурации вируса) место на диске. В этом случае размер вируса ограничен разве что емкостью диска (но надо помнить и о скорости загрузки). Существует, к примеру, вирус Беклемишева (Алма﹣Ата), который имеет размер 4 Кбайта. Основной модуль которого находится на 81 треке (используется нестандартное форматирование). | ||
- | Бутовые вирусы по своему действию очень разнообразны. Среди них есть такие, которые "охотятся" за файлами, например, нам встретился вирус, направленный на поиск и уничтожение файла J.COM. Есть вирусы, выводящие на экран специфические эффекты, как то: падение букв, вывод поздравительных сообщений (например, вирус "НАТАША", сделанный Земцовым П.А. и Налимовым Е.В.) и другие. | + | Вирусы загрузочного сектора по своему действию очень разнообразны. Среди них есть такие, которые "охотятся" за файлами, например, нам встретился вирус, направленный на поиск и уничтожение файла J.COM. Есть вирусы, выводящие на экран специфические эффекты, как то: падение букв, вывод поздравительных сообщений (например, вирус "НАТАША", сделанный Земцовым П.А. и Налимовым Е.В.) и другие. |
Есть вирусы, которые только "тихо размножаются". | Есть вирусы, которые только "тихо размножаются". | ||
Строка 66: | Строка 66: | ||
==== 2.2.1. Резидентные вирусы ==== | ==== 2.2.1. Резидентные вирусы ==== | ||
- | Конкретный пример резидентного вируса — это DOS﹣вирус, поражающий файл SXDOS.SYS. После загрузки и перед запуском системы он, подобно вирусам загрузочного сектора резервирует себе область памяти, куда себя и записывает. Затем уже запускается система и после её инициализации вирус изменяет её так, чтобы он мог проконтролировать все вызовы BDOS. В повседневной работе Вам наверняка часто приходилось копировать и удалять файлы. Каждая такая операция связана с вызовом соответствующих подпрограмм в базовой дисковой операционной системе (BDOS). Так как вирус установил контроль за этими вызовами, то опознав, скажем операцию создания файла, он ищет на диске файл MSXDOS.SYS и заражает его. | + | Конкретный пример резидентного вируса — это DOS﹣вирус, поражающий файл ''SXDOS.SYS''. После загрузки и перед запуском системы он, подобно вирусам загрузочного сектора резервирует себе область памяти, куда себя и записывает. Затем уже запускается система и после её инициализации вирус изменяет её так, чтобы он мог проконтролировать все вызовы BDOS. В повседневной работе Вам наверняка часто приходилось копировать и удалять файлы. Каждая такая операция связана с вызовом соответствующих подпрограмм в базовой дисковой операционной системе (BDOS). Так как вирус установил контроль за этими вызовами, то опознав, скажем операцию создания файла, он ищет на диске файл ''MSXDOS.SYS'' и заражает его. |
Подобная схема может быть использована любыми вирусами, она не накладывает ограничений на количество и качество внешних проявлений вирусов. Например, вышеописанный вирус при вызове подпрограммы удаления файлов (а файлы, как известно, могут удаляться по маске, для этого используются символы "*" и "?") уменьшает внутренний счетчик на единицу и при определенном значении счетчика заменяет части или все имя удаляемого файла на "?", что вызывает удаление не только требуемых файлов, но и некоторых других (по маске). Это особенно обидно, когда уничтожается купленная Вами программа или документация. | Подобная схема может быть использована любыми вирусами, она не накладывает ограничений на количество и качество внешних проявлений вирусов. Например, вышеописанный вирус при вызове подпрограммы удаления файлов (а файлы, как известно, могут удаляться по маске, для этого используются символы "*" и "?") уменьшает внутренний счетчик на единицу и при определенном значении счетчика заменяет части или все имя удаляемого файла на "?", что вызывает удаление не только требуемых файлов, но и некоторых других (по маске). Это особенно обидно, когда уничтожается купленная Вами программа или документация. | ||
Строка 76: | Строка 76: | ||
Заражение файла обычно происходит одним из двух путей: | Заражение файла обычно происходит одним из двух путей: | ||
- | + | * Первый: помещение в первые три байта (обыкновенно, но у вируса JUST это не так) перехода на рабочую часть вируса. После работы вируса эти байты восстанавливаются для нормальной работы программы﹣носителя. | |
- | Первый: помещение в первые три байта (обыкновенно, но у вируса JUST это не так) перехода на рабочую часть вируса. После работы вируса эти байты восстанавливаются для нормальной работы программы﹣носителя. | + | * Второй: помещение вируса целиком перед самой программой. После работы вируса программа передвигается в памяти на свои адреса. |
- | + | ||
- | Второй: помещение вируса целиком перед самой программой. После работы вируса программа передвигается в памяти на свои адреса. | + | |
Цель основной (рабочей) части нерезидентных вирусов состоит в том, чтобы произвести за один запуск хотя бы одно заражение файла. Способ заражения — это уже детали конкретной реализации вируса, но обычно это приводит к заметному увеличению интервала времени между окончанием загрузки программы и началом её видимой работы. Этот способ накладывает еще меньше ограничений на размер кода вируса, чем у резидентных вирусов, поэтому по желанию разработчиков вредные эффекты могут быть достаточно изощренны. При высоком мастерстве разработчика последствия инфекции могут быть совершенно непредсказуемыми. | Цель основной (рабочей) части нерезидентных вирусов состоит в том, чтобы произвести за один запуск хотя бы одно заражение файла. Способ заражения — это уже детали конкретной реализации вируса, но обычно это приводит к заметному увеличению интервала времени между окончанием загрузки программы и началом её видимой работы. Этот способ накладывает еще меньше ограничений на размер кода вируса, чем у резидентных вирусов, поэтому по желанию разработчиков вредные эффекты могут быть достаточно изощренны. При высоком мастерстве разработчика последствия инфекции могут быть совершенно непредсказуемыми. | ||
Строка 86: | Строка 84: | ||
====== 3. Общий обзор некоторых АнтиВирусов ====== | ====== 3. Общий обзор некоторых АнтиВирусов ====== | ||
- | Сегодня уже существует определенный набор антивирусных программ. Они делятся на два класса: Детекторы вирусов и Фаги. Детекторы вирусов — это программы, которые лишь обнаруживают вирусы. Фаги — это программы, способные не только обнаружить, но и удалить вирусы. Рассмотрим несколько антивирусных программ разных авторов. | + | Сегодня уже существует определенный набор антивирусных программ. Они делятся на два класса: Детекторы вирусов и Фаги. Детекторы вирусов — это программы, которые лишь обнаруживают вирусы. Фаги — это программы, способные не только обнаружить, но и удалить вирусы. Рассмотрим несколько антивирусных программ разных авторов: |
- | + | * Virus Control Program version 2.0 (C) 1989 by I.Vasilyev \\ Это программа проверяет загрузочный сектор на зараженность и в случае вируса по желанию пользователя записывает стандартный либо скоростной загрузочный сектор. | |
- | Virus Control Program version 2.0 (C) 1989 by I.Vasilyev | + | * Speed test (C) by I.Vasilyev \\ Проверяет загрузочный сектор аналогично вышеописанной программе, некоторые ячейки памяти и тестируются файлы на FC﹣инфекцию. Вирус из файла не удаляет. |
- | \\ Это программа проверяет загрузочный сектор на зараженность и в случае вируса по желанию пользователя записывает стандартный либо скоростной загрузочный сектор. | + | * Virus Killer version 1.0 \\ Проверяет загрузочный сектор на два вируса, при обнаружении записывает стандартный загрузочный сектор. |
- | + | * Virus Detector version 1.0 (C) 1989 by Vlad \\ Проверяет файлы на FC﹣инфекцию. При обнаружении вируса предлагает стереть этот файл с диска. Тест некорректен. | |
- | Speed test (C) by I.Vasilyev | + | * [[antivirus#VD.COM|Virus Detector versions 1.1, 1.2, 2.1+ (C) 1989, 1990 by MasterSoft]] \\ Проверяет загрузочный сектор на любой вирус загрузочного сектора. Проверяет некоторые ячейки памяти. Файлы проверяются на DOS﹣вирус, KANA﹣вирус и FC﹣инфекцию. Вирусы не вычищает. |
- | \\ Проверяет загрузочный сектор аналогично вышеописанной программе, некоторые ячейки памяти и тестируются файлы на FC﹣инфекцию. Вирус из файла не удаляет. | + | * Virus Detector (C) 1990 by OmegaSoft \\ Тестирует ''MSXDOS.SYS'' на DOS﹣вирус. Вычищает его из файла. |
- | + | * AntiVirus version 2.6 (C) Vesta Soft, PowerSoft \\ Проверяет загрузочный сектор на вирус. При нестандартном загрузочном секторе записывает фирменный загрузочный сектор. Тестирует ловушки на любое использование, кроме межслотовых вызовов в ПЗУ. При обнаружении выдаёт нестандартное имя ловушки и первый байт команды. Обнаруживает FC﹣инфекцию, KANA﹣ и MOSCOW﹣вирусы. В версии Vesta Soft авторы пытались удалять вирусы KANA и MOSCOW, но, к сожалению, АнтиВирус зависал, а восстанавливаемая программа портилась. | |
- | Virus Killer version 1.0 | + | * ANTI-virus Utility version 2.0 (C) 1990 by I.Vasilyev \\ Оконный АнтиВирус. Проверяет загрузочный сектор, при нестандартном секторе записывает стандартный. Проверяет некоторые ячейки памяти. Достаточно корректно проверяет FC﹣инфекцию и удаляет её из файлов. |
- | \\ Проверяет загрузочный сектор на два вируса, при обнаружении записывает стандартный загрузочный сектор. | + | |
- | + | ||
- | Virus Detector version 1.0 (C) 1989 by Vlad | + | |
- | \\ Проверяет файлы на FC﹣инфекцию. При обнаружении вируса предлагает стереть этот файл с диска. Тест некорректен. | + | |
- | + | ||
- | [[antivirus#VD.COM|Virus Detector versions 1.1, 1.2, 2.1+ (C) 1989, 1990 by MasterSoft]] | + | |
- | \\ Проверяет загрузочный сектор на любой вирус загрузочного сектора. Проверяет некоторые ячейки памяти. Файлы проверяются на DOS﹣вирус, KANA﹣вирус и FC﹣инфекцию. Вирусы не вычищает. | + | |
- | + | ||
- | Virus Detector (C) 1990 by OmegaSoft | + | |
- | \\ Тестирует MSXDOS.SYS на DOS﹣вирус. Вычищает его из файла. | + | |
- | + | ||
- | AntiVirus version 2.6 (C) Vesta Soft, PowerSoft | + | |
- | \\ Проверяет загрузочный сектор на вирус. При нестандартном загрузочном секторе записывает фирменный загрузочный сектор. Тестирует ловушки на любое использование, кроме межслотовых вызовов в ПЗУ. При обнаружении выдаёт нестандартное имя ловушки и первый байт команды. Обнаруживает FC﹣инфекцию, KANA﹣ и MOSCOW﹣вирусы. В версии Vesta Soft авторы пытались удалять вирусы KANA и MOSCOW, но, к сожалению, АнтиВирус зависал, а восстанавливаемая программа портилась. | + | |
- | + | ||
- | ANTI-virus Utility version 2.0 (C) 1990 by I.Vasilyev | + | |
- | \\ Оконный АнтиВирус. Проверяет загрузочный сектор, при нестандартном секторе записывает стандартный. Проверяет некоторые ячейки памяти. Достаточно корректно проверяет FC﹣инфекцию и удаляет её из файлов. | + | |
Кроме перечисленных АнтиВирусов упомянем такие, как: | Кроме перечисленных АнтиВирусов упомянем такие, как: | ||
* [[antivirus#VIRKIL.COM|Detector & killer for C-368 virus (C) V1.01 Magus 1991]] | * [[antivirus#VIRKIL.COM|Detector & killer for C-368 virus (C) V1.01 Magus 1991]] | ||
* [[antivirus#HALT.COM|Virus Halter 1.0 Copyright 1991 by Senatorov & Sildos]] | * [[antivirus#HALT.COM|Virus Halter 1.0 Copyright 1991 by Senatorov & Sildos]] | ||
- | * Virus killer version 2.0 | + | * [[antivirus#VRCH.COM|Virus killer version 2.0]] |
* AntiVirus v3.0 Copyright (C) 1989 by I.Vasilyev | * AntiVirus v3.0 Copyright (C) 1989 by I.Vasilyev | ||
но все они являются АнтиВирусами прошлого поколения. | но все они являются АнтиВирусами прошлого поколения. | ||
Строка 150: | Строка 132: | ||
После заставки включаются в работу многочисленные тесты. Сначала проверяется тип компьютера: | После заставки включаются в работу многочисленные тесты. Сначала проверяется тип компьютера: | ||
- | \\ так как на MSX﹣компьютерах в системе [[msx:dos|MSX-DOS]] и на IBM﹣совместимых компьютерах в системе [[ms_dos:ms_dos|MS DOS]] выполняемые файлы имеют одинаковое расширение: ''.COM''. | + | \\ так как на MSX﹣компьютерах в системе [[msx:dos:|MSX-DOS]] и на IBM﹣совместимых компьютерах в системе [[ms_dos:ms_dos|MS DOS]] выполняемые файлы имеют одинаковое расширение: ''.COM''. |
Вследствие этого, если Вы работаете и на тех и на других машинах, Вы можете случайно запустить наш АнтиВирус на IBM﹣компьютере. Не волнуйтесь, ничего опасного не произойдет. АнтиВирус выдаст фразу: | Вследствие этого, если Вы работаете и на тех и на других машинах, Вы можете случайно запустить наш АнтиВирус на IBM﹣компьютере. Не волнуйтесь, ничего опасного не произойдет. АнтиВирус выдаст фразу: | ||
|<100% 45% 55%>| | |<100% 45% 55%>| | ||
Строка 224: | Строка 206: | ||
Как известно, в ПЗУ нельзя ничего записать или изменить и, поэтому, для того, чтобы программы, записанные в ПЗУ можно было расширять и надстраивать, в компьютерах MSX программистам предоставлена возможность использования так называемых ловушек (англ. hook — крючок). В различных местах ПЗУ существуют вызовы подпрограмм в старших адресах ОЗУ. А на месте этих подпрограмм оставлено три или пять байтов, заполненных командами ''RET'' (возврат из подпрограммы, код: C9h). | Как известно, в ПЗУ нельзя ничего записать или изменить и, поэтому, для того, чтобы программы, записанные в ПЗУ можно было расширять и надстраивать, в компьютерах MSX программистам предоставлена возможность использования так называемых ловушек (англ. hook — крючок). В различных местах ПЗУ существуют вызовы подпрограмм в старших адресах ОЗУ. А на месте этих подпрограмм оставлено три или пять байтов, заполненных командами ''RET'' (возврат из подпрограммы, код: C9h). | ||
- | Любая программа может заменить эти команды на свои для достижения поставленных целей. Например, ловушки используются RAM﹣дисками, сетевыми операционными системами для подключения драйвера дополнительного диска (драйвер — это программа управления чем﹣либо). Вирусы тоже пользуются этими ловушками, чтобы производить свои вредные эффекты (размножение, порча дискет, искажение информации и т.п.). | + | Любая программа может заменить эти команды на свои для достижения поставленных целей. Например, ловушки используются дисками ОЗУ, сетевыми операционными системами для подключения драйвера дополнительного диска (драйвер — это программа управления чем﹣либо). Вирусы тоже пользуются этими ловушками, чтобы производить свои вредные эффекты (размножение, порча дискет, искажение информации и т.п.). |
Тест ловушек выявляет те ловушки, которые используются программами, находящимися резидентно в ОЗУ и указывающие на подпрограммы, не находящиеся в ядре дисковой операционной системы. То есть как раз те ловушки, на которые следует обратить особое внимание. При обнаружении такой ловушки следует сообщение: | Тест ловушек выявляет те ловушки, которые используются программами, находящимися резидентно в ОЗУ и указывающие на подпрограммы, не находящиеся в ядре дисковой операционной системы. То есть как раз те ловушки, на которые следует обратить особое внимание. При обнаружении такой ловушки следует сообщение: | ||
Строка 240: | Строка 222: | ||
если ответ был — ''N'', то удаление производиться не будет. | если ответ был — ''N'', то удаление производиться не будет. | ||
- | Одной из возможных целей удаления может быть нейтрализация действия вируса в памяти, например, некоторые вирусы используют ловушку F270h. Однако, удалением следует пользоваться осторожно, так как ловушки используются не только вирусами! Например, некоторые драйвера RAM﹣дисков используют ту же самую ловушку и очищение ее в этом случае крайне нежелательно. Для этого в АнтиВирусе предусмотрено автоматическое детектирование и очищение ловушек используемых известными нам вирусами, это особенно будет полезно обыкновенным пользователям. Данная возможность включается по умолчанию и отменяется ключом (''/c'') — ручное удаление ловушек. | + | Одной из возможных целей удаления может быть нейтрализация действия вируса в памяти, например, некоторые вирусы используют ловушку F270h. Однако, удалением следует пользоваться осторожно, так как ловушки используются не только вирусами! Например, некоторые драйвера дисков ОЗУ используют ту же самую ловушку и очищение её в этом случае крайне нежелательно. Для этого в АнтиВирусе предусмотрено автоматическое детектирование и очищение ловушек используемых известными нам вирусами, это особенно будет полезно обыкновенным пользователям. Данная возможность включается по умолчанию и отменяется ключом (''/c'') — ручное удаление ловушек. |
{{anchor:n425}} | {{anchor:n425}} | ||
Строка 259: | Строка 241: | ||
Следующие пять сообщений выводятся тестом драйверов, который был автономным тестом в AntiVirus﹣Fag v3.4. | Следующие пять сообщений выводятся тестом драйверов, который был автономным тестом в AntiVirus﹣Fag v3.4. | ||
|<100% 40% 60%>| | |<100% 40% 60%>| | ||
- | |''RAM drive is ON''|Подключен RAM﹣диск| | + | |''RAM drive is ON''|Подключен диск ОЗУ| |
|''FDD function modified''|Изменена функция флоппи﹣дискового драйвера| | |''FDD function modified''|Изменена функция флоппи﹣дискового драйвера| | ||
|''FD drive is OFF''|Драйвер флоппи диска драйвер отключен (программно)| | |''FD drive is OFF''|Драйвер флоппи диска драйвер отключен (программно)| | ||
|''FD drive x: allocated in RAM''|Драйвер диска x: размещен в ОЗУ| | |''FD drive x: allocated in RAM''|Драйвер диска x: размещен в ОЗУ| | ||
|''FDD slot for x: is off-line''| Слот драйвера флоппи﹣диска x: отключен (т.е. драйвер отключен аппаратно)| | |''FDD slot for x: is off-line''| Слот драйвера флоппи﹣диска x: отключен (т.е. драйвер отключен аппаратно)| | ||
- | |''Base RAM at xxxxh presented as ROM!''|Базовая страница ОЗУ с адреса xxxxh представлена как ПЗУ! \\ Это означает, что при перезагрузке компьютера программа инициализации посчитает эту страницу (16К) ОЗУ страницей ПЗУ и произведет ее инициализацию, которая заключается в запуске программы, находящейся в этой странице с адреса, который лежит по адресу xxxxh+2. Тем самым еще до того, как на Вашем компьютере загрузится [[ms_dos:ms_dos|]], вирус получит управление! Но на это следует обращать внимание только тогда, когда вы знаете, что после сброса (RESET) ничего не должно оставаться, так как это может быть и не вирус а, скажем, программа [[msx:nd:nd|ND]], которая тоже остается после перезагрузки.| | + | |''Base RAM at xxxxh presented as ROM!''|Базовая страница ОЗУ с адреса xxxxh представлена как ПЗУ! \\ Это означает, что при перезагрузке компьютера программа инициализации посчитает эту страницу (16 Кбайт) ОЗУ страницей ПЗУ и произведет её инициализацию, которая заключается в запуске программы, находящейся в этой странице с адреса, который лежит по адресу xxxxh+2. Тем самым еще до того, как на Вашем компьютере загрузится [[ms_dos:ms_dos|]], вирус получит управление! Но на это следует обращать внимание только тогда, когда вы знаете, что после сброса (RESET) ничего не должно оставаться, так как это может быть и не вирус а, скажем, программа [[msx:nd:nd|ND]], которая тоже остается после перезагрузки.| |
|''Invalid VRAM size''|Недействительный размер видеопамяти \\ Это сообщение указывает на то, что действительный размер видеопамяти и тот, который указан в системных ячейках, не совпадают. Это может быть проявление программы GFI или драйвера какого﹣нибудь диска ОЗУ, но не исключено, что и авторы вирусов могут применить этот способ (изменить размер VRAM).| | |''Invalid VRAM size''|Недействительный размер видеопамяти \\ Это сообщение указывает на то, что действительный размер видеопамяти и тот, который указан в системных ячейках, не совпадают. Это может быть проявление программы GFI или драйвера какого﹣нибудь диска ОЗУ, но не исключено, что и авторы вирусов могут применить этот способ (изменить размер VRAM).| | ||
|''DANGEROUSE SIZE OF FREE MEMORY''|Опасный размер свободной памяти это сообщение указывает на то, что верхняя граница системной памяти, отведенной для исполняемых программ расположена ниже 8100h. Так как обычно эта граница используется, как начальное значение указателя стека, то стек может быть заслонен ПЗУ при вызове каких﹣либо функций [[msx:yamaha_local_network:yamaha_local_network|]] или [[msx:basic:|]], что неизбежно приведет к зависанию.| | |''DANGEROUSE SIZE OF FREE MEMORY''|Опасный размер свободной памяти это сообщение указывает на то, что верхняя граница системной памяти, отведенной для исполняемых программ расположена ниже 8100h. Так как обычно эта граница используется, как начальное значение указателя стека, то стек может быть заслонен ПЗУ при вызове каких﹣либо функций [[msx:yamaha_local_network:yamaha_local_network|]] или [[msx:basic:|]], что неизбежно приведет к зависанию.| | ||
|''Different FDD & BASIC HIMEM''|FDD HIMEM и BASIC HIMEM различны \\ это означает, что указатели на верхний предел свободной памяти BASIC HIMEM (FC4Ah) и FDD ROM HIMEM (F349h) указывают не на одну и ту же границу. Это может быть вирус, который зарезервировал себе кусок памяти. Но могут быть и некоторые другие программы, которые резервируют себе память перед MSX-DOS или в [[msx:basic:|]], но забывают дублировать эти ячейки. Однако в некоторых случаях эти значения не должны совпадать, тогда это сообщение не выводится.| | |''Different FDD & BASIC HIMEM''|FDD HIMEM и BASIC HIMEM различны \\ это означает, что указатели на верхний предел свободной памяти BASIC HIMEM (FC4Ah) и FDD ROM HIMEM (F349h) указывают не на одну и ту же границу. Это может быть вирус, который зарезервировал себе кусок памяти. Но могут быть и некоторые другие программы, которые резервируют себе память перед MSX-DOS или в [[msx:basic:|]], но забывают дублировать эти ячейки. Однако в некоторых случаях эти значения не должны совпадать, тогда это сообщение не выводится.| | ||
- | |''Wrong DOS HIMEM relativity FDD HIMEM''|Неправильный адрес DOS HIMEM относительно FDD HIMEM \\ это означает, что указатель на верхний предел свободной памяти в DOS — DOS HIMEM (F34Bh) указывает выше FDD HIMEM (что вообще ошибочно), или одинаков с ним. Это, опять же, может быть или вирус, загрузившийся перед MSX-DOS или программы, подобные RAM﹣диск.| | + | |''Wrong DOS HIMEM relativity FDD HIMEM''|Неправильный адрес DOS HIMEM относительно FDD HIMEM \\ это означает, что указатель на верхний предел свободной памяти в DOS — DOS HIMEM (F34Bh) указывает выше FDD HIMEM (что вообще ошибочно), или одинаков с ним. Это, опять же, может быть или вирус, загрузившийся перед [[ms_dos:ms_dos|MS DOS]] или программы, подобные диску ОЗУ.| |
Следующие три сообщения выводит тест Вызовов BIOS: | Следующие три сообщения выводит тест Вызовов BIOS: | ||
|<100% 40% 60%>| | |<100% 40% 60%>| | ||
- | |''BIOS call xxh is suspicious!''|Подозрительный вызов BIOS'а xxh! \\ означает, что переход на вызов BIOS'а указывает не в то место, которое уготовила ему система, а в какое﹣то другое. Вирус может использовать это когда, например, он желает проявлять свой вредный эффект при соответствующем вызове BIOS или от таймера…| | + | |''BIOS call xxh is suspicious!''|Подозрительный вызов BIOS xxh! \\ означает, что переход на вызов BIOS указывает не в то место, которое уготовила ему система, а в какое﹣то другое. Вирус может использовать это когда, например, он желает проявлять свой вредный эффект при соответствующем вызове BIOS или от таймера…| |
- | |''BIOS call xxh is OFF!''|Вызов BIOS xxh отключен! \\ это значит что данный вызов BIOS'а не будет работать, т.е. первый байт обработчика - это команда RET (возврат). Если АнтиВирус обнаружил, что отключен BIOS 38h, то это может быть всего навсего сделано для ускорения работы с диском (в некоторых нестандартных системах).| | + | |''BIOS call xxh is OFF!''|Вызов BIOS xxh отключен! \\ это значит что данный вызов BIOS не будет работать, т.е. первый байт обработчика — это команда ''RET'' (возврат). Если АнтиВирус обнаружил, что отключен BIOS 38h, то это может быть всего навсего сделано для ускорения работы с диском (в некоторых нестандартных системах).| |
- | |''BIOS call xxh is BAD!''|Очень нестандартный вызов BIOS'а xxh! \\ это значит, что первая команда обработчика BIOS не переход на основное свое тело (так, как должно быть), а какая﹣либо другая команда (за исключением RET)| | + | |''BIOS call xxh is BAD!''|Очень нестандартный вызов BIOS xxh! \\ это значит, что первая команда обработчика BIOS не переход на основное свое тело (так, как должно быть), а какая﹣либо другая команда (за исключением RET)| |
|''Now IM2! Interrupt hooked at xxxxh''|Включен режим прерываний 2! Прерывание перехвачено по адресу xxxxh \\ Всего на MSX компьютерах есть три режима прерываний: <WRAP> | |''Now IM2! Interrupt hooked at xxxxh''|Включен режим прерываний 2! Прерывание перехвачено по адресу xxxxh \\ Всего на MSX компьютерах есть три режима прерываний: <WRAP> | ||
- | * IM0 - при прерывании выполняется команда с шины данных; (но так как никто эту команду специально не посылает, на шине оказывается байт 0FFh, что в переводе на ассемблер означает ''RST 38h'', то есть происходит вызов программы с адреса 0038h. Там у системы есть соответствующий обработчик. | + | * [[microprocessor_kit_z80-book1:06#im0|IM0]] — при прерывании выполняется команда с шины данных; (но так как никто эту команду специально не посылает, на шине оказывается байт 0FFh, что в переводе на ассемблер означает ''RST 38h'', то есть происходит вызов программы с адреса 0038h. Там у системы есть соответствующий обработчик. |
- | * IM1 - при прерывании просто выполняется программа с адреса 0038h; как видим, режимы прерываний 0 и 1 практически идентичны. | + | * [[microprocessor_kit_z80-book1:06#im1|IM1]] — при прерывании просто выполняется программа с адреса 0038h; как видим, режимы прерываний 0 и 1 практически идентичны. |
- | * IM2 - при прерывании выполняется программа, адрес адреса которой вычисляется микропроцессором следующим образом : младший байт берется с шины данных (в нашем случае это 0FFh), а старший - из внутреннего регистра Z80, имеющего имя Q (или I); видно, что вирусы могут использовать это свойство в своих целях, скажем "висеть" на прерываниях (которые происходят 60 раз в секунду) и это не будет заметно. Этот тест как раз и предназначен для обнаружения этого режима прерываний и выводит адрес нового обработчика прерываний. | + | * [[microprocessor_kit_z80-book1:06#im2|IM2]] — при прерывании выполняется программа, адрес адреса которой вычисляется микропроцессором следующим образом: младший байт берется с шины данных (в нашем случае это 0FFh), а старший — из внутреннего регистра Z80, имеющего имя Q (или I); видно, что вирусы могут использовать это свойство в своих целях, скажем "висеть" на прерываниях (которые происходят 60 раз в секунду) и это не будет заметно. Этот тест как раз и предназначен для обнаружения этого режима прерываний и выводит адрес нового обработчика прерываний. |
</WRAP>| | </WRAP>| | ||
- | |''INTERRUPT code changes. See xxxxh''|изменяется код обработчика прерываний. Смотри по адресу xxxxh \\ Возможны вирусы, которые вешаются на прерывания посредством изменения кода обработчика и используют прерывания для своих вредных целей. По этому адресу находится первая команда изменяющегося участка кода.| | + | |''INTERRUPT code changes. See xxxxh''|Изменяется код обработчика прерываний. Смотри по адресу xxxxh \\ Возможны вирусы, которые вешаются на прерывания посредством изменения кода обработчика и используют прерывания для своих вредных целей. По этому адресу находится первая команда изменяющегося участка кода.| |
- | |''INTERRUPT is idle''|прерывание работает вхолостую. \\ Это значит, что при прерывании не выполняется программа обработчика прерываний в BIOS| | + | |''INTERRUPT is idle''|Прерывание работает вхолостую. \\ Это значит, что при прерывании не выполняется программа обработчика прерываний в BIOS| |
|Вышеприведенные два сообщения не выводятся в случае, если вызов BIOS 38h выключен.|| | |Вышеприведенные два сообщения не выводятся в случае, если вызов BIOS 38h выключен.|| | ||
|''CALSLT code changes. See xxxxh''|изменяется код обработчика подпрограммы| | |''CALSLT code changes. See xxxxh''|изменяется код обработчика подпрограммы| | ||
- | |''BIOS CALSLT RST 30 code changes. See xxxxh''|изменяется код обработчика ''RST 30''. Смотри по адресу xxxxh \\ Следует отметить, что вызов BIOS ''CALSLT'' и прерывание ''RST 30'' используется для межслотовых вызовов каких﹣либо подпрограмм. Вирус, отслеживая эти вызовы, может подменять функцию BIOS и т.п. Если вирус меняет код обработчика, то АнтиВирус выдаст соответствующее сообщение и адрес первой команды изменяющегося участка кода.| | + | |''BIOS CALSLT RST 30 code changes. See xxxxh''|изменяется код обработчика ''RST 30''. Смотри по адресу xxxxh \\ Следует отметить, что вызов BIOS ''CALSLT'' и прерывание ''RST 30'' используется для межслотовых вызовов каких﹣либо подпрограмм. Вирус, отслеживая эти вызовы, может подменять функцию BIOS и т.п. Если вирус меняет код обработчика, то АнтиВирус выдаст соответствующее сообщение и адрес первой команды изменяющегося участка кода.| |
- | |''RDSLT code changes. See xxxxh''|изменяется код обработчика подпрограммы BIOS ''RDSLT'' \\ Вызов BIOS ''RDSLT'' нужен для чтения информации с других слотов. Если изменяется код обработчика RDSLT, то АнтиВирус выдаст вышеприведенное сообщение.| | + | |''RDSLT code changes. See xxxxh''|изменяется код обработчика подпрограммы BIOS ''RDSLT'' \\ Вызов BIOS ''RDSLT'' нужен для чтения информации с других слотов. Если изменяется код обработчика ''RDSLT'', то АнтиВирус выдаст вышеприведённое сообщение.| |
{{anchor:n426}} | {{anchor:n426}} | ||
Строка 293: | Строка 275: | ||
|<100% 40% 60%>| | |<100% 40% 60%>| | ||
|''BDOS is checking!''|BDOS контролируется!| | |''BDOS is checking!''|BDOS контролируется!| | ||
- | Например, при запуске программы в отладчике [[msx:xdbg:xdbg|DBG]] контролируется BDOS. Также BDOS'ы контролируются DOS﹣вирусом (см. [[#n221|2.2.1]]), когда он находится в памяти. | + | Например, при запуске программы в отладчике [[msx:dbg:dbg|DBG]] контролируется BDOS. Также BDOS контролируются DOS﹣вирусом (см. [[#n221|2.2.1]]), когда он находится в памяти. |
Сущность этого вируса мы описали выше. | Сущность этого вируса мы описали выше. | ||
- | Этот тест достаточно универсален, он ВЫЯВЛЯЕТ ЦЕЛЫЙ КЛАСС ВИРУСОВ. Также при обнаружении в памяти DOS﹣вируса последний удаляется. При этом на экране появляется надпись: | + | Этот тест достаточно универсален, он ВЫЯВЛЯЕТ ЦЕЛЫЙ КЛАСС ВИРУСОВ. Также при обнаружении в памяти DOS﹣вируса последний удаляется. При этом на экране появляется надпись: |
|<100% 40% 60%>| | |<100% 40% 60%>| | ||
|''DOS-Virus. Erased''|DOS﹣вирус. Удален| | |''DOS-Virus. Erased''|DOS﹣вирус. Удален| | ||
- | Также возможны вирусы, которые изменяют код DOS. В случае присутствия такого вируса в памяти, при вызове BDOS'ов программа DOS выполняется нелинейно в силу изменения ее кода. В этом случае АнтиВирус выведет следующее сообщение: | + | Также возможны вирусы, которые изменяют код DOS. В случае присутствия такого вируса в памяти, при вызове BDOS программа DOS выполняется нелинейно в силу изменения её кода. В этом случае АнтиВирус выведет следующее сообщение: |
|<100% 40% 60%>| | |<100% 40% 60%>| | ||
|''DOS code changes. See xxxxh''|Код DOS изменяется. Смотри по адресу xxxxh \\ По этому адресу находится первая команда изменяющегося участка кода.| | |''DOS code changes. See xxxxh''|Код DOS изменяется. Смотри по адресу xxxxh \\ По этому адресу находится первая команда изменяющегося участка кода.| | ||
- | Кроме того этот тест также отображает состояние дисковой операционной системы. При обнаружении каких﹣либо несоответствий возможны сообщения: | + | Кроме того этот тест также отображает состояние дисковой операционной системы. При обнаружении каких﹣либо несоответствий возможны сообщения: |
|<100% 40% 60%>| | |<100% 40% 60%>| | ||
|''Non-standard DOS error trap''|Нестандартная обработка ошибок диска \\ При этой ошибке могут неправильно обрабатываться дисковые ошибки.| | |''Non-standard DOS error trap''|Нестандартная обработка ошибок диска \\ При этой ошибке могут неправильно обрабатываться дисковые ошибки.| | ||
- | |''Non-standard ^C trap''|Нестандартная обработка комбинаций <key>CTRL+c</key> или <key>CTRL+STOP</key> \\ При этой ошибке может неправильно обрабатываться нажатие <key>CTRL+c</key>.| | + | |''Non-standard ^C trap''|Нестандартная обработка комбинаций <key>CTRL+c</key> или <key>CTRL+STOP</key> \\ При этой ошибке может неправильно обрабатываться нажатие <key>CTRL+c</key>.| |
- | |''DOS restart is not into DOS. See xxxxh''|Переход на рестарт DOS'а не внутрь DOS, а на подпрограмму по адресу xxxxh| | + | |''DOS restart is not into DOS. See xxxxh''|Переход на рестарт DOS не внутрь DOS, а на подпрограмму по адресу xxxxh| |
- | Кто﹣то изменил переход на рестарт DOS'a в свою программу, находящуюся вне DOS. Возможно, это вирус, активизирующийся после работы программы, но, например, STS﹣COMMAND изменяет это. Его подпрограмма находится с адреса FA80h. | + | Кто﹣то изменил переход на рестарт DOS в свою программу, находящуюся вне DOS. Возможно, это вирус, активизирующийся после работы программы, но, например, STS﹣COMMAND изменяет это. Его подпрограмма находится с адреса FA80h. |
|<100% 40% 60%>| | |<100% 40% 60%>| | ||
- | |''DOS restart is above DOS kernel. See xxxxh''|Переход на рестарт DOS'а указывает выше ядра DOS, на подпрограмму с адреса xxxxh| | + | |''DOS restart is above DOS kernel. See xxxxh''|Переход на рестарт DOS указывает выше ядра DOS, на подпрограмму с адреса xxxxh| |
Возможно вирус запустится так, что не может быть отделим от DOS. Для этого включен этот дополнительный тест на то, что он указывает не в ядро. А смысл его тот же, что и у предыдущего сообщения. | Возможно вирус запустится так, что не может быть отделим от DOS. Для этого включен этот дополнительный тест на то, что он указывает не в ядро. А смысл его тот же, что и у предыдущего сообщения. | ||
Строка 317: | Строка 299: | ||
|''DOS restart is used''|Занят "теплый" рестарт DOS| | |''DOS restart is used''|Занят "теплый" рестарт DOS| | ||
- | Это означает, что кто﹣то изменил переход на рестарт DOS, но он все﹣таки указывает внутрь ядра DOS. | + | Это означает, что кто﹣то изменил переход на рестарт DOS, но он все﹣таки указывает внутрь ядра DOS. |
|<100% 40% 60%>| | |<100% 40% 60%>| | ||
Строка 323: | Строка 305: | ||
|''BDOS entry conflict''|Ошибка входа в BDOS| | |''BDOS entry conflict''|Ошибка входа в BDOS| | ||
- | При этой ошибке невозможна нормальная работа системы с batch﹣файлами, в COMMAND.COM и т.д. | + | При этой ошибке невозможна нормальная работа системы с пакетными(batch) файлами, в COMMAND.COM и т.д. |
|<100% 40% 60%>| | |<100% 40% 60%>| | ||
- | |''BDOS entry is Bad''|Плохой вход в обработчик BDOS'а \\ Это значит, что команда в начале DOS'а не безусловный переход на обработчик BDOS'а (JP), а какая﹣либо другая.| | + | |''BDOS entry is Bad''|Плохой вход в обработчик BDOS \\ Это значит, что команда в начале DOS не безусловный переход на обработчик BDOS (''JP''), а какая﹣либо другая.| |
- | |''BDOS jump is not into DOS. See xxxxh''|Переход на обработку BDOS'а указывает не в тело DOS (*) \\ Это означает, что вирусы, контролирующие BDOS'ы, могут переделать переход сначала на себя, а уж затем в тело DOS.| | + | |{{anchor:a1}} ''BDOS jump is not into DOS. See xxxxh''|Переход на обработку BDOS указывает не в тело DOS (*) \\ Это означает, что вирусы, контролирующие BDOS, могут переделать переход сначала на себя, а уж затем в тело DOS.| |
- | |''BDOS jump is above DOS kernel. See xxxxh''|Переход на обработку BDOS'а указывает выше ядра DOS| | + | |''BDOS jump is above DOS kernel. See xxxxh''|Переход на обработку BDOS указывает выше ядра DOS| |
- | Если вирусы инициализируются сразу перед DOS'ом, то они могут сделать так, что тело вируса будет как бы продолжением самого DOS'а. Поэтому сообщение (*) выводиться не будет. Для этого введена дополнительная проверка, указывает ли переход на ядро DOS, как его можно определить для стандартной системы. | + | Если вирусы инициализируються сразу перед DOS, то они могут сделать так, что тело вируса будет как бы продолжением самого DOS. Поэтому сообщение [[#a1|(*)]] выводиться не будет. Для этого введена дополнительная проверка, указывает ли переход на ядро DOS, как его можно определить для стандартной системы. |
- | Поэтому, если система уж очень нестандартно устроена внутри, или вообще MSX-DOS - несовместимая, то на данное сообщение не следует обращать внимание. | + | Поэтому, если система уж очень нестандартно устроена внутри, или вообще [[msx:dos:|]]–несовместимая, то на данное сообщение не следует обращать внимание. |
- | Как Вы уже заметили, после сообщения об ошибке имеется фраза: | + | Как Вы уже заметили, после сообщения об ошибке имеется фраза: |
|<100% 40% 60%>| | |<100% 40% 60%>| | ||
- | |''See xxxxh''|Смотри по адресу xxxxh, \\ где xxxxh - это адрес, куда указывает переход на обработку BDOS. Скорее всего, по этому адресу Вы обнаружите вирус.| | + | |''See xxxxh''|Смотри по адресу xxxxh, \\ где xxxxh — это адрес, куда указывает переход на обработку BDOS. Скорее всего, по этому адресу Вы обнаружите вирус.| |
{{anchor:n427}} | {{anchor:n427}} | ||
Строка 404: | Строка 386: | ||
Кроме этого Вы можете в любой момент приостановить печать нажатием комбинации <key>CTRL+s</key>, следующее нажатие той же комбинации приводит к печати следующего символа, нажатие других клавиш возобновит нормальную печать. | Кроме этого Вы можете в любой момент приостановить печать нажатием комбинации <key>CTRL+s</key>, следующее нажатие той же комбинации приводит к печати следующего символа, нажатие других клавиш возобновит нормальную печать. | ||
- | |||
{{tag>MSX Antivirus Application}} | {{tag>MSX Antivirus Application}} | ||
- |