Dvd-Rx, Антизащита

DVD-RX — это многоуровневая защита DVD-видео от несанкционированного копирования.

Но раз есть информация, которую можно просмотреть, значит, ее можно сохранить.

В этом посте я опишу, как именно мне удалось удалить образ с такого диска с помощью Linux. Поскольку мне никогда раньше не приходилось иметь дело с защищенными дисками, а в частности с DVD-RX, мне пришлось испробовать множество методов, чтобы получить удовлетворительный результат. Содержимое диска, который у меня был, представляло собой 30-минутное видео без меню, хранившееся в виде огромного количества файлов (более сотни) с расширением VOB, каждый размером более одного гигабайта.

Однако само видео представляет собой компиляцию теленовостей, так что я даже ничего не нарушал.

Общий объем контента составил около одного терабайта, несмотря на то, что объем самого диска был стандартным, т.е.

4,7 ГБ.

Поэтому я сразу отказался копировать содержимое в виде файлов.

Я тоже решил отказаться от копирования видео с экрана, хотя это было бы быстрее, но решил сделать копию диска.

Попытка удалить образ с помощью K3b ни к чему не привела, потому что.

после копирования 10 МБ стали появляться ошибки чтения секторов.

Несмотря на то, что в функционал K3b входит пропуск ошибок чтения и ограничение их попыток, накопитель сам пытается прочитать каждый сектор, причем одна попытка чтения сбойного сектора занимает около 10 секунд, что является не только длительным процессом, но и довольно значительным принудительно включает лазер в привод. Прочитав литературу по копированию информации с плохих носителей, я решил воспользоваться консольной программой dd_rescue, которая умеет создавать образы файлов блочных устройств, пропуская заданное количество байт в начале (заполняя их нулями).

К сожалению, мне так и не удалось найти программное решение для быстрого поиска бэд-блоков на оптических носителях.

Мне пришлось искать по методу тыкать .

Нижнюю границу, где начинаются сбойные сектора, я знал (10 МБ), поэтому решил сразу взять на пробу 100 МБ.

Как ни странно, сектор, начинающийся со 100 МБ, тоже был битым, как и с 200, но данные уходили на 300, поэтому я выбрал нижнюю границу поиска 200 МБ, а верхнюю — 300. В итоге мне пришлось совершить около 20 прыжков, чтобы найти границу между мертвыми и живыми секторами.

Поэтому я скопировал вершина часть диска.

Однако, когда я посмотрел на поверхность диска, я понял, что мне придется искать еще две границы, потому что там было два кольца, резко отличающихся по цвету.



DVD-RX, антизащита

Тем же методом (запустив dd_rescue в разных местах и посмотрев вывод) я нашел необходимые границы.

Один был около 63 МБ, а второй около 130. Итак, у меня уже был iso-файл весом 10 МБ (от центра диска до первых бэд-блоков), и файл размером 4,7 ГБ, содержащий информацию с конца плохие блоки до края диска.

Мне нужно было сделать дамп между этими кольцами.

Я использовал тот же dd_rescue, нажав Ctrl+C, когда посыпались плохие блоки:

  
  
   

$dd_rescue -s 62973431 -f /dev/sr0 /home/mascom/middle

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

Я использовал программу разделения, чтобы разделить средний файл на равные части, каждая размером с маленький файл.



$split -b 9997139 /home/mascom/middle

Заменив файл первой части (xaa) на 10-мегабайтный Begin.iso и объединив все части в одну, я получил файл, содержащий информацию от физического центра диска до начала второго кольца.



$cat begin.iso xab xac xad xae xaf xag xah xai xaj xak xal xam xan xao xap xaq xar xas xat xau xav > begin1 $rm xaa xab xac xad xae xaf xag xah xai xaj xak xal xam xan xao xap xaq xar xas xat xau xav

Повторив эту процедуру с большим файлом (использовав размер получившегося Begin1, заменив его на новый xaa и снова соединив их), я получил готовый рабочий iso-образ исходного диска.

Теги: #linux #video #Авторское право #rip #dvd #dd

Вместе с данным постом часто просматривают: