1. Друзья, в это тяжёлое и непонятное для всех нас время мы просим вас воздержаться от любых упоминаний политики на форуме, - этим ситуации не поможешь, а только возникнут ненужные ссоры и обиды. Это касается также шуток и юмора на тему конфликта. Пусть войны будут только виртуальными, а политики решают разногласия дипломатическим путём. С уважением, администрация Old-Games.RU.

    Скрыть объявление
  2. Пожалуйста, внимательно прочитайте правила раздела.
  3. Если Вы видите это сообщение, значит, вы ещё не зарегистрировались на нашем форуме.

    Зарегистрируйтесь, если вы хотите принять участие в обсуждениях. Перед регистрацией примите к сведению:
    1. Не регистрируйтесь с никами типа asdfdadhgd, 354621 и тому подобными, не несущими смысловой нагрузки (ник должен быть читаемым!): такие пользователи будут сразу заблокированы!
    2. Не регистрируйте больше одной учётной записи. Если у вас возникли проблемы при регистрации, то вы можете воспользоваться формой обратной связи внизу страницы.
    3. Регистрируйтесь с реально существующими E-mail адресами, иначе вы не сможете завершить регистрацию.
    4. Обязательно ознакомьтесь с правилами поведения на нашем форуме, чтобы избежать дальнейших конфликтов и непонимания.
    С уважением, администрация форума Old-Games.RU
    Скрыть объявление

Метод сохранения игр на жёсткий диск из браузерной версии DOSBox

Тема в разделе "Кладезь мудрости", создана пользователем TheMadLynx, 21 сен 2019.

  1. TheMadLynx

    TheMadLynx

    Хелпер

    Регистрация:
    9 июн 2015
    Сообщения:
    6.465
    Не секрет, что современные браузеры позволяют запускать DOSBox - а следовательно, и игры для DOS и Windows 3.x - непосредственно в онлайн-режиме, то есть со страницы того или иного сайта. Некоторые сайты используют эту возможность, чтобы дать пользователю наиболее оперативный способ познакомиться с игрой перед загрузкой (например, archive.org). Другие считают такой "онлайновый" способ единственно приемлемым и, в угоду копирастическим соображениям, не дают скачать игру (например, ClassicReload.com). Попробуем что-то этому противопоставить.

    Сперва был проведён поиск хоть каких-то локально сохраняемых браузером файлов с этих страниц. Но виртуальная файловая система досбокса разворачивается в памяти процесса браузера. Копаться там совсем не хотелось. Тут и подоспел товарищ @wildclown, который обратил внимание на запросы странички игры к архивам. Они имели URL, по которому нельзя ничего скачать. Но данная информация заставила думать в другом направлении. За что ему (wildclown) отдельное спасибо.

    Первый инструмент, который нам понадобится, - это браузер. Берём актуальную версию Огнелиса (69.0.1 Новый быстрый браузер для Windows, Mac и Linux | Firefox).

    Заходим на страничку с интересующей игрой. Пусть это будет вторая цивилизация в версии под Win3.x: Sid Meier's Civilization II

    Открываем сетевой монитор (Ctrl+Shift+E). Нажимаем кнопку Start в окне с игрой.
    1cr.png
    Немного погодя получаем следующий результат:
    2cr.png
    Здесь уже включена сортировка запрошенных загрузок по типу. Файлы с расширением *.zip попали в самый конец списка. В данном случае это win3x-sid-meiers-civilization-ii.zip и win311qt.zip. Из последнего архива разворачивается виртуальный диск C:, содержащий операционную систему и некоторые служебные файлы. А вот первый архив содержит rip-версию самой игры. Его нам и стоит закачать, если мы хотим себе локальную копию того, во что только что поиграли в онлайне через сайт. К сожалению, отладчик огнелиса не умеет грузить большие файлы через свою консоль отладки. Поэтому нам понадобится ещё одна утилита. А пока сохраним в буфер обмена запрос загрузки искомого файла в формате cURL. Для этого нужно кликнуть правой кнопкой мыши по имени файла в консоли отладки и выбрать из выпадающего меню соответствующую опцию.
    3cr.png
    Да, curl - второй инструмент, который нам понадобится (7.66.0 curl - Download). По ссылке лежат готовые бинарники для огромного количества ОС. Я брал себе 64-битную версию для Windows. Из архива извлекаем в свободную папку на диске сам curl.exe и сопутствующую libcurl-x64.dll. Потом открываем по этому пути оболочку с командной строкой (у меня это PowerShell) и вставляем сохранённый в буфере ранее запрос. Должно получиться что-то такое:

    .\curl -k --output civ2_rip.zip "https://vfat.classicreload.com/win3x-sid-meiers-civilization-ii/win3x-sid-meiers-civilization-ii.zip" -H "User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:69.0) Gecko/20100101 Firefox/69.0" -H "Accept: */*" -H "Accept-Language: en-US,en;q=0.7,ru;q=0.3" --compressed -H "Origin: ClassicReload.com" -H "Connection: keep-alive" -H "Referer: Sid Meier's Civilization II" -H "TE: Trailers"

    Выделенные фрагменты были специально добавлены в скопированный из буфера обмена запрос. Бэкслеш с точкой в начале - обращение к исполняемому файлу по текущему пути (особенность PowerShell). Жирным также выделены дополнительные команды (-k --output civ2_rip.zip) для отключения проверки сертификата SSL соединения и имя для сохраняемого в локальную папку файла.

    Запускаем, ждём закачку и проверяем результат.

    Некоторые игры кроме установочных файлов обращаются к образу диска. Он будет выглядеть как ещё один архив с файлами, но заметно большего размера.

    Отмечу, что у меня нет профессиональных знаний в сфере веб-технологий. Советы и рекомендации от более мудрых в этой теме только приветствуются.
     
    Последнее редактирование: 22 сен 2019
    compart, bvedargh, Goblinit и 5 другим нравится это.
  2.  
  3. Uka

    Uka

    Переводчик

    Регистрация:
    21 окт 2012
    Сообщения:
    26.685
    Ага, я таким образом скачивал игры типа Stream-only с Archive.org. Не думаю, что успешность предприятия зависит от браузера, - у меня и "Опера 12" справлялась (в которой сам Stream как раз не работает).
    А что за сайт ClassicReload.com, неужели там есть что-то такое, что больше нигде не встречается???
     
    Последнее редактирование: 22 сен 2019
  4. TheMadLynx

    TheMadLynx

    Хелпер

    Регистрация:
    9 июн 2015
    Сообщения:
    6.465
    Инструменты выбраны просто для примера. Здесь сам метод важно было показать.
    К сожалению, да.
     
  1. На этом сайте используются файлы cookie, чтобы персонализировать содержимое, хранить Ваши предпочтения и держать Вас авторизованным в системе, если Вы зарегистрировались.
    Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie.
    Скрыть объявление