Наши статьи
Win95.CIH: Восстановление файлов после вирусной атаки.Приведенный ниже материал посвещен восстановлению информации с жесткого диска, утраченной в результате вирусной атаки. Технически он довольно сложен, и восстановить утраченные данные в полном объеме вы можете даже в самой благоприятной ситуации чисто теоретически. Используя эту статью, Вы, с некоторой долей вероятности, сможете восстановить только наиболее важные для Вас файлы. Сначала теория. Физически стереть информацию с целого hdd объёмом хотя бы 1 Гб довольно не просто. На это уйдёт минимум 10 минут, а если стирать информацию случайным образом, то значительно больше. Учитывая количество служебной (не авторской) информации на наших дисках, можно надеяться, что Ваша информация ещё существует, но просто к ней нет доступа. Итак, задача упростилась.Саму информацию восстанавливать не требуется, надо только восстановить доступ к ней. Для этого рассмотрим принцип хранения информации на диске для систем FAT12, FAT16, FAT32 и организацию самого диска. Примечание.Данное описание является не техническим, а обзорным и всего лишь помогает пониманию тех действий, которые Вам предстоит предпринять для восстановления файлов. Диск устроен очень просто. Он состоит из нескольких поверхностей, по которым позиционируются головки. Позиционируются они по концентрическим дорожкам, на каждой из которых располагается несколько секторов с данными. Сектор является минимальным адресуемым блоком данных для диска. Сектор содержит 512 байт полезной информации и ECC блок, который нас не интересует. В самом начале диска находится главная загрузочная запись - MBR (Master Boot Record) и таблица разделов - PT (Partition Table), далее идёт загрузочная запись операционной системы - BR (Boot Record), затем таблица размещения файлов - FAT (File Allocation Table), корневой каталог - ROOT и файловая область - FA (File Area). PT - состоит из четырёх элементов описывающих разделы диска. DOS и Windows используют только первые два элемента. Описание раздела диска содержит информацию о первых и последних головках, дорожках, секторах раздела, общем количестве секторов в разделе, типе файловой системы и признак того, что раздел является загрузочным. MBR - находится в том же секторе что и PT. Данные в MBR представляют собой код процессора необходимый для дальнейшей загрузки операционной системы. В последних двух байтах MBR находится сигнатура 55AAh указывающая на то, что данные в MBR необходимо использовать для загрузки. Если эта сигнатура отсутствует, данные MBR не будут использованы. PT и MBR расположены на самом первом секторе HDD. BR - содержит массу данных и служит для описания параметров файловой системы. В отличие от диска, минимальным адресуемым блоком данных для операционной системы служит кластер, состоящий из одного или нескольких секторов. В BR нам интересны такие данные как размер кластера, размер и количество копий FAT. FAT - Состоит из 12, 16 или 32 битных элементов, количество которых равно количеству кластеров на диске. Нужны эти элементы для связи кластеров в цепочки соответствующие файлам. ROOT - Корневой каталог диска. Содержит записи описывающие файлы (дескрипторы файлов) в корневом каталоге. Такая запись описывает имя, тип, дату создания, размер, атрибуты файла, а так же содержит указатель на первый кластер файла. Каталоги представляют собой файлы идентичные по структуре корневому каталогу. Каталог кроме записей, описывающих файлы, содержит две записи, одна из которых содержит указатель на первый кластер самого каталога, вторая на первый кластер родительского каталога. Будем считать, что Вы всё поняли или хотя бы что Вам эта информация поможет при Ваших дальнейших изысканий на тему устройства диска (существует специальная литература, где эти вещи расписаны подробнее и, вероятно, более доступно). Переходим к основной части - восстановление данных на HDD. Нам потребуются следующие вещи:
По моим наблюдениям Win95.CIH в первую очередь "убивает" такие вещи как FAT и BR, при этом любезно оставляет нам ROOT. ВАЖНО: Эта инструкция написана для ситуации, когда имеется 1 логический диск. Приступим: 01: Запускаем DISKEDITOR и получаем доступ к HDD как к физическому устройству. Ищем ROOT, он, как правило, содержит файл типа command.com. Только не вздумайте вводить в строку поиска "command.com", если Вы таким образом что-нибудь и найдёте, можете быть уверены что это не ROOT. Введите просто "command" или какое-нибудь другое имя файла, про который Вы точно знаете, что он был в корневом каталоге. 02: Переходим в режим показа каталогов и определяем размер (в секторах) ROOT и записываем эти сектора на дискету (не на загрузочную, она ведь у нас от записи защищена) в отдельный файл. Записываем (на бумажку) с какого именно места начинался ROOT (цилиндр (он же - дорожка), головка, сектор). 03: Запускаем программу FDISK и убиваем раздел диска. Далее, заново создаём раздел и выходим из программы. FDISK предложит перезагрузиться, что мы и сделаем. 04: Запускаем программу FORMAT с ключами /U /S и форматируем диск C:. Страшно? Не волнуйтесь, программа FORMAT на самом деле ничего не стирает с диска кроме ROOT и FAT, ещё она модифицирует запись BR. 05: Снова запускаем DISKEDITOR и находим ROOT. Внимательно смотрим, лежит ли он в том же месте что и прежний (у нас это на бумажке было записано). Если не в том же, то считаем, на сколько секторов он сместился. Делим число секторов смещения на два (вернее на количество копия FAT - см. BR). Полученный результат добавляем к (если смешение произошло к началу диска) или вычитаем из (если смешение произошло к концу диска) числа секторов в FAT указанных в соответствующем поле BR. Модифицируем BR и снова форматируем диск. Примечание: Способ абсолютно не корректный, зато простой и действенный. Проверено на практике. 06: См. предыдущий пункт. Убедившись, что новый ROOT лежит на месте старого, читаем (всё тем же DISKEDITOR-ом) файл с сохранённым ROOT и записываем его поверх нового. 07: Перезагружаемся (все перезагрузки мы делаем с помощью загрузочной дискеты). Если всё сделано правильно, мы увидим, что всё утраченное содержимое вновь появилось на диске C:. Однако радоваться рано. То, что мы видим на самом деле фвляется только указателями на начала файлов. FAT (после форматирования) девственно чист и нам ещё предстоит заняться восстановлением цепочек кластеров. Здесь успех полностью зависит от того, насколько давно Вы делали дефрагментацию диска. Если дефрагментация выполнена недавно, то все кластеры отдельного файла лежат по порядку. Если дефрагментация делалась давно, или не делалась вовсе, Вам остается только надеяться на удачу и утешится тем, что уж первый то кластер любого восстановливаемого файла Вы считаете верно. 08: Для восстановления цепочки кластеров в FAT удалим файл, который хотим восстановить, запустим программу UNERASE и восстановим файл. Программа сделает следующее: исходя из размера файла, объединит соответствующее количество последовательно идущих кластеров, начиная с первого указанного в дескрипторе файла, в цепочку. 09: Скопируйте восстановленный файл на дискету, и см.08 для следующего файла, подлежащего восстановлению. 10: Если в каталоге вдруг отсутствует файл, который Вы хотели бы восстановить, во что бы то ни стало, найдите имя файла с помощью DISKEDIRTOR-а используя физический доступ к диску. Удостоверьтесь, перейдя в режим просмотра каталога, что имя находится в дескрипторе файла. Запишите номер первого кластера файла. Найдите любой не нужный файл, который Вы видите на диске и запишите в дескриптор этого файла номер первого кластера файла, который Вы увидеть не можете. Далее используйте технологию восстановления описанную выше. Если Вы поняли меньше 30% написанного здесь, Вам стоит обратится к услугам более компетентного человека, предварительно ознакомив его с данным текстом и удостоверившись в том, что он понял больше, чем Вы. Удачи! Данный метод был проверен и оказался эффективен на IDE HDD Quantum - 2.1Gb, Win95/Fat32. Метод был использован для восстановления файлов курсовой работы. Информацию о вирусе CIH можно почитать на сайтах борцов с вирусами: Также в статьях о восстановлении данных:
|