на главную
об игре
Gears of War 09.11.2006

Gears of War: Ultimate Edition

Попробовал сделать развёртывание (как Quantum Break), естественно не получилось. Начал искать причину, но так и не понял почему QB развёртывается и запускается, а Gears нет.
Для теста попытался таким же способом развернуть и запустить Forza 6, скаченную с Магазина. Результат тот же, что и с Gears - развёртывание проходит, а при попытке запуска игра моментально закрывается без каких либо крешей.
Переделывал AppManifest под QB (и для Gears и для Forza 6), чуть в сторону (строку такую же как и в манифесте QB) и развёртывание крешится.
В общем я понятия не имею родной ли AppManifest для QB, или его тоже каким-то образом пересобирали (что скорее всего именно так), и если пересобирали, то по такому же принципу нужно собрать манифест и для Gears, и возможно удастся запустить игру.

Комментарии: 5
Ваш комментарий

Я тоже пробовал. Тоже очень интересовался, почему всё-таки Квантум удалось взломать, а Гирзу до сих пор нет. В чём же секрет? Но на просторах интернета ответа так и не нашёл. Тайна, покрытая мраком. Квантум взломал вроде один чел под ником Disyer, надо у него спросить может или он возьмёт эту тайну с собой в могилу. Я, кстати, очень рад, что хоть кто-то ещё кроме меня этим интересуется, а то думал, что уже всё. Удачи тебе, чувак. Делись в этой теме своими достижениями, если что вдруг. Я тоже буду пытаться что-нибудь выяснить.

2

x[GAMER]x
пока самое главное отличие это как раз манифест. У Gears и у Forza 6 они схожи:
Windows.Universal
ActivatableClass
windows.protocol

в то время как у QB это:
Windows.Desktop
ActivatableClass вообще нет
windows.protocol организован по другому

Думаю дело как раз в платформе. Уж не знаю модификация это какая-то, или разрабы неосознанно допустили этот эксплойт, указав при сборке целевую платформу как Desktop, тем самым "частично" отвязав игру от UWP что и позволило в итоге её запустить. Ясно одно - надо побольше узнать об UWP, принцип работы, написать несколько тестовых программ. Только времени на всё не хватает, сейчас драйвером занимаюсь (kernel mode display-only miniport driver). Создал инструменты разработчика MantleSDK (то, что AMD так и не сделала) из официального руководства (если кому интересно мой репозиторий на гитхабе https://github.com/tesla707/Mantle ), теперь хочу адаптировать и интегрировать данный API в драйвер Intel видеокарт (хотя бы инициализацию).

1

tesla707
Спасибо за информацию, узнал много нового. Я тут тоже кое-что нашёл. В документе AppManifest у Gears of War: Ultimate Edition есть строчка какого-то ключа, а в документе Quantum Break этой строчки нет. Подскажи, это существенное различие или очередная мелочь?

0

x[GAMER]x
на самом деле это строка была и в QB (в самых первых раздачах). При развёртывании её рекомендовали удалять, поэтому её нет нигде.
AppManifest это своеобразная карта, которая указывает на некоторые ключи (даже не знаю как это лучше назвать) при интеграции что ли приложения в UWP.
тут чтобы понять всё это, сперва нужно разобраться с понятиям загрузчика данных в память. Для того, чтобы сделать программу выполнимой, её исходный код должен быть обработан транслятором (компилятором), который преобразует текст языка программирования в машинный код. Машинные коды команд процессора представляют собой числа, в которых содержится информация о роде выполняемой операции (сложение, пересылка, проверка и т.д.), а также о местоположении используемых в данной команде операндов. В ряде случаев в код команды включаются сами операнды. Для того чтобы программа могла выполниться, её следует загрузить с диска в память и передать ей управление. Операционная система найдёт файл программы, загрузит его в память и сообщит процессору адрес первой команды. С этого момента процессор начинает последовательно выполнять команды загруженной программы.

так вот UWP, отчасти, выполняет роль загрузчика. Экзешник игры не может самостоятельно запуститься, т.к. имеет отличную от Win32 РЕ-структуру, т.е. стандартный загрузчик просто не понимает этот файл (это тоже самое, что пытаться запустить линуксовский или mac os исполняемый файл в windows). UWP и есть связующее звено между машинным кодом экзешника и загрузчиком.

При создании универсальных Windows-приложений (UWP) используется технология .NET Native - компиляция IL-библиотек с управляемым кодом в нативные библиотеки.
При сборке проекта в режиме отладки, используется IL-код поверх CoreCLR, упакованного в приложение. Системные сборки .NET добавляются к коду приложения, и приложение учитывает зависимость от пакета Microsoft.NET.CoreRuntime (CoreCLR).
При сборке проекта в режим релиза, по умолчанию, приложение начинает использовать цепочку сборки .NET Native. Так как пакет компилируется в машинный код, более не требуется, чтобы пакет содержал библиотеки .NET-фреймворка. В дополнение, пакет теперь зависит от свежей версии .NET Native среды – в отличие от пакета CoreCLR.
Значительное изменение в привычном подходе в результате перехода на .NET Native – это создание пакета для Магазина.
Одна из ключевых возможностей .NET Native заключается в том, что компилятор может работать в облаке.
Когда собирается манифест для Магазина, создаются два пакета: .appxupload для Магазина и “тестовый” .appx для локальной установки.
Пакет .appxupload содержит MSIL-сборки, а также явные отсылки на версию .NET Native, используемую приложением (указано в AppxManifest.xml).
Далее этот пакет отправляется в Магазин и компилируется с использованием той же версии цепочки компиляции .NET Native.
2

tesla707
Смотри, что я нашёл. В одной группе продают наподобие оффлан-активаций игр с Denuvo. Походу у этого Windows Store до жути тупая защита, её облапошить как нефиг делать. Может просто найти любого владельца лицензии, затем найти файл, отвечающий за лицензию, попросить копию этого файла и вшить его в папку с игрой или какую-либо другую, возможно даже немного поманипулировать с ним, если что. Или тупо сделать бекап каких-либо папок/файлов с ПК владельца лицензии. Чтобы точь-в-точь как в этом методе игра думала, что это мы купили игру и привязывала её к нашему компьютеру, но только без дачи доступа к нашему ПК кому-либо через какие-либо удалённые доступы/программы, захода на свой аккаунт на нашем ПК владельца лицензии и т.д. и т.п. Как тебе такая идея? Не хочешь рассмотреть её как-нибудь на досуге, когда будет свободное время?

1