Техника защиты компакт-дисков от копирования
ВведениеУсловные обозначения
Исторический аспект
Мысли о хакерах, защитах и программировании
Техника восстановления данных с лазерных дисков или практическое знакомство с сессиями
Восстановление удаленных файлов с CD-R/CD-RW
Получение доступа к удаленным файлам
Восстановление целых сессий
Ошибки начинающих или то, чего делать не следует
Восстановление очищенных CD-RW
Как восстановить не читающийся CD?
Общие рекомендации по восстановлению
Диск не опознается приводом
Диск опознается приводом, но не опознается операционной системой
При вставке диска в привод компьютер "зависает"
Диск читается с ошибками
Организация CD
Кратко о питахPit'ы, лендland'ахы, EFM-словаха, фреймовыхе кадрахы и секторах (кратко)
Каналы подкода
Таблица 1 формат данных Q-подканала
Адресация секторов
"Сырые" и "сухие" сектора
Синхрогруппы, объединяющие битыmerging bits и DSV
Скремблирование
F1-, F2- и F3-фреймы, CIRC кодирование
F1-фрейм.
F2-фрейм.
F3-фреймм.
Программная, вводная и выводная области, оглавление диска и область данных
Могущество кодов Рида-Соломона или информация, воскресшая из пепла
Корректирующие коды и помехоустойчивое кодирование (азы)
Идея кодов Рида-Соломна
Общее представление (врезка)
Что читать (врезка)
Полиномиальная арифметика и поля Галуа
Полиномиальная арифметика
Поля Галуа
Сложение и вычитание в полях Галуа
Умножение в полях Галуа
Деление в полях Галуа
Простейшие практические реализации
Коды Рида-Соломона в практических реализациях
Легенда
Кодировщик (encoder)
Декодер (decoder)
Синдромный декодер
Полином локатора ошибки
Корни полинома
Восстановление данных
Исходный текст декодера
Интерфейс с библиотечкой ElByECC.DLL
Подключение библиотеки ElByECC.DLL к своей программе
Функция GenECCAndEDC_Mode1
Функция CheckSector
Финал[Y81] [n2k82]
Методы низкоуровневого управления приводами
Практические советы по восстановлению системы в "боевых" условиях
Приложения, недопустимые операции и все, -все, -все…
Доктор Ватсон
Техника защиты компакт-дисков от копирования
Microsoft Visual Studio DebuggerОбитатели "сумеречной зоны", или из "морга в реанимацию"
Принудительный выход из функции
"Раскрутка" стека
Передача управления на функцию обработки сообщений
Как подключить дамп памяти
Восстановление системы после критического сбоя
Подключение дампа памяти
Методы низкоуровневого управления приводами
Интерфейсы взаимодействия с оборудованием
Доступ посредствомчерез драйвера CD-ROM-драйвер
Доступ посредствомчерез Cooked-Modeмоде (режим блочного чтения)
Доступ посредствомчерез SPTI
Доступ посредствомчерез SCSI-порта
Доступ посредствомчерез мини-порта интерфейса SCSI-мини порт
Взаимодействие посредствомчерез портовы ввода/вывода
Доступ через MSCDEX драйвер
Взаимодействие посредствомчерез собственный драйвер
Сводная таблица характеристик различных интерфейсов
Способы разоблачения защитных механизмов
" Отжиг" дисков. За, против и немного вокруг
Блокирование/разблокирование кнопки Eject
Хакерские секреты. Рецепты "тормозной жидкости" для CD
Примеры исследования реальных программ
Alcohol 120%
EasyCD Creator
CloneCD
Механизмы защиты
Встроенная защита CD-дисков
Искажение TOC'а и его последствия
Миссия1: Некорректный стартовый адрес трека
Техника защиты компакт-дисков от копирования
Миссия1: Некорректный стартовый адрес трека - 16Автоматическое копирование и обсуждение его результатов
Так как же все-таки скопировать такой диск?
Пример реализации защиты на программном уровне
Полная нейтрализация защиты
* Искажение TOC'а и его последствияФиктивный трек в настоящем треке
Фиктивный трек в области данных подлинного трека
Фиктивный трек в Post-gap подлинного трека
Фиктивный трек в Pre-gap подлинного трека
Фиктивный трек в Lead-outLead-Out
Фиктивный трек, совпадающий с подлинным треком
Миссия: Искажение нумерации треков
Некорректный стартовыйого номера первого трека
Дважды одинаковый трек
Некорректный номер последнего трека
Разрыв в нумерации треков первой сессии
Разрыв в нумерации треков второй сессии
Диск, начинающийся не с первого трека
Диск с нулевым треком
Трек с нестандартным номером
Трек с данными, маскирующийся под аудио
Листинг 51 фрагмент оригинального диска
Некорректный Run-out как средство защиты или X-?сектор
Понятие X-сектора
Защиты, препятствующие проигрыванию диска в PC CD-ROM
Аудио, перекрываемое данными
Кастрированный Урезанный Lead-outLead-Out
Отрицательный стартовый адрес первого аудио трека
Защиты от пофайлового копирования диска (защиты уровня файловой системы)
Искажение размеров файлов
Листинг69 первое вхождение искомой последовательности в образе диска
Шифровка файлов
Техника защиты компакт-дисков от копирования
Защиты, основанные на привязке к носителюНанесение меток vs[8]. динамическая привязка
Защиты, основанные на физических дефектах
Защиты, основанные на временных характеристиках чтения
Измерение угла между секторами
Защиты, основанные на "слабых" секторах