Программист, реверс-инженер
0,0
рейтинг
5 февраля 2013 в 02:54

Разработка → В официальном издании Age of Empires Collector's Edition на DVD используются крэки из сети

imageПервые части игры Age of Empires уже давно стали своего рода классикой. У этой игры до сих пор есть немало поклонников. В 2007 году вышло официальное коллекционное издание игры, которое включает первую и вторую части с дополнениями. Причём во всех странах, кроме США, оно вышло на одном DVD вместо четырёх CD. Тогда я уже немного занимался реверс-инжинирингом этой игры и знал, что оригинальные версии исполняемых файлов не захотят работать с одним общим диском, поскольку в код каждой части и их дополнений зашита проверка метки соответствующего диска. Очевидно, что у одного DVD не может быть сразу четыре разных метки, и после покупки русского DVD издания я ожидал увидеть перекомпилированные разработчиками версии файлов с изменённым кодом проверки наличия диска или вовсе без него. Но всё оказалось намного интереснее.

Всё в худших традициях пиратских антологий:


  • все стилизованные (оригинальные) установщики с красивой графикой заменены на стандартные;
  • часть оригинальной музыки лежит на DVD в виде неаккуратного рипа с именами файлов вида «01-AudioTrack 01.wav»;
  • во время игры мы не слышим оригинальной музыки — игре никто не сказал, что музыку нужно брать из wav файлов, а не из Audio CD, как это было в оригинальной версии;
  • после установки последних официальных обновлений с сайта Microsoft игра не признаёт DVD как родной и отказывается запускаться.

Никто и не занимался адаптацией игры для DVD издания!


Потеряли исходный код? Не нашли подходящего разработчика для пары мелких правок и компиляции нового исполняемого файла? Или может быть страшная бюрократия в Microsoft, из-за которой даже мелкие и легко исправимые ошибки просто объявляются особенностью архитектуры приложения?

Все исполняемые файлы устанавливаются в расшифрованном виде без SafeDisc (защита от копирования), которая использовалась на оригинальных CD. Ok, дешифрованные версии исполняемых файлов у издателя вполне могли быть. Но что тогда с кодом проверки метки диска?

Как оказалось, всё дело в крэках!


Да-да, все факты указывают на то, что взломанные версии исполняемых файлов для этого издания были взяты из сети Интернет и… немножко отредактированы, возможно, для сокрытия этого факта.

Рассмотрим это на примере Age of Empires II: The Conquerors 1.0c. Возьмём оригинальный зашифрованный исполняемый файл age2_x1.icd — в нём отлично просматривается вся структура PE файла, а зашифрованы только некоторые участки машинного кода. Используя известные методы снятия SafeDisc получаем расшифрованный файл age2_x1.exe. Теперь у нас есть эталонный файл. Далее для исследования возьмём известный в сети NoCD для этой версии игры, судя по всему созданный в недрах уже несуществующего клана Berserkers на основе патча от Myth в конце 2001 года (age2_x1_bsk.exe). Также с DVD коллекционного издания установим английскую версию The Conquerors (/AOE2CONQ/EN/setup.exe) и возьмём установленный исполняемый файл игры (age2_x1_dvd.exe).

Итак, приступим к исследованию


Сравним файлы друг с другом. Первой бросается в глаза разница в описании секций exe файла:

0001e0

Как известно, имена секций никак не влияют на выполнение программы и носят исключительно информационный характер. Однако, обычно компиляторы дают всем секциям привычные имена типа «.code», «.data» и т.д. Но в оригинальном исполняемом файле некоторые секции имеют нетипичные названия «THIS_COD», «THIS_DAT» и «Inf32Dat». Скорее всего столь специфичные имена секций связаны с использованием SafeDisc. В файле с DVD эти секции переименованы в более привычные «.code», «.data2» и «.idata», причём очевидно, что вручную — лишние символы забиты пробелами (код 20h), а не нулями. То есть явно кто-то открыл исполняемый файл в HEX редакторе и вручную исправил названия секций. Возможно для того, чтобы исполняемый файл выглядел более типично.

Также мы видим, что в BSK оставили немного служебной информации для SafeDisc из зашифрованного файла age2_x1.icd перед началом первой секции:

000fc0

И в конце файла:

292ff0

Эта информация хранится в незначащих участках файла и никак не используется игрой. Как видно, в DVD версии нет никакой служебной информации, указывающей на то, что файл ранее был защищён SafeDisc. Но в конце каждой секции есть одна маленькая зацепка:

228fe8

После работы декодера SafeDisc в конце каждой секции появляется метка в виде последовательности байт 00 05 43 1F. В исходном icd файле там нули. Поскольку это конец секции, для основной программы это также ничего не значит. В версии файла от BSK мы видим, что их никто не удалял (не мешают — и ладно). В версии с DVD мы видим, что они также никуда не делись.

Ну и самое интересное — сравним машинный код


Сразу же находим участок машинного кода, который отвечает за проверку наличия CD:

0486b8

Эта функция начинается со смещения 485A0h и я уже рассказывал о ней в статье о модификации этой игры. В ней описана достаточно сложная логика проверки наличия диска, но в результате функция просто возвращает 0 в случае неудачи и 1 в случае успеха. Я предлагал для патча заменить код всей этой здоровой функции на простую последовательность, всегда возвращающую 1:

xor	eax, eax
inc	eax
retn	4

Но в BSK подошли с душой к этому делу. Намётанный глаз и без дизассемблирования видит, что они заменили пару условных переходов jz (74h) и jnz (75h) на безусловный jmp (EBh) и ещё много чего :) Причём если дизассемблировать этот участок, можно проследить небольшой просчёт крэкера из BSK — если в реестре не будет записи с буквой диска, откуда установлена игра — код будет возвращать 0, и игра будет требовать вставить диск.

Ну а теперь самое важное — в исполняемом файле, установленном с официального коллекционного DVD, весь машинный код совпадает до байта с версией от BSK, включая (сюрприз для любителей AoC) несколько других странных патчей кода, судя по всему не относящихся к проверке диска вообще (с этим ещё предстоит разобраться):

0ff230

1eb2c0

281038

То есть не остаётся сомнений в том, что в основу исполняемого файла для коллекционного издания лёг пропатченный файл от BSK. Если говорить строго, то в нём просто убрали остатки служебной информации для SafeDisc и изменили имена секций.

И напоследок


Хочу заметить, что у меня на руках есть только официальное русское издание от «Новый Диск». Но есть все основания полагать, что и в других коллекционных изданиях проблема несовместимости игр с DVD решена подобным образом.

Данным постом я хотел лишь подчеркнуть всю комичность ситуации, когда даже официальный издатель вынужден использовать крэки, созданные вроде как «нехорошими дядями» для «нехороших целей».
Кстати да, все файлы предоставлены в ознакомительных целях. После их изучения вы обязаны их удалить.

Спасибо за внимание.
Евгений Врублевский @VEG
карма
354,0
рейтинг 0,0
Программист, реверс-инженер
Реклама помогает поддерживать и развивать наши сервисы

Подробнее
Спецпроект

Самое читаемое Разработка

Комментарии (75)

  • +31
    Какой EPIC FAIL издателей…
    • +12
      Да кому какая разница… по сути
      • +13
        Фанатов огорчает такое отношение к игре…
      • –1
        Да в общем разницы бы и не было, если бы оно работало как положено.
        А так, конечно, это не добавляет Майкрософту баллов.
      • +14
        Несомненно, убрали оригинальный инсталятор, не работает игровая музыка.
        Как раз именно такой продукт хочется немедленно купить для коллекции.
      • +1
        Странно, что кого то это удивило. Помню, когда 1С переиздавали Vice City в России, тоже был использован левый кряк.
    • +4
      Такой прикол уже не в первый раз случается…
  • 0
    Отличный прецедент, если это всплывет высоко и громко, вполне можете войти в историю, как Джон Коннор информационной эпохи, решивший все споры в судах :)
    • +3
      К сожалению, довольно типичная ситуация. Это не первый прецедент.
  • +23
    Вот ещё что интересно. Отсутствие музыки связано с тем, что оригинальное издание распространялось на Mixed-Mode CD с аудио-дорожками после первого трека с данными. На коллекционном DVD есть только wav файлы, но игра не была модифицирована для их воспроизведения. Хотя при дизассемблировании явно видно, что движок игры поддерживает также воспроизведение wav, mp3 и mid файлов, просто в коде инициализации игры параметру источника музыки явно присваивается значение, соответствующее Audio CD. Да, обычный хардкод. Я даже пробовал вручную в отладчике изменять этот параметр — и музыка во время игры начинала проигрываться с физического mp3 файла.
    То есть в коде игры уже предусмотрены необходимые фишки, и при наличии программиста на пару часов вполне можно было бы сделать шикарное коллекционное издание. Но получилось не лучше, чем у пиратов :)
    • +3
      Вполне вероятно что MS отдала работу на этим изданием кому-то, и в отведенные сроки не удалось или даже не было возможности договориться о таких вещах как сорсы и доступ кним. Или сборка проекта подразумевала некоторые априори знания который в силу хронологических причин уже утеряны.
      Да что говорить если такие выпуски это не забота о фанатах, а проявление желания срубить чуток бабла.
    • 0
      функции проигрывания audiocd весьма отличны от иных других, где есть декомпрессия или/и парсинг.
      • +1
        Это понятно. Но декодер MP3 уже встроен в игру (в нём хранится большое количество игровых диалогов), и в коде присутствует код для проигрывания фоновой музыки из MP3 и WAV файлов. Вариант проигрывания MIDI файлов остался ещё от первой части (там при отсутствии диска в приводе воспроизводилась MIDI музыка из каталога игры). То есть необходимости в полном переписывании этой части кода не было.
  • +4
    А вдруг все наоборот, и это официальный кряк от МS )
  • +8
    Кто-то не может\не хочет разбираться в своем коде месячной давности, а тут нужно было поднять репозиторий, пофиксить и перекомпилить код… какого-какого? 2000-го? «Нет уж, извольте, людских ресурсов на это выделим — 1.5 стажера, раз уж нужен релиз»
    Имхо, ведь вполне могло иметь место такое развитие мысли у руководства?
  • +54
    Регулярно случается. В бытность работая в 2003 в издателе Бука, собственноручно отвязывал HoMM3 и дополнения от дисков и патчил обращения к файлам чтобы не дублировать их на винте пользователя. Все это чтобы сделать «коллекционное» издание, которое защищали уже Starforce, который на то время был зело глючен. Причина — 3DO уже померла, все права перешли Ubisoft, никто не знал где исходники, да и вообще всем им было пофигу. Там-же наблюдал неоднократно выдачу бинарников игр, 2+ лет выпуска, скачанных из сети, со словами — «у нас только собраный мастер есть, только так». А несколько раз SecuROM и SafeDisk снимал сам, потому что и в сети таковых не было.

    А еще приходилось делать trainer-ы, дабы QA мог проверять локализацию в игре, они тогда были сложными и не каждый тестировщик долетал до середины игры самостоятельно.

    И это все в перерывах продюссирования проектов по разработке игр и управления отделом. Эх времена…
    • 0
      3DO уже померла, все права перешли Ubisoft

      Кстати да, как я понимаю издательством коллекционного издания AoE занимается как раз Ubisoft. Походу какое-то соглашение с Microsoft заключили. Так что возможно, что Ubisoft просто не хочет тревожить Microsoft лишний раз. Ну а «Новый Диск» уже с Ubisoft договаривался.
      Было бы интересно посмотреть на содержимое, например, немецкого издания. Если там будет то же самое — тогда крэкнутые версии файлов скорее всего пришли сразу от Ubisoft :)
      • +2
        Издатели работают по принципу «squeeze every penny». Они не программисты, а бизнесмены. Если есть возможость сделать что-то минимальными усилиями, это будет сделано именно так.
        Вариант 1: использовать существующий крек — не стоит практически ничего; вариант 2: раздобыть исходники, нанять (или отвлечь от чего-то) программиста на ощутимый срок для того, чтобы сделать то же самое, что и в первом варианте, но по уму (ради полутора ностальгирующих старперов).
        Тут даже нечего думать, пойдут по первому варианту.
        • 0
          Ах, да, во втором варианте программисту должно быть не все равно, как это будет сделано, либо нужен еще кто-то кому не все равно, чтобы контролировать программиста.
        • 0
          Ну хотя бы музыку починили — это было бы приятным подарком для фанатов и наверное единственным выгодным отличием от пиратских сборников. Ведь пиратские переводы для этой игры делали с душой, очевидно занимались этим фанаты для фанатов. То есть по качеству не хуже, а в чём-то даже и лучше официального.
      • 0
        В Microsoft слишком много бюрократии. Чтобы допроситься чего-либо от Microsoft 3rd party разрабу придётся потерять несколько месяцев, если запросов будет много, могут и года пройти. Тупо проще взять крэк. Увы…
  • +1
    Кстати да, я устанавливал английскую версию, поскольку оказалось, что на русский язык переведена не последняя версия игры. То есть русскоязычную версию для нормальной игры по сети нужно обязательно обновлять и затем вручную устанавливать крэк, поскольку официальный патч не признаёт диск.
  • +1
    Подобные статьи всё больше толкают к тому, чтобы серьёзно заняться реверс-инженерингом. Как же это круто.
    • 0
      Предупреждаю сразу: нужно иметь огромную усидчивость и настойчивость. Но круто, да.
    • +5
      К сожалению, многие, решившие что «реверс» это увлекательно, отваливаются после первых затянувшихся попыток… ибо в реальности это процесс медленный и достаточно муторный.
  • +1
    Великая игра. С братом до сих пор бывает запускаем и бодаемся по 5 часов к ряду.
    P.S. VEG, привет от однокурсника!
  • 0
    Так оно отвязано от диска в результате? Если я куплю это официальное издание, мне не придётся диск с собой таскать? А то что-то мне подсказывает, что мой следующий ноут, скорее всего, будет без CD-привода (а у многих, надо полагать, уже давно так). Очень порадовало, например, когда официальный патч-апдэйт к «King's Bounty: The Legend» убрал проверку наличия CD.
    • 0
      Да, всё должно быть ок
      «можно проследить небольшой просчёт крэкера из BSK — если в реестре не будет записи с буквой диска, откуда установлена игра — код будет возвращать 0, и игра будет требовать вставить диск.»
      Не стоит беспокоиться, просто предварительно сделайте и скиньте образ на жесткий диск, устанавливайте как обычную программу и можно наслаждаться
      • 0
        Ну из-за этой ошибки теряется переносимость игры. Впрочем, сделать нормальный NoCD по указанной инструкции можно и самому, взяв на вооружение подходящий exe файл :)
    • 0
      >официальный патч-апдэйт к «King's Bounty: The Legend» убрал проверку наличия CD.
      Со многими играми так, например, с первым «Ведьмаком»(правда, там в процессе патчинга надо было ввести лицензионный ключ ещё раз в инсталляторе) В Heroes 5 по-моему тоже защиту убирали, а в «Космические рейнджеры 2: Перезагрузка», (которые переиздание всего что было выпущено в этой серии, плюс небольшой адд-он) всё что есть на диске — без привязки к этому диску.
  • 0
    Т.е. получается, откопать старые исходники и скомпилировать их оказалось куда сложнее, чем руками вот так вот покопаться в .exe файле, поправить (зачем?!) имена секций и отвязать от CD (причём не самым очевидным способом). Очень как-то странно.
    • +2
      Собранные бинарники УЖЕ работают и проверены временем. А глюки, которые можно огрести, пересобирая все заново из исходников — неисчислимы. Ведь нужно восстановить окружение, в котором все это собиралось, а более новыми версиями компиляторов может и вовсе не собраться.
      • +2
        Вот, право, не понимаю.
        Выложить всё в OpenSource (отвязав от коммерческих библиотек), как ID Software, например.
        Люди бы сами портировали под нужные платформы, пересобрали в правильном окружении и вообще Happy happy happy! Joy joy joy!
        • +2
          Это да, выпуск исходных кодов этой игры был бы чудесным подарком для фанатов. Сами бы всё исправили и пофиксили. Впрочем, и сейчас фанаты этим занимаются — только правкой машинных кодов. Понятное дело, что таким образом не всё реально сделать за разумное время, но — многое всё-таки возможно.
        • +1
          Выложить в опенсорс — потерять копирайты и интеллектуальную собственность. Хотя при таком количестве клонов там уже и терять нечего.
          • 0
            Ну выложили бы иходники хотя бы по какой-нибудь очень ограничивающей лицензии, запрещающий создавать производные продукты и позволяющий использовать этот код только совместно с легальной копией всех остальных файлов игры. И денег не потеряли бы, а может даже и больше получили бы — игра регулярно бы обновлялась и собирала бы новых поклонников, которые покупали бы новые лицензии :)
            • 0
              Это же нужно заморачиваться :)
          • +1
            Права на бренд и на игровой контент(графику, музыку, персонажей, тексты...) — всё равно остаются. А вот ценность исходных кодов под большим вопросом, abandonware же… Хотя о чём я, бинарники(!) Jetpac до сих пор запрещены к распространению. По логике, кстати, права на них сейчас принадлежат Microsoft.
          • +2
            > потерять копирайты

            с какой стати? даже выкладывая код под bsd-подобной лицензией вы копирайты не теряете.

            никакого ноу-хау и супер алгоритмов в этом коде не было и на момент выпуска.

            а чтобы легально играть в порт-всё равно нужна копия игры, дата-файлы вместе с исходником никто выкладывать не будет(такую практику много лет id практикует, а там в коде есть много интересного, в отличие от aoe)
      • +2
        Нет, неправда. Там огромное количество известных ошибок, которые никто не исправляет из-за того, что в Microsoft решили больше не выпускать обновлений. И это при том, что официальная версия 1.0d с кучей исправлений и даже кое-какими новшествами уже почти была готова. Со слов одного из разработчиков (Matt Pritchard) — руководство просто пустило на тормоза выпуск новой версии и дальнейших обновлений.
        Вот ещё что интересно. Matt Pritchard сейчас вроде как работает в Valve, но к AoC у него походу какое-то особое тёплое отношение. Около года назад он пытался связаться с кем-то из старых знакомых в MS, чтобы попробовать договориться с ними о выпуске обновления для нормальной поддержки современных ОС и исправления известных багов. Бесплатно, на энтузиазме. (Я вообще не понимаю, как это он не унёс исходники домой :)). Но как оказалось, в MS не нашлось человека, который бы отвечал за старую версию игры, и поэтому ни у кого нет полномочий на такое.
        • 0
          Исходники может и унёс, но ведь он мог подписать соглашение о неразглашении и вообще, утечка исходников — пиратское дело. Мэтт не такой и всё.
          А вообще, грустно, что всем им (из MS) попросту пофиг.
          • 0
            Это да, просто отношение Microsoft к своему продукту огорчает. Игра без бубна и нелегальных (!) фанатских патчей (по лицензии изучать и править машинный код нельзя) некорректно работает на Windows Vista и выше. А Microsoft пофиг, хотя игра до сих пор продаётся в официальных магазинах.
            • +1
              зато можно запустить в wine под windows :)
          • 0
            он не просто мог, он его точно подписал. я когда ухожу из компании, удаляю весь код принадлежащий ей со своих машин. кто-нибудь его может стащить, а я буду виноват.
    • 0
      Иногда так и бывает. Доводилось патчить бинарник, исходники к которому есть, но современными компиляторами они собираются криво. Пропатчить бинарник — часа два ушло. На приведение сорцов в порядок ушла бы неделя.
    • 0
      Увы, зачастую запустить бинарник под отладчиком и просто-напросто пропатчить бывает не в пример проще и быстрее, чем разобраться в исходниках.
      Не знаю, как в коммерческих продуктах, но в кроссплатформенных OpenSource-исходниках обычно чёрт ногу сломит. Чтобы исправить какую-нибудь пустячную ошибку, могут потребоваться недели на изучение. Ведь надо как минимум вникнуть в архитектуру, способ организации проекта, а потом ещё и разобраться, как всё это собрать.
      Не говоря уж о том, что для кроссплатформенных проектов весьма характерно дублирование кода, и бажный кусок в разных вариациях может повторяться по 5-6 раз.
      Помню, как убил несколько дней на поиск бага в QtDeclarative, из-за которого MinGW отказывался делать статическую сборку — в общем, это был мрак. Подозреваю, что быстрее было бы написать утилитку, которая просто забивает неиспользуемые части динамических DLL нулями, после чего заворачивает в единый exe-файл вместе с основной программой. А потом упаковать этот exe'шник UPX'ом. Костыль? Да, причём весьма уродливый. Но всё лучше, чем с матами вникать в весьма запутанные исходники.
      Именно поэтому я весьма скептически отношусь к идее OpenSource. Если к исходникам не прилагается подробного Architecture Guide, диаграммы классов и подробнейшей инструкции по сборке со списком всех, даже самых якобы очевидных, зависимостей — я предпочту выкинуть такие исходники и запустить отладчик на пару с hex-редактором.
      • 0
        Была схожая проблема со ScummVM, в упор не видела русифицированную версию игры, просто не совпадали контрольные суммы файлов игры, думал вначале собрать из исходников, но возникла куча проблем с зависимостями, легче оказалось поправить исполняемые файлы ScummVM в HEX-редакторе.
      • 0
        В качестве успешного примера OpenSource можно привести tesseract OCR. Изначально, когда его открыли, это была просто куча кода. Непонятно было даже как его компилировать, не говоря уже о работе. А сейчас вроде ничего так, работает хоть как-то.
  • +14
    В своё время Близард (или её российские издатели) у меня упёрла распаковщик/упаковщик/редактор для Дюны. Так на лицензионном диске и шёл в коллекционном издании.
    • 0
      Вот только при чем тут Blizzard?
      • +1
        Тьфу, блин! Вествуд, конечно же :)
    • 0
      У Вас было право подать в суд на издателя за нарушение авторских прав. А если срок исковой давности не истёк, то есть и сейчас. Единственное — доказывать своё авторство в суде придётся Вам.
      • +3
        Ради чего? :) Мне не жалко. Просто удивился :)
        • 0
          Например, ради денег. Надо полагать, издатель не бесплатно диски с этим делом раздавал. Главное — не схлопотать потом встречный иск по части обратной разработки формата игровых файлов.
          • +2
            Фыр. Это во-первых, мелочно, и богомерзко Во-вторых, я хоть и за платный софт, но и за открытый. В-третьих, оно мне даром не нужно было — написал, побаловался и забыл.
    • +7
      Расскажите подробней историю, интересно.
      • +13
        Когда, когда интернет был роскошью, все сидели на BBS, а Dune 2 была модной игрушкой, стало мне скучно. Расковырял формат их файла и написал консольную утилитку под DOS — распаковщик/упаковщик и кое-какой простенький редактор. Если ресурсы распаковать и правильно сложить в папку с игрой, то игра брала внешние. А там графика, сценарии и т.п.
        Ну, написал и написал — поигрались с друзьями и успокоились. Потом появились неофициальные всякие моды на Дюну (там где можно было за императора играть, скрипты ИИ попатченые и тому подобное).
        Где-то через год решил я купить лицензионный диск с игрой — на память. Благо, что стали появляться русские издатели.
        Купил. Коллекционное издание и вся фигня. Там игра, и какие-то бонусы.
        Среди бонусов — экзешник для распаковки/упаковки (то ли dpak.exe то ли dunpak — он ещё с опечаткой назван) и ещё несколько. Батнички всякие к этому всему. Я ещё удивился, что как-то странно сделано — где это видано, чтобы такой матёрой студии утилита никаких копирайтов не выводила? А потом осенило — так это же моё родное!
        Она никаких копирайтов не выводило, только по ключу, который в справке не был упомянут. Как сейчас помню "/sap". Набрал, а оно мне "© -=Sap=- 199x"
        Потом посмотрел, а всякие моды тоже на этой утилите сделаны.
        Удивился :) Как оно туда попало — науке не понятно.
        К сожалению ни диска ни утилиты на данный момент не сохранилось (хотя скорее всего, исходники утилиты где-то на старых компакт-дисках лежат).
        Скорее всего выпендрился российский издатель. У Вествуда и свой инструментарий должен был быть.
        • 0
          Странно, а Dune 2 вообще издавалась в России? По-моему, в 90-е редкие экземпляры лицензионных зарубежных игр были импортными.
          • 0
            Со второй половины 90-х начали появляться лицензии. Я тогда ещё дисками торговал. Но на одну лицензию те же издатели клепали сотню пиратских дисков. Уж не знаю в каких отношениях сами издатели были с оригинальными авторами, но тем не менее :)
        • +3
          респект, ко мне ваша утилита попала когда-то на пятидюймовых дискетах ещё. модем был на 1200, на ббс если и дозвонишься ничего не скачаешь:)
  • 0
    Я думаю что дело в том что разработчики у игры были одни, например у первой версии Age of Empires это были Ensemble Studios, Big Huge Games, Robot Entertainment, а вот издателем был микрософт, то есть скорее всего микрософты и в глаза не видели никаких исходных кодов.
    Да и это нетривиальная задача-через 10 лет пересобрать большой объем кода. Врятли он соберется на современных средствах разработки, получается надо делать ту среду, где его разрабатывали, искать 3rd party редкие и тому подобное. Так что выглядит вполне логичным найти в нете работающий exe и его заюзать
    • 0
      Разработкой Age of Empires I и II занималась Ensemble Studios (которая принадлежала Microsoft). Она была расформирована в 2009 году, а в 2007 году (когда вышло коллекционное издание) она вполне себе существовала и занималась разработкой Age of Empires III и Halo Wars.
    • 0
      Есть хорошая практика на крупных проектах держать все у себя в каком-нибудь хранилище… Это и 3rd party, и инсталляторы тулзов и документация и так далее. А среду восстановить не выглядит большой проблемой.

      Хотя не факт что разработчки из Ensemble сделовали этим правила.
  • +1
    Забавно. В свое время пиратские локализаторы (в частности, 7-й волк) ставили свою защиту на крякнутые файлы в виде проверки диска и простенького протектора. А сейчас уже официальные издатели отучают игры от диска или даже используют чужие NoCD.
  • +1
    Было бы весело со стороны авторов крека подать иск в сторону Микрософт на тему защиты интеллектуальной собственности ;) Типа да, мы сами ломали, но мы же не наживались на вашем труде. А коллекционное издание с нашим кодом вы продаёте за балабосы.
  • +1
    в свое время встречал такие сюрпризы во многих лицензионных играх. В частности попадались и «лицензии» от 1С с крэками от RAZOR. Были интересные моменты в методе локализации в одной из последних «Цивилизаций». перехват и корректировка текста с коррекцией в юникод была напрямую вписана в крэк, но это сделали корявенько, пришлось дорабатывать чтобы сохранялось на машинах с русским именем профиля.
  • 0
    В издании GTA: San Andreas от 1C (русское издание) было тоже самое.
  • 0
    А мне вспомнилась игра «Космические Рейнджеры 2: Доминаторы», сначала я покупал обычную версию на 2CD, где был StarForce. Потом через время вышла дополненная «Космические Рейнджеры 2: Перезагрузка» на DVD с первой частью, я тоже её купил и был рад, что там не было защиты. Затем вышло бесплатное дополнение «Революция» где добавлено много чего и до сих пор кто-то работает над ней.
    • +4
      Да, мы работаем до сих пор, есть такое.

      На самом деле, проблем с пересборкой было бы, я думаю, не настолько много: у КР тоже код бородатый, при этом весьма и весьма кривой, но сравнительно без геммороя на XE2 её собрать всё-таки удалось. Планетарные бои же после лёгкой правки проекта и вовсе собираются в чём угодно, от Visual Studio 2012 до mingw.
    • 0
      Elemental Games / Katauri Games до сих пор проводят политику удаления защиты. Ума не приложу, чего им стоит уболтать издателя на такое. Жаль, что Катаури сейчас делают скучную онлайновую гриндилку вместо былых шедевров. Но на шедеврах денег не заработаешь.
  • 0
    Теперь надо Майкрософт засудить за обход ДРМ.)
  • 0
    Наши локализаторы частенько подобным грешат :) Встречал подобное(использование крэков) на локализации Max Payne от 1С.
  • НЛО прилетело и опубликовало эту надпись здесь
  • 0
    Неоднократно слышал о случаях, когда в официальном саппорте рекомендуют скачать пиратский nocd. Иногда это единственное спасение при криво написанной защите.
    • 0
      У меня другу даже присылали какой-то NoCD (не вспомню что за игра была, но проблема была именно в StarForce, а я с тех пор обходил стороной всякие StarForce), а не рекомендовали скачать. Но мы тогда не искали от кого этот NoCD был — вдруг официальный?

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