Тарун Тьяги написал эту книгу о профессиональном программировании восстановления данных под названием «Восстановление данных с помощью и без программирования» . Все образовательное программное обеспечение и исходные коды, представленные на этом сайте, были разработаны автором Таруном Тьяги .
Тарун Тьяги — специалист по восстановлению данных и разработчик программного обеспечения для восстановления данных.
Обучение восстановлению данных Автор: Тарун Тьяги
Оглавление
ПРЕДИСЛОВИЕ
- Введение в восстановление данных
- Понимание потери данных
- Сбой системы
- Человеческая ошибка
- Повреждение программного обеспечения
- Неисправность программного обеспечения
- Ошибка оборудования
- Вирусный сбой
- Саботаж
- Стихийное бедствие
- Другие типы потери данных
- Потеря одного или нескольких разделов
- Ошибка чтения дискеты
- Удаление важных данных
- Потеря пароля
- Типы и области восстановления данных
- Анализ компьютера перед восстановлением данных
- Приемлемый период восстановления
- Понимание различных затрат
- Расходы на простой
- Расходы на восстановление данных
- Описание пользователя
- Определение требований
- Постановка целей
- Некоторые советы перед началом процедуры устранения неполадок на диске или восстановления данных
- Несколько советов по защите ваших данных
- Делайте резервные копии
- Выполняйте сканирование поверхности ежемесячно.
- Дефрагментация данных еженедельно
- Используйте хорошую антивирусную программу
- Возьмите за привычку защищать дискету от записи.
- Не используйте пиратские игры и программное обеспечение
Глава 2. Введение в жесткие диски
- Введение
- Компоненты жесткого диска
- Дисковые пластины и носители
- Головки чтения/записи
- Удар головой
- Парковка головы
- Головные слайдеры, рычаги и привод
- Головные слайдеры
- Голова Руки
- Привод головки
- Шпиндельный двигатель
- Разъемы и перемычки
- Логическая плата
- Кэш и схема кэша
- Низкоуровневая геометрия жесткого диска
- Форматирование
- Низкоуровневое форматирование
- Разделение
- Форматирование высокого уровня
- Форматированная и неформатированная емкость хранилища
Глава 3 Логический подход к дискам и ОС
- БИОС
- Интерфейс INT 13H и расширения INT 13H
- Расширения Int13H
- Лимит в 2,1 ГБ
- Лимит в 33,8 ГБ
- Спецификация ATA для дисков IDE — ограничение в 137 ГБ
- Поддержка двух- и четырехдисковой BIOS IDE
- Ограничения в файловых системах
- Кластер
- Размер кластера
- Логическая структура жесткого диска
- Основная загрузочная запись (MBR) или основная таблица разделов (MPT)
- Формат основной загрузочной записи
- Формат записи таблицы разделов
- Байт индикатора типа загрузки
- Начальный номер сектора головки блока цилиндров раздела
- Байт индикатора файловой системы
- Конечный номер сектора головки цилиндра раздела
- Относительный номер сектора начала раздела
- Количество секторов раздела
- Загрузочная запись DOS (DBR) / Загрузочный сектор DOS
- Количество корневых каталогов
- Общее количество секторов
- Медиа-дескриптор
- Количество секторов FAT
- Секторов на дорожку (или секторов на головку)
- Скрытые Сектора
- Таблица размещения файлов (FAT)
- Как Windows обнаруживает неправильное выключение
- Корневой каталог
- Длинное имя файла (LFN)
- Область данных (или область файлов)
- Фрагментированные и дефрагментированные данные
- Выявление причины повреждения данных
- Загрузите систему с загрузочной дискеты
- Проверьте информацию MBR
- Если MBR в порядке, проверьте DBR
Глава 4 Системы счисления
- Введение
- Десятичная система счисления
- Двоичная система счисления
- Преобразование двоичных чисел в десятичные
- Преобразование десятичных чисел в двоичные
- Форматы двоичных чисел
- Бит
- Клев
- Байт
- Слово
- Двойное слово
- Восьмеричная система счисления
- Преобразование двоичного числа в восьмеричное
- Преобразование восьмеричного числа в двоичное
- Преобразование восьмеричной системы счисления в десятичную
- Преобразование десятичных чисел в восьмеричные
- Шестнадцатеричная система счисления
- Преобразование двоичного кода в шестнадцатеричный
- Преобразование шестнадцатеричного числа в двоичное
- Преобразование шестнадцатеричного числа в десятичное
- Преобразование десятичных чисел в шестнадцатеричные
- ASCII-код
- Некоторые важные термины числовой системы, часто используемые для представления данных и их хранения
- Байт
- Килобайт
- Мегабайт
- Гигабайт
- Терабайт
- Петабайт
- Эксабайт
- Зеттабайт
- Yottabyte
- Общие условия хранения данных
Глава 5 Введение в программирование на языке C
- Введение
- Зачем использовать C в программировании восстановления данных
- Позвольте мне предположить, что вы ничего не знаете в C.
- Давайте начнем
- Ключевые слова
- Компиляция программы
- Печать цифр
- Использование переменных
- Типы числовых переменных
- Инициализация числовых переменных
- Операторы
- Оператор присваивания
- Математические операторы
- Реляционные операторы
- Логические операторы
- Оператор запятая
- Еще кое-что о printf() и Scanf()
- Контрольные заявления
- Оператор if else
- Заявление о переключении
- Заявление о перерыве
- Продолжение заявления
- Петли
- Цикл while
- Цикл do while
- Цикл for
- Заявление goto
- Указатели
- Множество
- Массивы символов
- Доступ к элементам
- Инициализация элементов массива
- Цикл по массиву
- Многомерные массивы
- Струны
- Некоторые общие строковые функции
- Функция strlen
- Функция strcpy
- Функция strcmp
- Функция strcat
- Функция strtok
- Функции
- Функции передачи по значению
- Вызов по ссылке
- Разыменование
- Распределение памяти в C
- Перераспределение памяти
- Освобождение памяти
- Структуры
- Структуры с указателями-членами в C
- Инициализаторы структур в C
- Передача структур в функции в C
- Союз
- Ключевое слово союза
- Практическое использование объединения при восстановлении данных
- Обработка файлов на языке C
- Режимы работы с файлами функции fopen
- Закрытие файлов
- Чтение файлов
- Запись в файлы
- Аргументы командной строки с C
- Побитовые манипуляторы
- Побитовое И
- Побитовое ИЛИ
- Побитовое исключающее ИЛИ
- Побитовый комплимент
- Побитовый сдвиг влево
- Побитовый сдвиг вправо
- Функции преобразования двоично-десятичных чисел и преобразования
- Функция преобразования десятичных чисел в двоичные
- Функция для преобразования двоичного числа в десятичное
- Отладка и тестирование
- Синтаксические ошибки
- Логические ошибки
- Тестирование
- Некоторые принципы тестирования
- Тестирование методом белого ящика
- Тестирование черного ящика
- Классы эквивалентности
- Анализ граничных значений
- Разработка плана испытаний
Глава 6 Введение в основы работы с компьютером
- Введение
- Основные понятия
- Центральный процессор
- Центральная память
- Регистры ЦП
- Структура ассемблера
- Преимущества ассемблера
- Позволь мне сдержать свое обещание.
- Сохранение и загрузка программ
- Сегменты
- Перемещение данных
- Перерывы
- Внутренние аппаратные сбои
- Внешние аппаратные прерывания
- Сбои в работе программного обеспечения
- Int 20H, завершить процесс
- Int 21H, системные функции MS-DOS
Глава 7. Необходимые команды DOS
- Введение
- Краткая история
- Операционная система Microsoft Disk
- (MS-DOS) Версия 1.0
- MS-DOS версии 2.0
- MS-DOS версии 3.0–5.0
- MS-DOS версии 6.0
- MS-DOS версии 7.0 (Windows 95)
- Необходимые команды
- АТРИБ
- CD (или CHDIR)
- ЧКДСК
- ЦЛС
- КОМАНДА
- КОПИЯ
- ОТЛАЖИВАТЬ
- COM-расширение
- EXE-расширение
- DEL (или СТИРАТЬ)
- ДЕЛЬТРИ
- ДОСКЕЙ
- ДИР
- ДИСККОПИРОВАТЬ
- РЕДАКТИРОВАТЬ
- ВЫХОД
- ФК
- ФДИСК
- НАХОДИТЬ
- ФОРМАТ
- ЭТИКЕТКА
- MD (или MKDIR)
- БОЛЕЕ
- ДВИГАТЬСЯ
- РД (или РМДИР)
- СКАНДИСК
- ТИП
- XКОПИРОВАТЬ
- Спецификации сочетаний клавиш, подстановочные знаки и перенаправление
- Ярлыки
- Универсальные символы
- Перенаправление
Глава 8 Функции Disk-BIOS и обработка прерываний с помощью C
- Введение
- Функции biosdisk и _bios_disk
- Структура diskinfo_t
- Функции absread и abswrite
- Обработка прерываний с помощью C
- Структура SREGS
- РЕГС Союз
- Структуры BYTEREGS и WORDREGS
- Функции int86 и int86x
- Функция segread
- Функции intdos и intdosx
- Как узнать номер физического жесткого диска
- Прерывание 13H (INT 13H), функции драйвера диска ROM BIOS
Глава 9. Работа с большими жесткими дисками
- Прежде всего, позвольте мне рассказать вам историю.
- Расширения INT 13H
- Как использовать расширения INT 13H в программировании на языке C
- Комментарии по кодированию программы
Глава 10 Восстановление данных с поврежденной дискеты
- Почему дискета не читается
- Как восстановиться
- Метод – 1
- Сохраните загрузочный образ любой новой дискеты.
- Создание образа DOS Boot Record хорошей дискеты
- Комментарии к программному кодированию
- Вставка загрузочного образа в первый сектор нечитаемой дискеты
- Комментарии к программному кодированию
- Давайте сделаем это с помощью одной программы
- Комментарии к программному кодированию
- Сохранение загрузочного образа в шестнадцатеричных символах для использования в нашей предыдущей программе
- Комментарии по кодированию программы
- Метод – 2
- Что делать, если метод 1 не работает
- Копировать все данные с поверхности носителя в один файл
- Комментарии к программному кодированию
- Размышления над решением проблемы ошибки чтения сектора(ов)
- Комментарии к программному кодированию
- Вставьте данные из файла на физическую поверхность новой дискеты.
- Комментарии к программному кодированию
- Думаем о логическом восстановлении удаленных или утерянных данных
- Комментарии по кодированию
- Комментарии по кодированию
- Комментарии по кодированию
Глава 11. Создание резервных копий
- Зачем нужны резервные копии
- Когда и что следует резервировать
- Резервное копирование MBR (главной загрузочной записи) и ее использование
- Зачем делать резервную копию MBR
- Что можно восстановить с помощью резервной копии MBR
- Написание программы для создания резервной копии MBR
- Комментарии к программному кодированию
- Программа для восстановления MBR из резервной копии
- Комментарии к программному кодированию
- Резервное копирование DBR (загрузочной записи DOS) и ее использование
- Зачем делать резервную копию DBR
- Что можно восстановить с помощью резервной копии DBR?
- Программы для создания и восстановления резервных копий DBR
- Полный образ диска
- Написание программы для полного создания образа диска
- Комментарии по кодированию
- Комментарии по кодированию
Глава 12 Чтение и изменение MBR с помощью программирования
- Основная загрузочная запись (MBR) или основная таблица разделов (MPT)
- Формат основной загрузочной записи
- Формат записи таблицы разделов
- Написание программы для чтения таблицы разделов MBR
- Комментарии по кодированию
- Программа для поиска всех логических разделов и их информации
- Комментарии по кодированию
- Комментарии по кодированию
- Изменение MBR с помощью программирования
- Комментарии по кодированию
Глава 13 Чтение и изменение DBR с помощью программирования
- Загрузочная запись DOS (DBR) / Загрузочный сектор DOS
- Чтение DBR дискет и малых томов
- Чтение DBR больших объемов
- Как восстановить DBR с помощью программирования
- Комментарии по кодированию
Глава 14 Программирование для восстановления «сырых файлов»
- Восстановление необработанных файлов
- Верхние и нижние колонтитулы некоторых важных типов файлов
- Написание программы для восстановления необработанных файлов
- Комментарии по кодированию
- INT 10H, функция 01H - Установить тип курсора
Глава 15. Программирование для очистки данных
- Введение
- Когда данные становятся полностью невосстановимыми
- Почему удаление данных так важно
- Написание программы для неразрушающего стирания данных
- Комментарии по логике и кодированию программы
- Написание программы для Destructive Data Wiper
- Комментарии по кодированию
- Очистка области данных определенного файла
- Комментарии по логике и кодированию программы
Глава 16 Разработка дополнительных утилит для дисков
- Введение
- Скрытие разделов
- Как раздел становится скрытым
- Написание программы для скрытия раздела
- Комментарии по кодированию
- Написание программы для отображения раздела
- Комментарии к программе
- Написание программы для удаления раздела
- Комментарии к программе
- Форматирование дискеты «Плохая дорожка 0»
- Написание инструмента редактирования диска
ПРИЛОЖЕНИЕ