Как удалить дримкаст агент с компьютера

Обновлено: 04.07.2024

перевод demul 0.5.7 : 21.07.2012
Разработчик: Wind, CaH4e3, Ajax16384
Издатель: Demul ltd
Эмулятор: Dreamcast / Naomi / Naomi2 / Atomiswave / Hikaru / Gaelco
Язык интерфейса: английский, русский
Платформа: Windows XP, Windows 7 SP1 x32, x64
Сайт эмулятора demul

Подготовка к запуску:
1. Скачиваем и устанавливаем Demul 0.57: Demul-0.57.torrent [51.54 Kb] (cкачиваний: 8882)
2. Выбираем игру и скачиваем.

Инструкция по настройке Dreamcast эмулятора - Demul

Перед запуском эмулятора необходимо удостовериться, что на компьютере установлены MVC++ Redistributable Package и самый последний DirectX.

Настройка плагинов: в зависимости от конфигурации вашего компьютера и формата образов выбираем следующие настройки:

Video plugin:
Если ваша видеокарта поддерживает DirectX11, то настоятельно рекомендуется выбрать плагин gpuDX11.

GD-ROM plugin:
Для запуска сжатых образов в формате CHD необходимо выбрать плагин gdrCHD.
Для запуска образов в формате CDI/GDI необходимо выбрать плагин gdrImage.

Запуск эмулятора игровой консоли DREAMCAST на PC

Далее нажимаем ОК и попадаем в главное окно эмулятора.
Заходим в "Config -> Video", чтобы перейти к настройкам графики.

Настройка Video: рассмотрим основные настройки видео:
Windows resolution: выбор предпочитаемого разрешения экрана.
Use Fullscreen: для работы эмулятора в полноэкранном режиме.
Aspect Ratio: настройка соотношения сторон.
Для широкоформатного экрана (1280x720, 1920x1080) необходимо выбрать пропорции 16:9, для экрана типа "квадрат" (800х600, 1024х768) - 4:3.

Запуск эмулятора игровой консоли DREAMCAST на PC


Далее нажимаем ОК и в главном окне эмулятора заходим в "Config -> Controls" для настройки управления.
Настройка Controls: в разделе Dreamcast нажимаем на кнопку Joy 1 для настройки кнопок геймпада.
UP, DOWN, LEFT, RIGHT: крестовина, вверх, вниз, влево, вправо.
A, B, X, Y: кнопки, расположенные справа.
LTRIG, RTRIG: кнопки, расположенные с торца геймпада.
START: кнопка, расположенная посередине.
S1 UP, S1 DOWN, S1 LEFT, S1 RIGHT: аналоговый стик, вверх, вниз, влево, вправо.

В главном окне эмулятора заходим в "Config -> GD-ROM" для настройки виртуального дисковода.

Настройка GD-ROM: нажимаем на кнопку Select, чтобы загрузить образ с игрой в виртуальный дисковод. Выбранный файл-образ будет отображаться в поле Image file —> ОК и переходим к завершающему этапу настройки эмулятора.

Завершение настроек: для запуска эмулятора требуется наличие файлов с настройками для Sound и Netplay.
Для создания настроек по умолчанию заходим в "Config -> Sound", "Config -> Netplay" и нажимаем ОК.
Для запуска эмуляции в главном окне эмулятора нажимаем "File -> Run Dreamcast"


После выпуска книги DOOM Black Book я отправился в отпуск в Японию, где мне удалось поиграть в Ikaruga на настоящем аркадном автомате в игровом зале Taito HEY токийского квартала Акихабара. Этот опыт снова возродил во мне интерес к последней видеоигровой консоли SEGA — Dreamcast.

В сети можно найти множество документов, сильно облегчающих процесс изучения вопроса. Есть два превосходных ресурса, способных быстро ввести в курс дела любого: замечательный веб-сайт Маркуса Комштедта, на котором описывается всё, вплоть до регистров GPU, и ресурс пользователя Jockel «Давайте создадим игру для Sega Dreamcast с нуля».

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

Первый уровень защиты: GD-ROM

На бумаге механизм защиты копий игр для SEGA Dreamcast выглядел очень сильным. Игры поставлялись на специальном носителе под названием GD-ROM, который могла производить только SEGA. GD расшифровывается как «Gigabyte Disc» («гигабайтный диск»), то есть его повышенная плотность записи обеспечивала максимальный объём в 1 ГБ, что было намного больше возможностей обычного CD-ROM (700 МБ).


GD-ROM имел те же физические размеры, что и CD-ROM, но на макроуровне он состоял из двух областей, различимых невооружённым глазом.

Первая (тёмная) зона — это совместимая с CD-ROM область низкой плотности, содержащая до 35 МБ. В ней содержалась голосовая аудиодорожка, напоминающая пользователю, что содержимое диска предназначено для SEGA Dreamcast, а не для CD-проигрывателя [1] . Также разработчик добавлял туда дорожку с текстовыми файлами, например информацией об авторском праве, а иногда и промоматериалы, например, арты из игры.

Область высокой плотности (светлая) хранила до 984 МБ [2] и на ней располагался весь контент игры.

Хакерам казалось невозможным извлечь игру с диска и прожечь её заново для распространения.

Загрузка с GD-ROM: IP.BIN и 1ST_READ.BIN

Прежде чем рассказывать о том, как пиратам удавалось копировать игры, нам нужно понять последовательность загрузки. У Dreamcast не было операционной системы. Есть популярное заблуждение о том, что в ней использовалась Windows CE, но на самом деле ОС Microsoft была всего лишь дополнительной статической библиотекой, которую разработчики Dreamcast могли подключать для использования DirectX, DirectInput и DirectSound [3] . В некоторых играх WinCE использовалась [4] , но в большинстве (например в Ikaruga) она не применялась. Вне зависимости от того, что использовал разработчик, игра с полностью подключенной ОС и Dreamcast запускались всегда одинаково.

При обычном использовании и запуске официальной игры на только что включенной Dreamcast запускался BOOTROM, загружая с GD-ROM в ОЗУ программу начальной загрузки (bootstrap). Эта крошечная программа, расположенная на последней дорожке GD-ROM и известная сообществу под названием «IP.BIN», отображала лицензионный экран SEGA и выполняла два уровня начальной загрузки для настройки аппаратных регистров, создания стека ЦП и инициализации VBR [5] .

Более важно то, что IP.BIN содержал название исполняемого файла игры. Это название искалось в файловой системе GD-ROM и загружалось в ОЗУ по адресу 0x8C010000, после чего выполнение программы переносилось туда. Обычно исполняемый файл имел название «1ST_READ.BIN».

После того, как ЦП переходил по адресу 0x8C010000, игра запускалась, как и положено.

Второй уровень защиты: шифровальщик-скрэмблер

Теоретическая возможность взлома возникла благодаря казалось бы малозначимой способности Dreamcast загружаться не с GD-ROM, а с CD-ROM. Изначально этот функционал под названием «MIL-CD» задумывался для добавления в музыкальные CD мультимедийных функций, но практически не использовался, за исключением семи караоке-приложений.

Инженеры SEGA понимали, что загрузка MIL-CD может использоваться в качестве вектора атаки, поэтому добавили защиту. Когда консоль распознавала CD-ROM, то BOOTROM загружал IP.BIN обычным образом, но шифровал 1ST_READ.BIN, на первый взгляд случайным образом. Рабочий исполняемый файл превращался в хаотическую мешанину, которая приводила к зависанию консоли.

С такой точки зрения казалось, что консоль надёжно защищена. Dreamcast мог распознавать пиратскую копию игры, портить исполняемый файл в процессе загрузки и побеждать пиратов.

Подайте длинный меч мой!

Проблема с испорченным файлом была решена, когда в конце 1999 года командой хакеров «Utopia» был украден Katana SDK (официальный SDK Sega для Dreamcast) [6] . Оказалось, что скрэмблер был ни чем иным, как реализацией принципа «security through obscurity». SDK содержал реверс-скрэмблер, который превращал правильный исполняемый файл в «обратную мешанину», которая снова становилась исполняемым файлом после загрузки и скрэмблинга консолью Dreamcast при загрузке с CD-ROM.

Извлечение игры с её GD-ROM

Украденный SDK — это всё, что было нужно пиратам. Благодаря возможности запуска кода на машине теперь Dreamcast можно было использовать не как игровую консоль, а как привод GD-ROM. «Кабель для кодера» из SDK [7] позволял подключить консоль к PC и установить физическое соединение. Для того, чтобы консоль могла создать дамп содержимого GD-дорожек, был написан специальный исполняемый файл. Затем его реверс-скрэмблировали и записали на CD-ROM, чтобы вывести весь 1 ГБ данных через последовательный порт консоли. Это был подверженный ошибкам процесс, занимавший до 18 часов [8] [9] . Результат сохранялся в специально созданном формате ".gdi".


Интересный факт: можно заметить, что общий объём данных составляет не 1 ГБ, как говорилось выше, а 1,2 ГБ. Так получилось потому, что 2352-байтные сектора GD-ROM следуют формату «Red Book», в котором 12 байт используется для синхронизации, 4 байта для заголовка, 2048 байт для полезной нагрузки и 288 байт для Error Detection Code/Error Correcting Code [10] .

Как уместили 1000-мегабайтный GD-ROM на 700-мегабайтный CD-ROM

Чтобы уместить игру на 700-мегабайтный CD-ROM, перерабатывались ресурсы игры. Файловая система ISO-9660, используемая в GD-ROM, позволяла с лёгкостью изменять дискретизацию видеороликов и музыки, а также полностью их удалять. Однако для большинства игр такой сложный процесс не требовался, потому что они не занимали весь 1 ГБ. Например, Ikaruga компании Treasure занимала всего 150 МБ, а большая часть её контента была заполнена нулями. В подобных случаях достаточно было простого редактирования заполняющих данных.

На самом деле ISO-9660 — это такой известный формат, что для изучения содержимого архивов .gdi даже были написаны простые скрипты на Python (например gditools.py).

Упаковка и распространение

Последние два этапа процесса заключались в обратном скрэмблинге 1ST_READ.BIN и упаковке всей информации в архив .cdi, чтобы DiscJuggler мог записать образ на CD-R. Полученный результат без проблем работал на любой ванильной Dreamcast без необходимости чипа модификации.

Реакция SEGA и последствия

SEGA быстро выпустила вторую версию консоли DC с полностью отключенным MIL-CD, но ущерб уже был нанесён. После катастрофического падения доходов и выпуска конкурирующей PS2 разработчики забросили Dreamcast и SEGA ушла из разработки оборудования, целиком сосредоточившись на создании ПО.

Читайте также: