Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
msx:antivirus:mastersoft [2020-12-21 22:51] GreyWolf |
msx:antivirus:mastersoft [2022-08-05 21:49] (текущий) GreyWolf |
||
---|---|---|---|
Строка 34: | Строка 34: | ||
Начнем с того, что вирусы делятся на два типа: | Начнем с того, что вирусы делятся на два типа: | ||
- Файловые вирусы | - Файловые вирусы | ||
- | - Вирусы загрузочного сектора (BOOT﹣вирусы) | + | - Вирусы загрузочного сектора (Boot﹣вирусы) |
Отличительной особенностью файловых вирусов является то, что они размножаются в файловой среде, т.е. вирус поражает файл путем подклейки к нему. Файловые вирусы делятся еще на два подтипа: | Отличительной особенностью файловых вирусов является то, что они размножаются в файловой среде, т.е. вирус поражает файл путем подклейки к нему. Файловые вирусы делятся еще на два подтипа: | ||
Строка 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%>| | ||
Строка 268: | Строка 250: | ||
|''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 или программы, подобные диску ОЗУ.| | + | |''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}} | ||
- |