Восстановление информации, повреждённой вирусом Win95.CIH


После публикации статьи с описанием алгоритма, позволяющего восстанавливать информацию на диске, подвергшемся воздействию вируса Win95.CIH, стали приходить письма, авторы которых предлагают свои способы решения проблемы. Сейчас вам предлагается один из них. По утверждению автора, он позволяет восстановить более 90% информации.

Данный материал рассчитан на пользователей имеющих маломальское представление о структуре файловых систем FAT12, FAT16, FAT32 и умеющих работать с программой DISKEDIT.

Список того, что нам потребуется:

  1. DISKEDIT.EXE — дисковый редактор
  2. FDISK.EXE — программа для разбиения жестких дисков
  3. FORMAT.COM — программа для форматирования дисков
  4. Жесткий диск с потерянными данными (HDD0)
  5. Дополнительный жесткий диск (HDD1)
  6. Системный диск с файлами diskedit.exe, fdisk.exe, format.com, sys.com

Список обозначений:

  1. MBR (Master Boot Record) — главная загрузочная запись
  2. PT (Partition Table) — таблица разделов
  3. BR (Boot Record) — загрузочная запись
  4. FAT (File Allocation Table) — таблица размещения файлов
  5. ROOT — корневой каталог

Итак, перейдём от слов к делу.

Данный вирус уничтожает каждый восьмой сектор всех жестких дисков, начиная с первого (из личного опыта). Из этого следует:

  1. Во всех случаях теряется MBR и PT (Они располагаются в одном секторе Cyl:0,Side:0,Sec:1)
  2. Возможна потеря BR (Обычно в секторе Cyl:0,Side:1,Sec:1)
  3. Частично разрушены FAT. (Их две копии. Первая копия начинается с сектора Cyl:0,Side:1,Sec:33, а вторая следом за ней)
  4. Возможно, частично повреждено содержимое файлов лежащих в начальных секторах (в основном это файлы операционной системы, и интерес для нас они не представляют). Вот они то и составляют тот процент информации, который мы восстановить не сможем.Чаще всего вирус до этого не доходит, зависает на второй таблице FAT

Из этого следует, что нам нужно восстановить MBR, PT, BR, FAT. Не пугайтесь, на самом деле не все так трудно как кажется.

Начнём по порядку.

Восстановление FAT

Самое интересное для нас представляет FAT. Их обычно две копии, и в обоих повреждения в разных местах. То есть из двух испорченных FAT нам надо собрать одну рабочую. Запускаем DISKEDIT и получаем доступ к HDD как к физическому устройству(Alt+D). Переходим на сектор Cyl:0,Side:1,Sec:33 (Alt+P), (Обычно здесь начинается первая копия FAT) или находим её начало через меню Tools->FindObject->FAT и запоминаем адрес сектора. Делаем повторить поиск Tools->FindObject->FAT это будет начало второй копии FAT. Из начального сектора второй копии вычитаем начальный сектор первой получаем размер FAT в секторах. Теперь нам известны адреса расположения таблиц и их размер. Делим рабочее пространство экрана на две части (Shift+F5). Переход между окнами(Shift+F8). В верхнем окне располагаем первую FAT, в нижнем вторую. А делается это следующим образом. Переходим на физический сектор (Alt+P) и указываем адрес начала первой таблицы, а в количестве секторов заносим размер FAT который нам уже известен. То же самое проделываем со второй копией в нижнем окне.

Теперь остаётся самое кропотливое — собрать из двух испорченных FAT одну рабочую. Причём, чем больше был объём диска, тем больше будут таблицы FAT. Так что посидеть придётся долго.

Суть состоит в том, что бы определить сбойный участок в нижнем окне и заменить его участком из верхнего окна (или наоборот). Для сравнения данных существует функция Tools->Compare Windows. Внешне содержимое FAT похоже на массив чисел. Начало массива состоит из маленьких чисел, которые увеличиваются по мере приближения к концу файла. Так что если то, что вы видите, не соответствует этому, то это и есть сбойный участок. Выделяется участок клавишей (Ctrl+B) и стрелками управления курсором. Копирование (Ctrl+C). Вставка (Ctrl+V). Выделяете и копируете в одном окне, вставляете в другом. И так до самого конца.

Таким путём мы получаем рабочую копию FAT. Её нужно скопировать на вторую копию (если сделали рабочей вторую , то копируете на место первой).

Запускаем FDISK. Создаём основной раздел (на HDD1) такого же размера, какой у вас был до уничтожения вирусом (это очень важно, иначе размеры FAT могут отличаться, да и ROOT может оказаться не в том месте). Выходим и делаем перезагрузку.

Запускаем "FORMAT диск:".

Диск — буква только что нами созданного логического диска.

Запускаем DISKEDIT, копируем (c HDD1) с первого сектора до FAT все сектора на исходный диск (HDD0).

Выходим и делаем перезагрузку. После этого всего должен появиться ваш потерянный логический диск со всей вашей информацией.

При необходимости переносим системные файлы командой "SYS A: C:".

Вот вроде бы и всё. И не забудьте вылечить антивирусом то, что вы восстановили.




Дополнительно