по моему всё просто и доступно Файловый вирус — компьютерный вирус, распространяющийся путем внедрения своего кода в тело исполняемых файлов. При каждом запуске такого заражённого файла сначала выполняется код вируса, и только потом — код самой программы.Объектом вирусного поражения могут выступать исполняемые двоичные файлы (EXE, COM), файлы динамических библиотек (DLL), драйверы (SYS), командные файлы(BAT, CMD) и другие. Заражая файл, вирус может внедриться в его начало, конец или середину. Наиболее распространенным является внедрение в конец файла. При этом основной код дописывается в конец файла, а в его начало записывается команда перехода к телу вируса. Чтобы скрыть свое присутствие в системе, файловый вирус может предварительно сохранить дату и время последней модификации и значения атрибутов заражаемого файла, восстановив эти данные уже после заражения.После того как вирус получил управление, он выполняет следующие действия:Восстанавливает в оперативной памяти компьютера исходную программу для последующего её выполнения.Осуществляет дальнейшее заражение, инфицируя другие файлы или оперативную память компьютера.Выполняет иные деструктивные действия.При этом все действия вируса, как правило, незаметны для пользователя программы.Различают резидентные и нерезидентные файловые вирусы. Первые загружают в оперативную память резидентную часть, которая впоследствии может отслеживать открываемые пользователем файлы, заражая их. Нерезидентные вирусы, после того как получили управление, производят поиск файлов для заражения в текущем и (или) корневом каталогах, либо в каталогах, указанных в системной переменной среды PATH.Наиболее распространённые в эпоху DOS файловые вирусы — так называемые «паразитирующие» (большая часть информации в этой статье именно о них). «Паразиты» стараются вести себя как можно более незаметно, не портя функциональности программы, и поэтому излечимы антивирусом. Также выделяют перезаписывающие вирусы, которые при заражении необратимо портят программу, и вирусы-спутники, которые представляют собой отдельный файл. Обратимое заражение Win32-программы не так тривиально, как в DOS, поэтому большинство файловых вирусов для этой ОС было именно спутниками.
Понятие двумерного массива. Описание типа массива. Формирование значений элементов массива случайным образом
Одним из основных направлений использования компьютеров является накопление и обработка данных - различных таблиц, справочников, словарей и другой информации. Для представления такой информации в программе удобно использовать массивы. Как правило, обработка таких данных осуществляется по одному и тому же закону, для чего удобно использовать циклические алгоритмы.
Мы уже рассматривали формирование и обработку одномерных массивов. Вспомним, что в массив мы объединяем конечную последовательность компонентов одного типа и даем им общее имя. Каждый отдельный компонент массива называется элементом. Количество элементов называется размером массива. Тип элементов определяет тип массива. Размер и тип массива указываются при его описании, причем размер может быть указан либо конкретным значением, либо ранее определенной константой. Номер элемента называется индексом. Индексы могут быть целыми положительными константами или целыми переменными. Чтобы обратиться к некоторому элементу массива, нужно рядом с идентификатором массива в скобках указать индекс элемента.
Но часто данные могут быть организованы в виде таблицы (матрицы), где расположение каждой переменной определяется номером строки и номером столбца. Например, место в зрительном зале задается указанием номера ряда и номером места в этом ряду. Такие данные удобно описать как двумерный массив. В отличие от одномерного массива каждому элементу двумерного массива соответствует пара индексов. Первый индекс - это номер строки, а второй - номер столбца, где расположен элемент массива.
Размер двумерного массива задается парой чисел: M*N, где M - число строк, а N - число столбцов в таблице.
Пусть задан двумерный массив Matr, имеющий размер 10*20. Этот массив на языке Паскаль может быть описан следующим образом:
Файловый вирус — компьютерный вирус, распространяющийся путем внедрения своего кода в тело исполняемых файлов. При каждом запуске такого заражённого файла сначала выполняется код вируса, и только потом — код самой программы.Объектом вирусного поражения могут выступать исполняемые двоичные файлы (EXE, COM), файлы динамических библиотек (DLL), драйверы (SYS), командные файлы(BAT, CMD) и другие. Заражая файл, вирус может внедриться в его начало, конец или середину. Наиболее распространенным является внедрение в конец файла. При этом основной код дописывается в конец файла, а в его начало записывается команда перехода к телу вируса. Чтобы скрыть свое присутствие в системе, файловый вирус может предварительно сохранить дату и время последней модификации и значения атрибутов заражаемого файла, восстановив эти данные уже после заражения.После того как вирус получил управление, он выполняет следующие действия:Восстанавливает в оперативной памяти компьютера исходную программу для последующего её выполнения.Осуществляет дальнейшее заражение, инфицируя другие файлы или оперативную память компьютера.Выполняет иные деструктивные действия.При этом все действия вируса, как правило, незаметны для пользователя программы.Различают резидентные и нерезидентные файловые вирусы. Первые загружают в оперативную память резидентную часть, которая впоследствии может отслеживать открываемые пользователем файлы, заражая их. Нерезидентные вирусы, после того как получили управление, производят поиск файлов для заражения в текущем и (или) корневом каталогах, либо в каталогах, указанных в системной переменной среды PATH.Наиболее распространённые в эпоху DOS файловые вирусы — так называемые «паразитирующие» (большая часть информации в этой статье именно о них). «Паразиты» стараются вести себя как можно более незаметно, не портя функциональности программы, и поэтому излечимы антивирусом. Также выделяют перезаписывающие вирусы, которые при заражении необратимо портят программу, и вирусы-спутники, которые представляют собой отдельный файл. Обратимое заражение Win32-программы не так тривиально, как в DOS, поэтому большинство файловых вирусов для этой ОС было именно спутниками.
Теоретический материал (Паскаль)
Понятие двумерного массива. Описание типа массива. Формирование значений элементов массива случайным образом
Одним из основных направлений использования компьютеров является накопление и обработка данных - различных таблиц, справочников, словарей и другой информации. Для представления такой информации в программе удобно использовать массивы. Как правило, обработка таких данных осуществляется по одному и тому же закону, для чего удобно использовать циклические алгоритмы.
Мы уже рассматривали формирование и обработку одномерных массивов. Вспомним, что в массив мы объединяем конечную последовательность компонентов одного типа и даем им общее имя. Каждый отдельный компонент массива называется элементом. Количество элементов называется размером массива. Тип элементов определяет тип массива. Размер и тип массива указываются при его описании, причем размер может быть указан либо конкретным значением, либо ранее определенной константой. Номер элемента называется индексом. Индексы могут быть целыми положительными константами или целыми переменными. Чтобы обратиться к некоторому элементу массива, нужно рядом с идентификатором массива в скобках указать индекс элемента.
Но часто данные могут быть организованы в виде таблицы (матрицы), где расположение каждой переменной определяется номером строки и номером столбца. Например, место в зрительном зале задается указанием номера ряда и номером места в этом ряду. Такие данные удобно описать как двумерный массив. В отличие от одномерного массива каждому элементу двумерного массива соответствует пара индексов. Первый индекс - это номер строки, а второй - номер столбца, где расположен элемент массива.
Размер двумерного массива задается парой чисел: M*N, где M - число строк, а N - число столбцов в таблице.
Пусть задан двумерный массив Matr, имеющий размер 10*20. Этот массив на языке Паскаль может быть описан следующим образом:
Var
Matr : array [1..10,1..20] of integer;