Главная · Поиск книг · Поступления книг · Top 40 · Форумы · Ссылки · Читатели

Настройка текста
Перенос строк


    Прохождения игр    
Aliens Vs Predator |#1| To freedom!
Aliens Vs Predator |#10| Human company final
Aliens Vs Predator |#9| Unidentified xenomorph
Aliens Vs Predator |#8| Tequila Rescue

Другие игры...


liveinternet.ru: показано число просмотров за 24 часа, посетителей за 24 часа и за сегодня
Rambler's Top100
Образование - Безруков Н.Н. Весь текст 1232.53 Kb

Компьютерная вирусология ч. 1

Предыдущая страница Следующая страница
1 ... 89 90 91 92 93 94 95  96 97 98 99 100 101 102 ... 106
є Sector 1 in 1st copy of FAT                                 Cluster 2, hex 2 є
є                                                                              є
є       3     4     5     6     7     8     9    10    11    12    13    14    є
є      15    16    17    18    19    20    21    22    23     25    26    є
є      27    28    29    30    31    32    33    34    35    36    37    38    є
є      39    40    41    42    43    44    45    46    47    48    49    50    є
є      51    52    53     55    56    57    58    59    60    61    62    є
є      63    64    65    66    67    68    69    70    71    72    73    74    є
є      75    76    77    78      0     0     0     0     0     0     0    є
є       0     0     0     0     0     0     0     0     0     0     0     0    є
є       0     0     0     0     0     0     0     0     0     0     0     0    є
є       0     0     0     0     0     0     0     0     0     0     0     0    є
є       0     0     0     0     0     0     0     0     0     0     0     0    є
є       0     0     0     0     0     0     0     0     0     0     0     0    є
є       0     0     0     0     0     0     0     0     0     0     0     0    є
є       0     0     0     0     0     0     0     0     0     0     0     0    є
є       0     0     0     0     0     0     0     0     0     0     0     0    є
є       0     0     0     0     0     0     0     0     0     0     0     0    є
є       0     0     0     0     0     0     0     0     0     0     0     0    є
є       0     0     0     0     0     0     0     0     0     0     0     0    є
є       0     0     0     0     0     0     0     0     0     0     0     0    є
є                                                                              є
є                           Press Enter to continue                            є
1Help   2Hex    3Text   4Dir    5FAT    6Partn  7       8Choose 9Undo   10QuitNU


   Рис.5. Полуинтерпретированный дамп FAT минимальной DOS,
          полученный с помощью Norton Utilities

       На рис. 5 отчетливо видны три цепочки кластеров для трех
имеющихся в минимальной DOS файлов. Если диск был предварительно сжат,
т.е. файлы расположены друг за другом и занимают последовательные
сектора (что имеет место для дискеты с минимальной DOS), цепочки
кластеров в FAT вырождаются в возрастающую последовательность номеров и
при минимальном навыке разрушенную FAT можно восстанавить вручную.
Поэтому регулярное сжатие диска с помощью утилиты NC или COMPRESS
является приемом, значительно повышающим надежность хранения информации.


                          Корневой каталог

     MS DOS  хранит  информацию  о файлах в каталогах,  которые образуют
древовидную структуру.  Корневой каталог хранит сведения о всех содержа-
щихся в нем файлах и подкаталогах.  Он занимает семь секторов, начиная с
сектора 5.  Каждый элемент корневого каталога занимает 32 байта. Очевид-
но, в одном секторе может разместиться 16 элементов. Это означает, что в
семи секторах корневого каталога могут быть описаны до 112 файлов и под-
каталогов. Структура каталога показана на рис.6.

     0   1   2   3   4   5   6   7   8   9   A   B   C   D   E   F
   ЦДДДДДДДВДДДДДДДВДДДДДДДВДДДДДДДТДДДДДДДВДДДТДДДТДДДДДДДВДДДДДДД¬
00 є            name               є    ext    єatrє    резерв     ¦
   ИДДДБДДД†ДДДБДДД†ДДДБДДДТДДДБДДДЧДДДБДДДТДДДРДДДЧДДДБДДД†ДДДБДДДґ
10         резерв          є time  є date  єClstrNoє размер файла  ¦
   ГДДДБДДД†ДДДБДДД†ДДДБДДДРДДДБДДДРДДДБДДДРДДДБДДДРДДДБДДД†ДДДБДДД†

                   Рис.4. Структура элемента каталога
Границы полей отмечены двойной линией. Используются следующие обозначения
(в квадратных скобках указаны смещение в 16-ричной системе счисления и
длина):
name -  имя файла [+0; 8];
ext  -  расширение имени [+8;3];
atr  -  атрибут файла [+0Bh;1];
резерв [+0Ch;0Ah];
time - время создания [+16h;2];
date -  дата создания [+18h;2];
ClstrNo - номер начального кластера данных (связь с FAT) [+1Ah; 2];
размер файла  -  размер файла в байтах [+1Ch;4];

     Как видно из рис.6, имя файла состоит не более чем из восьми
символов,  дополненных справа пробелами.  За  именем  следует
факультативное трехсимвольное  расширение.  При длине менее трех
символов оно также дополняется пробелами.

     Байт атрибутов позволяет MS DOS идентифицировать статус  файла,  по
которому  подразумевается некоторая (с точки зрения защиты от вирусов -
иллюзорная) степень защиты от несанкционированных действий пользователя.
Не все биты байта атрибутов используются. Первый (наименее значащий) бит
показывает,  что это скрытый файл (не выдается командой DIR). Второй бит
означает, что это системный файл, в отличие от пользовательских файлов.

     Номер первого кластера позволяет определить место в FAT, занимаемое
файлом. Если файл является каталогом (подкаталогом),  то он имеет
установленный бит 4 байта атрибутов.

     Дамп главного кaталога для минимальной конфигурации приведен на
рис.7.

PC Tools Deluxe R4.30
-ДДДДДДДДДДДДДДДДДДДДДДДДДДДDisk View/Edit ServiceДДДДДДДДДДДДДДДДДДДДДДДДДДДД
Path=A:
                    Absolute sector 0000005, System ROOT, Disk Abs Sec 0000005

Displacement ДДДДДДДДДДДДДДДДД Hex codesДДДДДДДДДДДДДДДДДДДД    ASCII value
 0000(0000)  49 42 4D 42 49 4F 20 20 43 4F 4D 27 00 00 00 00   IBMBIO  COM'
 0016(0010)  00 00 00 00 00 00 00 60 AC 11 02 00 54 56 00 00
 0032(0020)  49 42 4D 44 4F 53 20 20 43 4F 4D 27 00 00 00 00   IBMDOS  COM'
 0048(0030)  00 00 00 00 00 00 00 60 AC 11 18 00 CF 75 00 00
 0064(0040)  43 4F 4D 4D 41 4E 44 20 43 4F 4D 21 00 00 00 00   COMMAND COM!
 0080(0050)  00 00 00 00 00 00 00 60 71 0E 36 00 DB 62 00 00
 0096(0060)  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
 0112(0070)  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
 0128(0080)  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
 0144(0090)  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
 0160(00A0)  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
 0176(00B0)  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
 0192(00C0)  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
 0208(00D0)  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
 0224(00E0)  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
 0240(00F0)  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

 Home=beg of file/disk End=end of file/disk
 ESC=Exit  PgDn=forward  PgUp=back  F2=chg sector num  F3=edit  F4=get name


          Рис.7. Дамп первого сектора FAT для минимальной DOS,
                 полученный с помощью PC TOOLS


                          Поле атрибутов файла

     Поле атрибутов файла позволяет присваивать файлу определенный
"статус" относительно тех или иных операций.  Не все биты байта
атрибутов используются.  Биты нумеруются с нуля.  Наименее значащий
(нулевой) бит  соответствует аттрибуту READ ONLY,  затем идут биты,
соответствующие атрибутам HIDDEN и SYSTEM. Биты нумеруются с нуля.
Атрибут  READ  ONLY ("только  чтение")  запрещает выполнение операций
удаления и модификации данного файла.  Если установлен первый бит
(атрибут HIDDEN), то данный файл является так называемым скрытым файлом
(не выдается командой DIR). Второй бит означает, что это системный файл,
в отличие от пользовательских файлов. Используемые биты байта атрибутов
показаны на рис.8.

Ц7В6В5В4В3В2В1В0·
є   ¦a¦d¦v¦s¦h¦rє
УДБДБТБТБТБТБТБТЅ бит                                   *** маска ***
     є є є є є ИН 0: 1 = только чтение (READ  ONLY)         (01h)
     є є є є ИННН 1: 1 = спрятанный  (HIDDEN)               (02h)
     є є є ИННННН 2: 1 = системный  (SYSTEM)                (04h)
     є є ИННННННН 3: 1 = метка тома                         (08h)
     є ИННННННННН 4: 1 = элемент подоглавления              (10h)
     ИННННННННННН 5: архив. 1=копия файла НЕ архивировалась (20h)

                   Рис.8. Формат поля атрибутов файла

   Как видно из рис.8, метка тома представляет собой просто файл со
специальным атрибутом.  Одна из функций DOS (21-43h) позволяет вирусу
"молча" изменять любой бит байта атрибутов, включая "только чтение",
что является явным дефектом реализации этой функции,  существенно
облегчающим жизнь создателям вирусов. Впрочем, при отсутствии страничной
организации памяти и режима супервизора (как в старой,  доброй системе
360/370), радикальных мер по исправлению этой ошибки, по сути, и
предложить нельзя.

                          Поля даты и времени

    ЦFВEВDВCВBТAВ9В8†7В6В5Т4В3В2В1В0·
    є   час   є  минута   є  сек/2  є
    УДБДБДБДБДРДБДБД†ДБДБДРДБДБДБДБДЅ
     ИНННЛНННј ИННННЛННННј ИНННЛНННј
         є          є          ИНННН 2-секундные единицы (0-31)
         є          ИННННННННННННННН минута (0-63)
         ИНННННННННННННННННННННННННН час (0-31)


    ЦFВEВDВCВBВAВ9Т8†7В6В5Т4В3В2В1В0·
    є     год     є месяц є  день   є
    УДБДБДБДБДБДБДРД†ДБДБДРДБДБДБДБДЅ
     ИНННННЛНННННј ИННЛННј ИНННЛНННј
           є          є        ИНННН день (0-31)
           є          ИННННННННННННН месяц (0-15)
           ИНННННННННННННННННННННННН год - 1980 (0-127)

                   Рис.9. Формат полей даты и времени

     Следует обратить внимание на то,  что несовпадение систем представ-
ления часов, секунд и минут с двоичной системой приводит к наличию неко-
торого  "запаса"  в формате поля даты,  что позволяет устанавливать "аб-
сурдное" время типа 31 час 63 минуты 62 секунды.  Поскольку ни  одна  из
стандартных команд MS DOS не выдает количество секунд во времени образо-
вания файла,  то значение "62 секунды" поля секунд может  использоваться
(и используется) вирусами для специальных целей,  например для отметки о
том, что данный файл был заражен.

     Аналогично может использоваться поле даты. Год создания файла
храниться в IBM PC в виде остатка после вычитания 1980 (даны создания
данного компьютера). Некоторые вирусы используют этот факт для пометки
зараженных файлов: при заражении они добавляют к году создания файла
100. Это приращение не видно "невооруженным глазом", поскольку как
команда DIR, так и большинство оболочек выдает только две последние
цифры года. Один из вирусов  устанавливает для зараженных файлов 13
месяц.

     Пример элемента каталога показан  на рис.10.

                                    номер начального кластера
Элемент каталога                      є
ЦДДДДДДДДДДДДДДДВДДДДДВДВДДДВДДДВДДДВДVДВДДДДДДД·
єE X A M P L E  ¦C O M¦a¦...¦tim¦dat¦08 ¦ длина є
УДБДБДБДБДБДБДБДБДБДБДБДБДДДБДБДБДБДБДЧДБДБДБДБДЅ
                                      є
      00  01  02  03  04  05  06  07  є8  09  0A  0B  0C  0D  0E  0F
     ЪДД¬ЪДД¬ЪДД¬ЪДД¬ЪДД¬ЪДД¬ЪДД¬ЪДД¬ЪVД¬ЪДД¬ЪДД¬ЪДД¬ЪДД¬ЪДД¬ЪДД¬ЪДД¬
  00 ¦ID¦¦FF¦¦03Н>04Н>05Н>FF¦¦00¦¦00¦¦09Н>0AН>0BН>15¦¦00¦¦00¦¦00¦¦00¦
     АДДЩАДДЩАДДЩАДДЩАДДЩАДДЩАДДЩАДДЩАДДЩАДДЩАДДЩАЧДЩАДДЩАДДЩАДДЩАДДЩ
                          ЙНННННННННННННННННННННННј
     ЪДД¬ЪДД¬ЪДД¬ЪДД¬ЪДД¬ЪVД¬ЪДД¬ЪДД¬ЪДД¬ЪДД¬ЪДД¬ЪДД¬ЪДД¬ЪДД¬ЪДД¬ЪДД¬
  10 ¦00¦¦00¦¦00¦¦00¦¦00¦¦16Н>17Н>19¦¦F7¦¦1AН>1BН>FF¦¦00¦¦00¦¦00¦¦00¦
     АДДЩАДДЩАДДЩАДДЩАДДЩАДДЩАДДЩАЧДЩАДДЩАAДЩАДДЩАДДЩАДДЩАДДЩАДДЩАДДЩ
                                  ИНННННННј

        Рис.10. Пример элемента каталога и цепочки элементов FAT

     Как видно из рис.10, файл EXAMPLE.COM занимает 10 кластеров.
Первый кластер - это кластер 08, последний кластер - 1B. Цепочка
кластеров - 8, 9,0A,0B,15,16,17,19,1A,1B. Каждый элемент указывает на
следующий элемент цепочки,  а последний элемент содержит специальный
код. Кластер 18 поме- чен как плохой и не входит в цепочку
распределения.  Кластеры 6,7, 0C-14 и 1C-1F пусты и доступны для
распределения.  Еще одна цепочка, возможно, начинается с кластера 2
(при условии, что не показанные на рис.10 элементы каталога равны нулю)
и кончается кластером 5.  Чтобы узнать имя соответствующего файла,
нужно отыскать элемент каталога с начальным номером кластера 02.
Как уже отмечалось, кластеры нумеруются, начиная с друх (нулевой элемент
Предыдущая страница Следующая страница
1 ... 89 90 91 92 93 94 95  96 97 98 99 100 101 102 ... 106
Ваша оценка:
Комментарий:
  Подпись:
(Чтобы комментарии всегда подписывались Вашим именем, можете зарегистрироваться в Клубе читателей)
  Сайт:
 
Комментарии (3)

Реклама