Инструменты пользователя

Инструменты сайта


msx:antivirus:mastersoft

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
msx:antivirus:mastersoft [2020-12-22 00:30]
GreyWolf [4.2.6. Тестирование дисковой операционной системы]
msx:antivirus:mastersoft [2022-08-05 21:49] (текущий)
GreyWolf
Строка 66: Строка 66:
 ==== 2.2.1. Резидентные вирусы ==== ==== 2.2.1. Резидентные вирусы ====
  
-Конкретный пример резидентного вируса — это DOS﹣вирус,​ поражающий файл SXDOS.SYS. После загрузки и перед запуском системы он, подобно вирусам загрузочного сектора резервирует себе область памяти,​ куда себя и записывает. Затем уже запускается система и после её инициализации вирус изменяет её так, чтобы он мог проконтролировать все вызовы BDOS. В повседневной работе Вам наверняка часто приходилось копировать и удалять файлы. Каждая такая операция связана с вызовом соответствующих подпрограмм в базовой дисковой операционной системе (BDOS). Так как вирус установил контроль за этими вызовами,​ то опознав,​ скажем операцию создания файла, он ищет на диске файл MSXDOS.SYS и заражает его.+Конкретный пример резидентного вируса — это DOS﹣вирус,​ поражающий файл ​''​SXDOS.SYS''​. После загрузки и перед запуском системы он, подобно вирусам загрузочного сектора резервирует себе область памяти,​ куда себя и записывает. Затем уже запускается система и после её инициализации вирус изменяет её так, чтобы он мог проконтролировать все вызовы BDOS. В повседневной работе Вам наверняка часто приходилось копировать и удалять файлы. Каждая такая операция связана с вызовом соответствующих подпрограмм в базовой дисковой операционной системе (BDOS). Так как вирус установил контроль за этими вызовами,​ то опознав,​ скажем операцию создания файла, он ищет на диске файл ​''​MSXDOS.SYS'' ​и заражает его.
 Подобная схема может быть использована любыми вирусами,​ она не накладывает ограничений на количество и качество внешних проявлений вирусов. Например,​ вышеописанный вирус при вызове подпрограммы удаления файлов (а файлы, как известно,​ могут удаляться по маске, для этого используются символы "​*"​ и "?"​) уменьшает внутренний счетчик на единицу и при определенном значении счетчика заменяет части или все имя удаляемого файла на "?",​ что вызывает удаление не только требуемых файлов,​ но и некоторых других (по маске). Это особенно обидно,​ когда уничтожается купленная Вами программа или документация. Подобная схема может быть использована любыми вирусами,​ она не накладывает ограничений на количество и качество внешних проявлений вирусов. Например,​ вышеописанный вирус при вызове подпрограммы удаления файлов (а файлы, как известно,​ могут удаляться по маске, для этого используются символы "​*"​ и "?"​) уменьшает внутренний счетчик на единицу и при определенном значении счетчика заменяет части или все имя удаляемого файла на "?",​ что вызывает удаление не только требуемых файлов,​ но и некоторых других (по маске). Это особенно обидно,​ когда уничтожается купленная Вами программа или документация.
  
Строка 90: Строка 90:
   * Virus Detector version 1.0 (C) 1989 by Vlad \\ Проверяет файлы на 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﹣инфекцию. Вирусы не вычищает.   * [[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﹣вирус. Вычищает его из файла.+  * Virus Detector (C) 1990 by OmegaSoft \\ Тестирует ​''​MSXDOS.SYS'' ​на DOS﹣вирус. Вычищает его из файла.
   * AntiVirus version 2.6 (C) Vesta Soft, PowerSoft \\ Проверяет загрузочный сектор на вирус. При нестандартном загрузочном секторе записывает фирменный загрузочный сектор. Тестирует ловушки на любое использование,​ кроме межслотовых вызовов в ПЗУ. При обнаружении выдаёт нестандартное имя ловушки и первый байт команды. Обнаруживает FC﹣инфекцию,​ KANA﹣ и MOSCOW﹣вирусы. В версии Vesta Soft авторы пытались удалять вирусы KANA и MOSCOW, но, к сожалению,​ АнтиВирус зависал,​ а восстанавливаемая программа портилась.   * 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﹣инфекцию и удаляет её из файлов.   * ANTI-virus Utility version 2.0 (C) 1990 by I.Vasilyev \\ Оконный АнтиВирус. Проверяет загрузочный сектор,​ при нестандартном секторе записывает стандартный. Проверяет некоторые ячейки памяти. Достаточно корректно проверяет FC﹣инфекцию и удаляет её из файлов.
Строка 132: Строка 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%>|
Строка 250: Строка 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>​
   * [[microprocessor_kit_z80-book1:​06#​im0|IM0]] — при прерывании выполняется команда с шины данных;​ (но так как никто эту команду специально не посылает,​ на шине оказывается байт 0FFh, что в переводе на ассемблер означает ''​RST 38h'',​ то есть происходит вызов программы с адреса 0038h. Там у системы есть соответствующий обработчик.   * [[microprocessor_kit_z80-book1:​06#​im0|IM0]] — при прерывании выполняется команда с шины данных;​ (но так как никто эту команду специально не посылает,​ на шине оказывается байт 0FFh, что в переводе на ассемблер означает ''​RST 38h'',​ то есть происходит вызов программы с адреса 0038h. Там у системы есть соответствующий обработчик.
Строка 266: Строка 266:
 |Вышеприведенные два сообщения не выводятся в случае, ​ если ​ вызов 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}}
Строка 275: Строка 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]]),​ когда он находится в памяти.
 Сущность этого вируса мы описали выше. Сущность этого вируса мы описали выше.
  
Строка 313: Строка 313:
  
 Если вирусы инициализируються сразу перед DOS, то они могут сделать так, что тело вируса будет как бы продолжением самого DOS. Поэтому сообщение [[#a1|(*)]] выводиться не будет. Для этого введена дополнительная проверка,​ указывает ли переход на ядро DOS, как его можно определить для стандартной системы. Если вирусы инициализируються сразу перед DOS, то они могут сделать так, что тело вируса будет как бы продолжением самого DOS. Поэтому сообщение [[#a1|(*)]] выводиться не будет. Для этого введена дополнительная проверка,​ указывает ли переход на ядро DOS, как его можно определить для стандартной системы.
-Поэтому,​ если система уж очень нестандартно устроена внутри,​ или вообще [[msx:​dos|]]–несовместимая,​ то на данное сообщение не следует обращать внимание.+Поэтому,​ если система уж очень нестандартно устроена внутри,​ или вообще [[msx:dos:|]]–несовместимая,​ то на данное сообщение не следует обращать внимание.
  
 Как Вы уже заметили,​ после сообщения об ошибке имеется фраза: Как Вы уже заметили,​ после сообщения об ошибке имеется фраза:
Строка 386: Строка 386:
  
 Кроме этого Вы можете в любой момент приостановить печать нажатием комбинации <​key>​CTRL+s</​key>,​ следующее нажатие той же комбинации приводит к печати следующего символа,​ нажатие других клавиш возобновит нормальную печать. Кроме этого Вы можете в любой момент приостановить печать нажатием комбинации <​key>​CTRL+s</​key>,​ следующее нажатие той же комбинации приводит к печати следующего символа,​ нажатие других клавиш возобновит нормальную печать.
- 
  
  
 {{tag>​MSX Antivirus Application}} {{tag>​MSX Antivirus Application}}
- 
msx/antivirus/mastersoft.1608586255.txt.gz · Последние изменения: 2020-12-22 00:30 — GreyWolf