я тут на волне ностальгии о хуках про dx10
начал понемногу разбирать ресурсы игры и отслеживать импорт и экспорт функций (в свободное время пишу свой редактор PE заголовка с разбором всех таблиц и прочего для последующего применения в крекинге) и накопал откуда ноги растут у графического api.
если есть у кого-то возможность проверить запустится ли игра на dx10 видеокарте, проверьте пожалуйста
http://rgho.st/8rgD5gQGy импорт d3d11.dll осуществляется из materialsystem_dx11.dll расположенной в папке Titanfall 2\bin\x64_retail нужно заменить оригинальную на модифицированную.
изначально естественно стояло значение B000 (что соответствует уровню аппаратной поддержки D3D_FEATURE_LEVEL_11_0), я поменял его на A000 (D3D_FEATURE_LEVEL_10_0) игра запустилась нормально, но и запустил то я её на dx11 видеокарте.
далее поменял значение на C000 (это уже D3D_FEATURE_LEVEL_12_0) и тут игра ругнулась соответствующим предупреждением о необходимости dx11 видеокарты. Значение проверяется в compare функции и если оно не подходит предпочтительному (которое лежит в операнде lea) происходит условный переход на вышеупомянутый message.
короче, если не получится по легкому обойти, уберу тогда ещё и условный переход, чтобы не было проверки на операнд.
сам проверить не могу (есть бук с dx10 видюхой, но там семерка 32 битная), минимум завтра на работе только смогу, но хочется уже сейчас посмотреть на результат)
Добавлено вариант с убранными переходами (код выполняется на прямую без всяких условий)
http://rgho.st/6lHyXrXR7 опять же на dx11 работает, на dx10 на одном компе вылет на загрузке 430МБ памяти, на втором дампит на 93МБ (компы говно с интеловской графикой, так что не удивительно).