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

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


    Прохождения игр    
Demon's Souls |#13| Storm King
Demon's Souls |#11| Мaneater part 2
Demon's Souls |#10| Мaneater (part 1)
Demon's Souls |#9| Heart of surprises

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


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

Программирование и кодирование

Предыдущая страница Следующая страница
1 ... 158 159 160 161 162 163 164  165 166 167 168 169 170 171 ... 198
         вавшиеся  исходно  файлом,  по-прежнему  содержат  данные  файла.
         В-третьих (что весьма печально!),  каждый  из  элементов  таблицы
         FAT,  использовавшихся  исходно для отражения кластеров,  занятых
         файлом, содержит значение (0)000.
              Для восстановления стертого файла следует выполнить перечис-
         ленные ниже шаги:
              1. Вести просмотр элементов каталога до тех пор,  пока вы не
                 найдете элемент, который бы начинался с шестнадцатирично-
                 го значения E5 в байте 00. Посмотрите на остальные симво-
                 лы в имени файла в байтах с 1 по 10,   и  проверьте,  что
                 это действительно был файл,  который вы хотите восстанав-
                 ливать.

                                      - 11-53 -
              2. Посмотрите на номер начального кластера (байты  26  и
                 27). Используйте номер  начального  кластера  в  качестве
                 указателя на первый кластер в области данных диска, заня-
                 того файлом, а также на первый начально используемый эле-
                 мент таблицы FAT.
              3. Посмотрите на размер файла (байты с 28 по  31,  последние
                 четыре  байта  в  элементе каталога).  Знать размер файла
                 важно в том,  случае ,  если файл занимает  более  одного
                 кластера в области данных диска,  а особенно важно,  если
                 части файла разбросаны по разным частям диска.
              4. Определив номер кластера,  занятого началом файла,  прос-
                 мотрим содержимое этого кластера.  Поищем в кластере сим-
                 вол  кода  ASCII  "Control-Z" (шестнадцатиричное значение
                 А1).  Если вы знаете,  что файл содержит  текст  (в  коде
                 ASCII)   и   если будет обнаружен один или несколько сим-
                 волов "Control-Z",  восстанавливать файл нужно  следующим
                 образом (в противном случае продолжайте работу с шага 5):
                 а. Если был обнаружен один или несколько символов
                    "Control-Z", вы знаете,  что файл занимает только один
                    кластер.  Начинайте восстанавливать файл путем помеще-
                    ния любого числа от (F)FF8 до (F)FFF в элемент таблицы
                    FAT, соответствующий этому кластеру.
                 б. Измените  шестнадцатиричное значение E5 в элементе ка-
                    талога на любой нужный вам первый символ имени файла .
                 в. Вернувшись  на  подсказку операционной системы MS-DOS,
                    используйте команду DIR для проверки  того,  что  файл
                    появился в списке файлов диска.  Откройте файл тексто-
                    вым редактором или  текстовым  процессором  для  того,
                    чтобы убедиться,  что его содержимое осталось правиль-
                    ным.  Все! Теперь вам нужно на этом остановиться и иг-
                    норировать все следующие шаги.
              5. Если конец файла не был найден, просмотрите все следующие
                 элементы  таблицы FAT (последовательно) до тех пор,  пока
                 вы не встретите элемент,  содержащий значение 000.  Прос-
                 мотрите содержимое кластера, имеющего такой же номер, что
                 и элемент таблицы FAT.  Если содержимое  окажется  частью
                 стертого файла,  запомните номер этого кластера и продол-
                 жите просмотр других элементов таблицы FAT и  эквивалент-
                 ных им кластеров до тех пор, пока вы не сочтете, что дос-
                 тигли конца файла.  Объем просмотра зависит от нескольких
                 моментов, описанных в следующем шаге.
              6. Определите по размеру файла,  взятому из элемента катало-
                 га, сколько кластеров  должен занимать файл. Кроме этого,
                 помните,  что,  если вы восстанавливаете текстовый файл в
                 коде ASCII,  наличие в кластере символа "Control-Z"(шест-
                 надцатиричное значение A1) указывает  на  конец  файла  .
                 Следовательно, возвращайтесь обратно на шаг 5 до тех пор,
                 пока вы не достигните максимального числа кластеров, за-
                 нятых  файлом.  Отмечайте каждый номер кластера,  который
                 содержит данные, относящиеся, по вашему мнению, к стерто-
                 му  файлу.  Если  в каком-то кластере вы встретили символ
                 "Control-Z",  но еще  не  определили,  сколько  кластеров
                 должно составлять искомый файл,  будьте осторожны:  клас-
                 тер,  в котором появился символ "Control-Z",  может озна-
                 чать  конец  другого  стертого файла.  Просмотрите другие
                 последующие элементы каталога по стертым файлам и отметь-
                 те  для  себя  их начальные кластеры,  а также размеры их

                                      - 11-54 -
                 файлов.  Возможно,  что два или более стертых файла имеют
                 переплетенные пути  доступа  к  последовательностям своих
                 кластеров.
              7. После  того,  как вы обоснованно решите,  какие кластеры,
                 заняты  нужным файлом,  как они сцеплены,  а также будете
                 уверены в том, что нашли конец файла, перестройте таблицу
                 FAT.  Начиная с первого кластера, перейдите к эквивалент-
                 ному  элементу  таблицы  FAT и сохраните номер следующего
                 кластера, занятого файлом.  Затем  перейдите на  следую-
                 щий  элемент  таблицы  FAT  и  сохраните номер следующего
                 кластера.  Продолжайте выполнять эту операцию до тех пор,
                 пока  не достигнете последнего кластера.  Тогда в элемент
                 таблицы FAT вы поместите любое число от (F)FF8 до (F)FFF,
                 чтобы  отметить  конец файла.  Далее перейдите к элементу
                 каталога,  относящемуся к нашему файлу и измените  первый
                 символ  из шестнадцатиричного значение E5 в то значение в
                 коде ASCII в шестнадцатиричном виде),  которое вы  хотели
                 бы видеть в качестве первого символа имени файла.
              8. Итак,  все сделано. После возвращения на подсказку опера-
                 ционной системы MS-DOS, введите команду DIR, чтобы прове-
                 рить, что файл появился в каталоге диска. Если восстанав-
                 ливаемый  файл  является текстовым файлом,  откройте файл
                 текстовым редактором  или  текстовым  процессором,  чтобы
                 проверить его содержимое. Если это файл какого-то другого
                 типа (например,  файл,  имеющий расширение имени .СОМ или
                 .EXE), загрузите файл, как программу для проверки , рабо-
                 тает ли она правильно.

              По перечисленным выше шагам может показаться,  что процедура
         восстановления файлов является довольно прямолинейной.  В зависи-
         мости от имеющихся в вашем распоряжении программных инструментов,
         в  действительности  однако просмотр данных на диске и запись ин-
         формации на диск может быть сложным занятием.  Отметим здесь, что
         шаги 6 и 7 содержат предостережения о возможности того,  что  не-
         сколько ранее стертых файлов могут переплестись из-за сложной по-
         следовательности расположения их кластеров.  Восстановление пере-
         путанных  данных  указанным  выше  способом может оказаться очень
         нудным и в то же время головоломным занятием. Но при наличии тер-
         пения  (возможно  всего  лишь  небольшого!)   и   решимости  быть
         методичным, вы непременно сможете распутать файлы.
              Теперь, когда вы имеете представление о  том,  какие  усилия
         потребуется  затратить для восстановления стертых файлов,  пришло
         время продемонстрировать, что самый быстрый способ восстановления
         стертых файлов заключается в копировании их на  диск-дубликат. Вы
         должны взять себе за правило   часто копировать проделанную  вами
         работу  и  всегда пользоваться копиями приобретенного или личного
         программного обеспечения,  но никогда не оригиналами диска  (дис-
         ков).


                 Восстановление стертых файлов аппаратным способом

              Если в вашем распоряжении имеется только  программа  отладки
         DEBUG  для восстановления файлов, и вы имеете достаточно терпения
         и времени для набора и ассемблирования описанной в этой главе про-
         граммы контроля RESCUE, данные ниже советы могут оказаться полез-
         ными для вас.

                                      - 11-55 -
              Существует четыре   функции  или  команды  программы  DEBUG,
         представляющие  для  нас интерес:  L (Загрузка), D (Отображение),
         E (Ввод), W (Запись).  После того,  как вы создали копию диска со
         стертым файлом на нем,  загрузите программу DEBUG.  При появлении
         подсказки программы DEBUG введите команду L для загрузки данных с
         той части диска, которую вы хотите просмотреть:

             L <адрес> <дисковод> <начальный сектор> <конечный сектор>

              В данном случае <адрес> представляет собой начальный адрес в
         памяти,  в который должны загружаться данные, <дисковод> означает
         номер дисковода (например, 0 для А, 1 для В, 2 для С), а <началь-
         ный сектор> и <конечный  сектор>  указывают  диапазон  логических
         секторов (только шестнадцатиричные числа),  которые вы хотите за-
         грузить. Для загрузки содержимого всех секторов каталога на  дву-
         стороннюю 40-трековую 5,25-дюймовую дискету, отформатированную по
         девять секторов на трек и помещения ее 0 дисковод В, введите сле-
         дующую команду:

              А>DEBUG
              -L 0 1 5 B

              После того,  как  информация будет загружена,  вы можете ис-
         пользовать команду D для отображения на экране дисплея содержимо-
         го памяти и команду Е для изменения отдельных байтов, если нужно.
         После того,  как вы пометили нужную вам  информацию  и  произвели
         требуемые  изменения,  данные могут быть обратно записаны на диск
         при помощи команды W. Команда W использует точно такой же синтак-
         сис,  что и команда L.  Удостоверьтесь, что вы задали те же пара-
         метры, что и в команде L. Это будет вам гарантией того, что толь-
         ко правильная часть диска будет переписываться.
              Единственным моментом, когда вам нужно записывать информацию
         на диск, является тот момент, когда вы меняете первый символ име-
         ни стертого файла в относящемся к данному файлу элементе  катало-
         га,  или когда вы модифицируете содержимое элементов таблицы FAT,
         соответствующей этому файлу.  При изучении содержимого кластеров,
         занятых реальным файлом,  вам не обязательно нужно записывать ин-
         формацию обратно на диск,  если только вы не производили каких-то
         сложных работ по исправлению, которые иначе нельзя выполнить. Бо-
         лее подробную информацию по использованию программы отладки DEBUG
         и  ее команд можно найти в Руководстве пользователя по операцион-
         ной системе MS-DOS (или в аналогичном руководстве по вашей  конк-
         ретной системе).

                      Использование программы контроля RESCUE

              Программа, описанная листингом 11-4,  очень проста в исполь-
         зовании. После набора команды RESCUE задается имя стертого файла.
         Команда RESCUE требует задания только имени файла,  то есть,  за-
Предыдущая страница Следующая страница
1 ... 158 159 160 161 162 163 164  165 166 167 168 169 170 171 ... 198
Ваша оценка:
Комментарий:
  Подпись:
(Чтобы комментарии всегда подписывались Вашим именем, можете зарегистрироваться в Клубе читателей)
  Сайт:
 

Реклама