★★★ Novice
февраля 2020
Не запускается Mass Effect-1. При нажатии на иконку лаунчера ничего не происходит. Какое-то время крутится символ загрузки и на этом всё. Никаких ошибок не отображается на экране. Последние обновления Windows-10 в системе установлены.
Запуск в режиме совместимости, а так же запуск от имени администратора положительных результатов не привело.
Сообщение 1 из 15
(3 847 просмотров)
★★★ Novice
марта 2020
@beetle_rus Спасибо, разобрался. Чтобы запустилась игра Mass Effect-1 необходимо приложение Origin так же запускать от имени «Администратора». Еще обратил внимание, что играя в Mass Effect-1, в Origin лучше отключить оверлей, так как, во время батальных сцен игра жутко начинает просидать по FPS и на экране происходит все рывками.
Сообщение 5 из 15
(3 765 просмотров)
Hero
марта 2020
@yojind
Дисковое или цифровое издание?
Сообщение 2 из 15
(3 789 просмотров)
★★★ Novice
Сообщение 3 из 15
(3 779 просмотров)
Hero
марта 2020
@yojind
Дайте отчет MSINFO.
Сообщение 4 из 15
(3 774 просмотров)
★★★ Novice
марта 2020
@beetle_rus Спасибо, разобрался. Чтобы запустилась игра Mass Effect-1 необходимо приложение Origin так же запускать от имени «Администратора». Еще обратил внимание, что играя в Mass Effect-1, в Origin лучше отключить оверлей, так как, во время батальных сцен игра жутко начинает просидать по FPS и на экране происходит все рывками.
Сообщение 5 из 15
(3 766 просмотров)
★★★ Novice
марта 2020
@yojind У тебя заработала игра ? Поможешь если не сложно ?
Сообщение 6 из 15
(3 659 просмотров)
★★★ Novice
марта 2020
Попробую. Опиши проблему.
Сообщение 7 из 15
(3 640 просмотров)
★★★ Novice
марта 2020
@yojind Ну попробуем . Купил через origin ее, скачал вроде всё норм, Нажимаю играть , только перезагрузка origin происходит И все . Пытался и от имени админа зайти и менял совместимости не знаю что делать ещё. Даже отчёт этот какой то сделал только как прикрепить его в сообщении чтобы тут админ увидел может в чем проблема
Сообщение 8 из 15
(3 631 просмотров)
★★★ Novice
марта 2020
@demon123454231 Попробуй следующие действия:
1. Запусти Origin от имени «Администратора»;
2. Запусти само приложение MassEffect от имени администратора, только не запускай его через лаунчер Origin, а запусти его из папки установленной игры.
Сообщение 9 из 15
(3 622 просмотров)
★★★ Novice
марта 2020
— последнее изменение
марта 2020
@demon123454231
В Origin нажми правой кнопкой мыши на Mass Effect (в библиотеке), выбери пункт «Обновить игру» и жди окончание процесса, если не поможет напиши, я тебе подробно распишу что да как дальше делать.
Сообщение 10 из 15
(3 597 просмотров)
В последнее время многие пользователи Windows 10 столкнулись с проблемой, когда при попытке установки игры Mass Effect на своем компьютере появляется сообщение об ошибке. Эта проблема возникает из-за несовместимости игры с новой операционной системой. Несмотря на то, что данная игра уже устарела, многие люди всё ещё любят играть в нее и желают решить данную проблему. Есть несколько способов, которые могут помочь вам решить проблему с установкой игры Mass Effect на Windows 10.
В этой статье мы рассмотрим несколько простых решений для устранения проблемы с установкой игры Mass Effect на Windows 10. Прежде чем перейти к решениям проблемы, рекомендуется проверить системные требования игры. Убедитесь в том, что ваш компьютер соответствует минимальным требованиям игры.
Если у вас есть необходимые системные требования, а установка игры Mass Effect всё ещё вызывает проблемы, то продолжайте чтение, чтобы узнать решение данной проблемы.
Содержание
- Проверьте требования к системе
- Удалите антивирусное программное обеспечение
- Отключите защитник Windows
- Используйте совместимость с Windows 7
- Установите игру от имени администратора
- Вопрос-ответ
- Какие причины могут быть, если Mass Effect не устанавливается на Windows 10?
- Как установить Mass Effect на Windows 10?
- Какие версии Mass Effect совместимы с Windows 10?
- Не запускается Mass Effect после установки. Что делать?
- Какие дополнительные программы могут помочь при установке Mass Effect на Windows 10?
- Можно ли запустить Mass Effect на Windows 10 без проблем?
Проверьте требования к системе
Перед установкой Mass Effect на Windows 10 обязательно проверьте, соответствует ли ваша система требованиям игры. Несоответствие системы требованиям может привести к проблемам с установкой и игрой в целом.
Для установки Mass Effect на Windows 10 необходимо иметь операционную систему Windows XP, Vista или 7, 1.8 ГГц процессор, 1 ГБ оперативной памяти, 128 МБ видеопамяти и 12 ГБ свободного места на жестком диске.
Если ваша система не соответствует данным требованиям, то перед установкой Mass Effect необходимо обновить компьютер. Для обновления системы можно воспользоваться специальными программами или обратиться к профессионалам.
Если вы уверены, что ваша система соответствует требованиям, но установка Mass Effect все равно не проходит, то проблема может быть связана с ошибками в реестре, отсутствием необходимых драйверов и т. д. В таком случае необходимо провести глубокую диагностику компьютера и решить проблему.
Удалите антивирусное программное обеспечение
Если во время установки Mass Effect на Windows 10 возникают проблемы, вероятно, причина кроется в антивирусном программном обеспечении. Некоторые антивирусы могут блокировать установку игры, поэтому имеет смысл временно отключить свой антивирус на время установки.
Чтобы отключить антивирус, откройте его окно управления и найдите пункт «временно выключить антивирус». В зависимости от вида антивируса, этот параметр может называться по-разному.
Если отключение антивируса не помогает, попробуйте удалить его полностью с компьютера. Для этого зайдите в «Панель управления», перейдите в раздел «Программы и компоненты» и найдите свой антивирус в списке программ. Выберите его и нажмите на кнопку «удалить». Следуйте инструкциям на экране, чтобы завершить удаление.
Помните, что после того, как вы удалите антивирус, ваш компьютер станет уязвимым для вирусов и других угроз из сети. Поэтому не забудьте установить на свой компьютер новый антивирусный софт, как только завершите установку Mass Effect, и обновите его до последней версии.
Отключите защитник Windows
Если у вас возникла проблема с установкой Mass Effect на Windows 10, причиной может быть защитник Windows. Он может заблокировать установочные файлы игры, считая их потенциально опасными для вашего устройства. Чтобы решить эту проблему, вы можете отключить защитник Windows временно. Для этого выполните следующие шаги:
- Откройте настройки защитника Windows. Нажмите «Пуск», введите «защитник Windows» и выберите соответствующий пункт.
- Выберите «Управление настройками защитника Windows». Нажмите на соответствующую ссылку в настройках защитника Windows.
- Отключите защитник Windows. В разделе «Управление настройками защитника Windows» вы найдете опции для отключения разных функций защитника. Отключите все функции и сохраните изменения.
После выполнения этих шагов вы сможете попробовать установить Mass Effect на Windows 10 еще раз. Если проблема не устранится, вы можете вернуть настройки защитника Windows на место или обратиться за помощью к специалистам.
Используйте совместимость с Windows 7
Если вы столкнулись с проблемой установки Mass Effect на Windows 10, то попробуйте включить совместимость с операционной системой Windows 7.
Для этого выполните следующие действия:
- Нажмите правой кнопкой мыши на ярлык установщика Mass Effect и выберите «Свойства».
- Перейдите на вкладку «Совместимость».
- Установите флажок на опции «Запустить программу в режиме совместимости с:» и выберите Windows 7 в выпадающем списке.
- Нажмите кнопку «Применить» и «ОК».
После этого запустите установщик Mass Effect и следуйте инструкциям на экране. Совместимость с Windows 7 может решить проблемы с установкой игры на Windows 10.
Установите игру от имени администратора
Если Mass Effect не устанавливается на Windows 10, то одним из решений проблемы может быть запуск установщика от имени администратора. Это может помочь игре успешно установиться без ошибок.
Чтобы запустить установку от имени администратора, нужно найти файл установщика игры на компьютере, нажать на него правой кнопкой мыши и выбрать пункт «Запустить от имени администратора». При этом может быть запрошено подтверждение, что вы хотите разрешить запуск установщика с правами администратора.
Если после запуска установки от имени администратора игра все еще не устанавливается, то возможно, что проблема заключается в сочетании режима совместимости Windows и настроек защитника Windows. Попробуйте изменить режим совместимости на Windows 7 или Windows XP и отключить временно защитник Windows, чтобы проверить, сработает ли установка игры в этом случае.
Вопрос-ответ
Какие причины могут быть, если Mass Effect не устанавливается на Windows 10?
Проблема может быть связана с несовместимостью игры с ОС, наличием ошибок в игровых файлах, неправильными настройками системы, недостаточным объемом оперативной памяти или проблемами с драйверами.
Как установить Mass Effect на Windows 10?
Для установки игры на Windows 10 следует запустить ее установочный файл от имени администратора. Если первые попытки не привели к успеху, попробуйте переустановить Microsoft Visual C++ и DirectX, проверить целостность файлов игры через Steam или Origin, либо воспользоваться специальными программами по исправлению ошибок в ОС.
Какие версии Mass Effect совместимы с Windows 10?
Mass Effect 1, 2 и 3 полностью совместимы с Windows 10. Версии 1.02, 1.03 и 1.05 должны работать корректно, но могут потребоваться дополнительные настройки и исправления ошибок, особенно при использовании модов.
Не запускается Mass Effect после установки. Что делать?
В этом случае, сначала стоит проверить наличие обновлений для игры и драйверов системы. Если проблема не решается, попробуйте запустить игру в режиме совместимости с предыдущими версиями Windows, отключите антивирусное программное обеспечение или попробуйте запустить игру в оконном режиме.
Какие дополнительные программы могут помочь при установке Mass Effect на Windows 10?
Для исправления ошибок типа «0xc000007b» рекомендуется установить Microsoft Visual C++ Redistributable Package (x86 и x64), Microsoft .NET Framework, а также драйверы для графической карты на сайте производителя.
Можно ли запустить Mass Effect на Windows 10 без проблем?
Да, игра работает на Windows 10 без проблем, но предпочтительнее использовать последние версии игры и драйверов, проверить целостность файлов и использовать современное оборудование.
Содержание
- Mass Effect → Решение проблем
- Решение проблем Mass Effect
- Решение проблем в Mass Effect — не устанавливается? Не запускается? Тормозит? Вылетает? Лагает? Ошибка? Не загружается?
- Что сделать в первую очередь
- Системные требования Mass Effect
- Файлы, драйверы и библиотеки
- Mass Effect не скачивается. Долгое скачивание. Решение
- Mass Effect не устанавливается. Прекращена установка. Решение
- Mass Effect не запускается. Ошибка при запуске. Решение
- В Mass Effect черный экран, белый экран, цветной экран. Решение
- Mass Effect вылетает. В определенный или случайный момент. Решение
- Mass Effect зависает. Картинка застывает. Решение
- Mass Effect тормозит. Низкий FPS. Просадки частоты кадров. Решение
- Mass Effect лагает. Большая задержка при игре. Решение
- В Mass Effect нет звука. Ничего не слышно. Решение
- В Mass Effect не работает управление. Mass Effect не видит мышь, клавиатуру или геймпад. Решение
- Mass Effect, скачанная с торрента не работает. Решение
- Mass Effect выдает ошибку об отсутствии DLL-файла. Решение
- Исправляем кривой запуск первого Mass Effect
- Часть 1
- Сигнатуры файлов
- Исправление
- Часть 2
- Mass Effect на PC: что ожидать от порта с консолей середины 2000-х
- Ух ты, PhysX, моя любимая библиотека физики!
- Проблема PhysXLoader.dll компании Epic Games в том, что она может загружать PhysXCore.dll локально или из установленной в систему версии
- Вероятно, не стоит называть значения реестра «hack»
- MAC-адрес, сохраняемый в реестр файлом MassEffect.exe, считывается библиотекой PhysXLoader.dll и сравнивается с MAC-адресом вашей системы, чтобы определить, нужно ли загружать библиотеки PhysX из локальной папки или из системной.
- Находим начальную точку
- Вскрываем PhysXLoader.dll
- Патчим худшую в мире проверку boolean
- Недостатки
- Получившееся поведение
Mass Effect → Решение проблем
Решение проблем Mass Effect
Решение проблем в Mass Effect — не устанавливается? Не запускается? Тормозит? Вылетает? Лагает? Ошибка? Не загружается?
К сожалению, в играх бывают изъяны: тормоза, низкий FPS, вылеты, зависания, баги и другие мелкие и не очень ошибки. Нередко проблемы начинаются еще до начала игры, когда она не устанавливается, не загружается или даже не скачивается. Да и сам компьютер иногда чудит, и тогда в Mass Effect вместо картинки черный экран, не работает управление, не слышно звук или что-нибудь еще.
Что сделать в первую очередь
Системные требования Mass Effect
Второе, что стоит сделать при возникновении каких-либо проблем с Mass Effect, это свериться с системными требованиями. По-хорошему делать это нужно еще до покупки, чтобы не пожалеть о потраченных деньгах.
Минимальные системные требования Mass Effect:
Windows XP, Процессор: Pentium 4, 1 Gb ОЗУ, 12 Gb HDD, nVidia GeForce 6800GT
Каждому геймеру следует хотя бы немного разбираться в комплектующих, знать, зачем нужна видеокарта, процессор и другие штуки в системном блоке.
Файлы, драйверы и библиотеки
Практически каждое устройство в компьютере требует набор специального программного обеспечения. Это драйверы, библиотеки и прочие файлы, которые обеспечивают правильную работу компьютера.
Начать стоит с драйверов для видеокарты. Современные графические карты производятся только двумя крупными компаниями — Nvidia и AMD. Выяснив, продукт какой из них крутит кулерами в системном блоке, отправляемся на официальный сайт и загружаем пакет свежих драйверов:
Обязательным условием для успешного функционирования Mass Effect является наличие самых свежих драйверов для всех устройств в системе. Скачайте утилиту Driver Updater, чтобы легко и быстро загрузить последние версии драйверов и установить их одним щелчком мыши:
Фоновые процессы всегда влияют на производительность. Вы можете существенно увеличить FPS, очистив ваш ПК от мусорных файлов и включив специальный игровой режим с помощью программы Advanced System Optimizer
Mass Effect не скачивается. Долгое скачивание. Решение
Скорость лично вашего интернет-канала не является единственно определяющей скорость загрузки. Если раздающий сервер работает на скорости, скажем, 5 Мб в секунду, то ваши 100 Мб делу не помогут.
Если Mass Effect совсем не скачивается, то это может происходить сразу по куче причин: неправильно настроен роутер, проблемы на стороне провайдера, кот погрыз кабель или, в конце-концов, упавший сервер на стороне сервиса, откуда скачивается игра.
Mass Effect не устанавливается. Прекращена установка. Решение
Перед тем, как начать установку Mass Effect, нужно еще раз обязательно проверить, какой объем она занимает на диске. Если же проблема с наличием свободного места на диске исключена, то следует провести диагностику диска. Возможно, в нем уже накопилось много «битых» секторов, и он банально неисправен?
В Windows есть стандартные средства проверки состояния HDD- и SSD-накопителей, но лучше всего воспользоваться специализированными программами.
Но нельзя также исключать и вероятность того, что из-за обрыва соединения загрузка прошла неудачно, такое тоже бывает. А если устанавливаете Mass Effect с диска, то стоит поглядеть, нет ли на носителе царапин и чужеродных веществ!
Mass Effect не запускается. Ошибка при запуске. Решение
Mass Effect установилась, но попросту отказывается работать. Как быть?
Выдает ли Mass Effect какую-нибудь ошибку после вылета? Если да, то какой у нее текст? Возможно, она не поддерживает вашу видеокарту или какое-то другое оборудование? Или ей не хватает оперативной памяти?
Помните, что разработчики сами заинтересованы в том, чтобы встроить в игры систему описания ошибки при сбое. Им это нужно, чтобы понять, почему их проект не запускается при тестировании.
Обязательно запишите текст ошибки. Если вы не владеете иностранным языком, то обратитесь на официальный форум разработчиков Mass Effect. Также будет полезно заглянуть в крупные игровые сообщества и, конечно, в наш FAQ.
Если Mass Effect не запускается, мы рекомендуем вам попробовать отключить ваш антивирус или поставить игру в исключения антивируса, а также еще раз проверить соответствие системным требованиям и если что-то из вашей сборки не соответствует, то по возможности улучшить свой ПК, докупив более мощные комплектующие.
В Mass Effect черный экран, белый экран, цветной экран. Решение
Проблемы с экранами разных цветов можно условно разделить на 2 категории.
Во-первых, они часто связаны с использованием сразу двух видеокарт. Например, если ваша материнская плата имеет встроенную видеокарту, но играете вы на дискретной, то Mass Effect может в первый раз запускаться на встроенной, при этом самой игры вы не увидите, ведь монитор подключен к дискретной видеокарте.
Во-вторых, цветные экраны бывают при проблемах с выводом изображения на экран. Это может происходить по разным причинам. Например, Mass Effect не может наладить работу через устаревший драйвер или не поддерживает видеокарту. Также черный/белый экран может выводиться при работе на разрешениях, которые не поддерживаются игрой.
Mass Effect вылетает. В определенный или случайный момент. Решение
Играете вы себе, играете и тут — бац! — все гаснет, и вот уже перед вами рабочий стол без какого-либо намека на игру. Почему так происходит? Для решения проблемы стоит попробовать разобраться, какой характер имеет проблема.
Если вылет происходит в случайный момент времени без какой-то закономерности, то с вероятностью в 99% можно сказать, что это ошибка самой игры. В таком случае исправить что-то очень трудно, и лучше всего просто отложить Mass Effect в сторону и дождаться патча.
Однако если вы точно знаете, в какие моменты происходит вылет, то можно и продолжить игру, избегая ситуаций, которые провоцируют сбой.
Однако если вы точно знаете, в какие моменты происходит вылет, то можно и продолжить игру, избегая ситуаций, которые провоцируют сбой. Кроме того, можно скачать сохранение Mass Effect в нашем файловом архиве и обойти место вылета.
Mass Effect зависает. Картинка застывает. Решение
Ситуация примерно такая же, как и с вылетами: многие зависания напрямую связаны с самой игрой, а вернее с ошибкой разработчика при ее создании. Впрочем, нередко застывшая картинка может стать отправной точкой для расследования плачевного состояния видеокарты или процессора.Так что если картинка в Mass Effect застывает, то воспользуйтесь программами для вывода статистики по загрузке комплектующих. Быть может, ваша видеокарта уже давно исчерпала свой рабочий ресурс или процессор греется до опасных температур?Проверить загрузку и температуры для видеокарты и процессоров проще всего в программе MSI Afterburner. При желании можно даже выводить эти и многие другие параметры поверх картинки Mass Effect.Какие температуры опасны? Процессоры и видеокарты имеют разные рабочие температуры. У видеокарт они обычно составляют 60-80 градусов по Цельсию. У процессоров немного ниже — 40-70 градусов. Если температура процессора выше, то следует проверить состояние термопасты. Возможно, она уже высохла и требует замены.Если греется видеокарта, то стоит воспользоваться драйвером или официальной утилитой от производителя. Нужно увеличить количество оборотов кулеров и проверить, снизится ли рабочая температура.
Mass Effect тормозит. Низкий FPS. Просадки частоты кадров. Решение
Один из них — специальная программа под названием Advanced System Optimizer. Она сделана специально для тех, кто не хочет вручную вычищать компьютер от разных временных файлов, удалять ненужные записи реестра и редактировать список автозагрузки. Advanced System Optimizer сама сделает это, а также проанализирует компьютер, чтобы выявить, как можно улучшить производительность в приложениях и играх.
Скачать Advanced System Optimizer
Mass Effect лагает. Большая задержка при игре. Решение
Многие путают «тормоза» с «лагами», но эти проблемы имеют совершенно разные причины. Mass Effect тормозит, когда снижается частота кадров, с которой картинка выводится на монитор, и лагает, когда задержка при обращении к серверу или любому другому хосту слишком высокая.
Именно поэтому «лаги» могут быть только в сетевых играх. Причины разные: плохой сетевой код, физическая удаленность от серверов, загруженность сети, неправильно настроенный роутер, низкая скорость интернет-соединения.
Впрочем, последнее бывает реже всего. В онлайн-играх общение клиента и сервера происходит путем обмена относительно короткими сообщениями, поэтому даже 10 Мб в секунду должно хватить за глаза.
В Mass Effect нет звука. Ничего не слышно. Решение
Mass Effect работает, но почему-то не звучит — это еще одна проблема, с которой сталкиваются геймеры. Конечно, можно играть и так, но все-таки лучше разобраться, в чем дело.
Сначала нужно определить масштаб проблемы. Где именно нет звука — только в игре или вообще на компьютере? Если только в игре, то, возможно, это обусловлено тем, что звуковая карта очень старая и не поддерживает DirectX.
Если же звука нет вообще, то дело однозначно в настройке компьютера. Возможно, неправильно установлены драйвера звуковой карты, а может быть звука нет из-за какой-то специфической ошибки нашей любимой ОС Windows.
В Mass Effect не работает управление. Mass Effect не видит мышь, клавиатуру или геймпад. Решение
Как играть, если невозможно управлять процессом? Проблемы поддержки специфических устройств тут неуместны, ведь речь идет о привычных девайсах — клавиатуре, мыши и контроллере.Таким образом, ошибки в самой игре практически исключены, почти всегда проблема на стороне пользователя. Решить ее можно по-разному, но, так или иначе, придется обращаться к драйверу. Обычно при подключении нового устройства операционная система сразу же пытается задействовать один из стандартных драйверов, но некоторые модели клавиатур, мышей и геймпадов несовместимы с ними.Таким образом, нужно узнать точную модель устройства и постараться найти именно ее драйвер. Часто с устройствами от известных геймерских брендов идут собственные комплекты ПО, так как стандартный драйвер Windows банально не может обеспечить правильную работу всех функций того или иного устройства.Если искать драйверы для всех устройств по отдельности не хочется, то можно воспользоваться программой Driver Updater. Она предназначена для автоматического поиска драйверов, так что нужно будет только дождаться результатов сканирования и загрузить нужные драйвера в интерфейсе программы.Нередко тормоза в Mass Effect могут быть вызваны вирусами. В таком случае нет разницы, насколько мощная видеокарта стоит в системном блоке. Проверить компьютер и отчистить его от вирусов и другого нежелательного ПО можно с помощью специальных программ. Например NOD32. Антивирус зарекомендовал себя с наилучшей стороны и получили одобрение миллионов пользователей по всему миру. ZoneAlarm подходит как для личного использования, так и для малого бизнеса, способен защитить компьютер с операционной системой Windows 10, Windows 8, Windows 7, Windows Vista и Windows XP от любых атак: фишинговых, вирусов, вредоносных программ, шпионских программ и других кибер угроз. Новым пользователям предоставляется 30-дневный бесплатный период.Nod32 — анитивирус от компании ESET, которая была удостоена многих наград за вклад в развитие безопасности. На сайте разработчика доступны версии анивирусных программ как для ПК, так и для мобильных устройств, предоставляется 30-дневная пробная версия. Есть специальные условия для бизнеса.
Mass Effect, скачанная с торрента не работает. Решение
Если дистрибутив игры был загружен через торрент, то никаких гарантий работы быть в принципе не может. Торренты и репаки практически никогда не обновляются через официальные приложения и не работают по сети, потому что по ходу взлома хакеры вырезают из игр все сетевые функции, которые часто используются для проверки лицензии.
Такие версии игр использовать не просто неудобно, а даже опасно, ведь очень часто в них изменены многие файлы. Например, для обхода защиты пираты модифицируют EXE-файл. При этом никто не знает, что они еще с ним делают. Быть может, они встраивают само-исполняющееся программное обеспечение. Например, майнер, который при первом запуске игры встроится в систему и будет использовать ее ресурсы для обеспечения благосостояния хакеров. Или вирус, дающий доступ к компьютеру третьим лицам. Тут никаких гарантий нет и быть не может.К тому же использование пиратских версий — это, по мнению нашего издания, воровство. Разработчики потратили много времени на создание игры, вкладывали свои собственные средства в надежде на то, что их детище окупится. А каждый труд должен быть оплачен.Поэтому при возникновении каких-либо проблем с играми, скачанными с торрентов или же взломанных с помощью тех или иных средств, следует сразу же удалить «пиратку», почистить компьютер при помощи антивируса и приобрести лицензионную копию игры. Это не только убережет от сомнительного ПО, но и позволит скачивать обновления для игры и получать официальную поддержку от ее создателей.
Mass Effect выдает ошибку об отсутствии DLL-файла. Решение
Как правило, проблемы, связанные с отсутствием DLL-библиотек, возникают при запуске Mass Effect, однако иногда игра может обращаться к определенным DLL в процессе и, не найдя их, вылетать самым наглым образом.
Чтобы исправить эту ошибку, нужно найти необходимую библиотеку DLL и установить ее в систему. Проще всего сделать это с помощью программы DLL-fixer, которая сканирует систему и помогает быстро найти недостающие библиотеки.
Если ваша проблема оказалась более специфической или же способ, изложенный в данной статье, не помог, то вы можете спросить у других пользователей в нашей рубрике «Вопросы и ответы». Они оперативно помогут вам!
Источник
Исправляем кривой запуск первого Mass Effect
Часть 1
В последнее время я работал над собственным форком ME3Explorer [неофициальный редактор игр серии Mass Effect], содержащим множество важных улучшений и даже новые инструменты. Также я поработал над Mod Manager 5.1, который имеет удобные новые функции импорта сторонних модов, однако был отодвинут на второй план, пока я работал над новым фронтендом установщика ALOT.
Для его реализации я сотрудничал с CreeperLava и Aquadran; он должен упростить жизнь конечным пользователям, устанавливающим ALOT и его аддон (сторонние текстуры). Одна из моих проблем заключалась в том, что Origin не запускал игру после установки ALOT, если не запустить его с правами администратора. И поскольку запуск Origin при загрузке невозможно выполнить с правами админа, это очень раздражает. К тому же это влияет на мод MEUITM. Поэтому я начал разбираться, почему это происходит. Дело оказалось в идеальном сочетании реализации защиты, плохого кода и желания упростить жизнь других людей.
Сигнатуры файлов
И MEUITM, и ALOT модифицируют исполняемый файл MassEffect.exe, чтобы он мог использовать Large Address Aware. Это позволяет 32-битному процессу Mass Effect использовать до 4 ГБ ОЗУ вместо обычного 32-битного ограничения в 2 ГБ. При модификации флага LAA цифровая сигнатура MassEffect.exe оказывается поломанной — сигнатура используется для проверки того, что файл не модифицирован. После модификации файла сигнатура становится неверной.
Origin при выполнении процесса с повышенными правами проверяет, подписан ли EXE компанией EA и правилен ли он. Если он не подписан EA, то он не повышает права модуля обмена данными DRM. Mass Effect загружается, а затем немедленно закрывается, потому что разблокировка DRM не работает, ведь со стороны Origin ей не с чем общаться, поскольку отказано в повышении прав.
То есть при модификации EXE Origin будет отказываться запускать исполняемый файл игры с повышенными правами. Но нам нужен LAA, поэтому необходимо как-то обойти эту проблему. Наша единственная надежда заключается в том, чтобы помешать MassEffect.exe запускаться с правами администратора. Сначала нужно разобраться, как задан его запуск с правами администратора.
Изучив манифест EXE, я увидел, что он запускается как инициатор вызова — пользователь, запускающий EXE. Это означает, что этот исполняемый файл не должен требовать администраторских прав. Я проверил свои параметры совместимости, там тоже ничего не было. Каким-то образом права повышаются при запуске, но не через сам exe и не из-за моих настроек. В чём же хитрость? В Microsoft Windows Compatibility Database.
mirh (я встречался с ним в кругах любителей моддинга) провёл исследование того, почему Mass Effect вынужден запускаться с правами администратора. Он соответствует критериям базы данных — в ней есть запись для Mass Effect, в которой указано, что нужно всегда принудительно запускать параметры совместимости. Это логично — пользователь не должен конфигурировать параметры, если MS уже знает, какие из них работают (теоретически).
Как видите, для этой игры есть две записи — MassEffect.exe (игра) и загрузчик (который, к сожалению, не включён в версию Origin). Для совместимости включается RunAsHighest (что означает права администратора). Критерии включения таковы:
Исправление
Итак, теперь у нас есть понимание, как это исправить, но почему в базе данных есть эта запись? Поскольку Demiurge/Bioware не поддерживают идею Least User Access (LUA), Mass Effect при самом первом запуске требует прав администратора для выполнения записи в ключ реестра HKEY_LOCAL_MACHINESOFTWAREWOW6432NODEAGEIA Technologies. Если этот ключ не существует, он пытается создать его — без прав администратора у него нет для этого доступа, и игра просто вываливается. Похоже, в этом ключе содержится некая информация о том, что сейчас называется PhysX. Вероятно, запись в реестр мог внести и установщик игры, но разработчики реализовали это в самой игре.
Именно поэтому Microsoft вынуждает игру всегда запускаться с правами администратора, из-за этого единственного пункта. Это логично — если заставить её запускаться под администратором, но пользователю не нужно будет беспокоиться о параметрах совместимости. Однако из-за этой комбинации трёх проблем (LAA портит сигнатуру, MS принуждает запускаться игру с правами администратора, Origin отказывается работать с процессами с повышенными правами, имеющими сломанную сигнатуру EA) Mass Effect не запускается с Origin и LAA.
Как же нам это исправить? Просто изменим в EXE название продукта с Mass Effect на Mass_Effect. Серьёзно, это всё. Проверка критериев не срабатывает, игре больше не нужны права администратора и Origin доволен (если не считать постоянного ворчания из-за обновлений). В MEUITM и ALOT Installer мы добавили код, создающий ключ реестра с правами записи для текущего пользователя, поэтому если Mass Effect нужно создать эти ключи (допустим, если его никогда не запускали), то игра будет довольна.
Часть 2
Mass Effect на PC: что ожидать от порта с консолей середины 2000-х
Если вы не знали, Mass Effect вышла на PC в 2008 году, она была портирована с Xbox 360 студией под названием Demiurge, которая также разработала Pinnacle Station для Mass Effect. Это очень посредственный порт, не особо хорошо переживший смену времён. Он приемлем как игра, но имел множество проблем даже на момент выхода. LOD частиц работали неправильно, LOD текстур считывались в обратном порядке, параметры ini случайным образом сбрасывались на значения по умолчанию — проблем было довольно много. Но не было ничего, что бы полностью ломало игру.
Ну, или типа того. Была одна проблема, но вызванная не конкретно самой Mass Effect. Серьёзная проблема заключается в том, что Mass Effect требует для запуска прав администратора потому что Demiurge, похоже, считала, что все должны запускать игру как администратор — это вполне могло быть приемлемым, если бы игра разрабатывалась во время, когда была только Windows XP, однако на момент выпуска игры уже больше года существовала Windows Vista. Но даже Windows XP имела концепцию LUA (Least User Access) с разделёнными аккаунтами пользователей. Подробнее об этом можно прочитать в первой части статьи.
Ух ты, PhysX, моя любимая библиотека физики!
Наверно, у меня небольшая неприязнь к этому SDK.
Mass Effect для PC работает на немного модифицированной версии Unreal Engine 3, который был выпущен примерно в конце 2006. По словам некоторых бывших разработчиков из BioWare, эта версия Unreal Engine тогда была немного сыроватой, если не сказать больше. Согласно рассказам этих разработчиков, было очень сложно работать с ней, потому что Epic Games сосредоточенно работала над Gears of War и не уделяла особо много времени своим партнёрам, тоже использующим движок.
Для расчёта физических взаимодействий Unreal Engine 3 использует PhysX, поэтому Epic Games создала dll, реализующую интерфейс между PhysX и форматами данных Unreal Engine через файл под названием PhysXLoader.dll, который загружает библиотеки PhysX с обеих сторон. PhysX — это библиотека симуляции физики, приобретённая компанией AGEIA Technologies в середине 2000-х перед тем, как саму AGEIA в начале 2008 года купила Nvidia. Возможно, вы помните карты Physics Processing Unit (PPU) — они использовали PhysX до того, как Nvidia похоронила эту идею.
PhysXLoader.dll, PhysXCore.dll и NxCooking.dll составляют библиотеки PhysX для Mass Effect.
Все три части Mass Effect используют PhysX, однако Mass Effect 2 и Mass Effect 3 используют установленную в систему PhysX, а Mass Effect — локальную PhysX игры. Кроме того, в Mass Effect 2 и Mass Effect 3 применяется «современная» версия PhysX, а не устаревшая, которая была выпущена AGEIA. После приобретения Nvidia изменила некоторые пути внутри библиотеки, отделив устаревшие части от «современных» версий.
Но, похоже, это не мешает программе удаления старой PhysX удалять файлы/ключи реестра современной PhysX, поэтому в процессе тестирования моего исправления другие копии Mass Effect 2/3 не работали даже после установки «современного» дистрибутива PhysX. Очень бесит, что BioWare не смогла просто установить библиотеку на 8 МБ вместе с игрой — в комплекте с игрой всё равно поставляется установщик PhysX, то есть это даже не экономило место!
Проблема PhysXLoader.dll компании Epic Games в том, что она может загружать PhysXCore.dll локально или из установленной в систему версии
Что? Как это может быть проблемой? Разве нельзя просто загружать локальную dll, и если она не существует, загружать системную? Почему это вообще проблема?
Вы не поверите, сколько фейспалмов я испытывал в процессе создания этого исправления.
При запуске Mass Effect записывает в реестр Windows HKEY_LOCAL_MACHINE два значения:
REG_BINARY HKLMSOFTWAREAGEIA Technologies enableLocalPhysXCore [mac-адрес, 6 байт]
REG_DWORD HKLMSOFTWAREAGEIA Technologies EpicLocalDllHack [1]
*Mass Effect — это 32-битная программа, поэтому на 64-битной системе она выполняет запись в HKLMSOFTWAREWOW6432NodeAGEIA Technologies (на случай, если вы захотите проверить сами).
Запомните эти значения реестра, они будут важны в дальнейшем!
Именно из-за этих значений реестра Mass Effect требует административных прав. В первой части мы говорили о том, почему этих операций было достаточно, чтобы Microsoft внесла Mass Effect в базу данных совместимостей, заставляющую игру запускаться под администратором при совпадении определённых критериев исполняемого файла. Мы обошли эту проблему, изменив критерии так, чтобы они больше не совпадали.
Нам нужно изменить исполняемый файл, чтобы включить Large Address Aware, благодаря чему игра сможет загружать текстуры повышенного разрешения без переполнения памяти, поэтому нет никакого способа избежать порчи сигнатуры. Это, в свою очередь, привело к тому, что Origin больше не мог запускать игру, потому что он не может повышать права игры без правильной сигнатуры EA. Но если игра не имеет возможности записывать эти ключи реестра при запуске, то она может вылететь…
Итак, это само по себе уже длинная цепь проблем, но мы обошли необходимость прав администратора в Mass Effect, просто дав аккаунту пользователя разрешение на этот конкретный ключ реестра AGEIA Technologies. Это позволит процессу игры записывать нужные ему значения. Я предполагал, что игра вылетает, потому что ей запрещался доступ для записи, а Demiurge не озаботилась написать try/catch вокруг кода записи в реестр.
Вероятно, не стоит называть значения реестра «hack»
Наше решение этой проблемы не изменило поведения Mass Effect — значения, которые игра хотела записать в реестр, тем или иным способом будут в него записаны, поэтому мы просто позволяем ей делать то, что она всегда делала, только без прав администратора. На самом деле, никаких изменений в поведении приложения не было.
Два значения реестра, записываемые Mass Effect.
Модератор PC Gaming Wiki под ником mirh долгие годы бил тревогу о том, что мы каким-то образом ломали другие игры в ALOT Installer, даже несмотря на то, что наше приложение никак не меняла способ записи Mass Effect этих значений, поэтом наше изменение никак не может сломать другие игры.
Спустя много месяцев он написал довольно подробное обоснование того, почему ALOT Installer (то есть на самом деле это была Mass Effect) ломает другие игры: находящийся в реестре enableLocalPhysXCore используется другими играми, работающими с PhysXLoader.dll. Когда я писал версию V4 установщика ALOT Installer, то сказал mirh, что серьёзнее рассмотрю его идею решения, не позволяющего ломать другие игры, хотя тогда я ещё не понимал, как ключ реестра с MAC-адресом системы может ломать другие игры и зачем вообще используется MAC-адрес.
Похоже, mirh был уверен, что эта enableLocalPhysXCore позволяет Mass Effect использовать PhysXCore.dll/NxCooking.dll в локальной папке, а не загружаться из установленного дистрибутива PhysX. Mass Effect не устанавливает дистрибутив PhysX, поэтому не может полагаться на её существование и вынуждена использовать локальные библиотеки.
Держитесь, теперь начинается нечто совершенно тупое:
MAC-адрес, сохраняемый в реестр файлом MassEffect.exe, считывается библиотекой PhysXLoader.dll и сравнивается с MAC-адресом вашей системы, чтобы определить, нужно ли загружать библиотеки PhysX из локальной папки или из системной.
Итак, Mass Effect работает следующим образом:
Оказалось, что другие игры, например, Mirror’s Edge, имеют PhysXLoader.dll, которая тоже считывает эти значения (так как они основаны на одинаковом коде), но в этих играх нет локальных библиотек PhysX. Поэтому эти игры загружаются, видят enableLocalPhysXCore и пытаются загрузить локальную библиотеку, терпят неудачу и игра не запускается. Эту информацию я получил от mirh — сам я не тестировал другие игры, поломанные этим значением реестра.
Обычно этого значения не существует, и игра должна использовать PhysX. Это поведение можно протестировать в Mass Effect, запретив доступ на запись к ключу реестра, удалив значения и установив старую версию PhysX — она будет использовать системные библиотеки. Если системная PhysX не установлена, приложение не загрузится — именно поэтому мы изначально разрешали записывать эти ключи Mass Effect, в противном случае бы казалось, что установщик портит Mass Effect, хотя на самом деле виновата ужасная реализация со стороны Epic Games.
Сложно представить сценарий, при котором это было бы хорошей идеей.
Если вы реализуете интерфейс с библиотекой, имеющей экспорт, который можно вызвать для инициализации/загрузки PhysX SDK, то разве нельзя просто передать ей булево значение, приказывающее ей загрузиться локально? Почему она вообще не начинает с локального поиска? И что за дела с MAC-адресом? Почему он находится в реестре, где ведёт себя как глобальный параметр.
Всё это выглядит как ужасные архитектурные решения, а после дизассемблирования PhysXLoader.dll кажется, что всё это и есть ужасные архитектурные решения. Давайте внимательнее присмотримся к Mass Effect и рассмотрим процесс её исправления от начала до конца.
Находим начальную точку
Предупреждение: я совершенный новичок в реверс-инжиниринге. Я создавал ассемблерные моды для игр Megaman Battle Network (и написал неплохое руководство по созданию хуков), проектировал моды на ActionScript2 P-Code и работал с байт-кодом UnrealScript, но никогда не углублялся в ассемблер x86. Я множество раз открывал IDA и могу находить нужные мне вещи, но никогда не понимал их. Уверен, что для более опытных реверс-инженеров этот процесс намного проще.
Сложно получать удовольствие от реверс-инжиниринга, если почти ничего не понимаешь в том, с чего начать. Это режим графа IDA, который очень помогает визуализировать ассемблер, но его всё равно очень сложно понять в большом двоичном файле на 20 МБ.
Недавно (пару лет назад), Агентство национальной безопасности США (АНБ) выпустило Ghidra — бесплатный тулкит для реверс-инжиниринга с открытыми исходниками, который может отреверсировать ассемблерный код в довольно читаемый код на C; его бесконечно проще читать, чем ассемблерные графы IDA. И IDA, и Ghidra имеют свои сильные стороны: в IDA есть отладчик, позволяющий пошагово пройти по ассемблеру и посмотреть, какие пути кода будут выполняться, а также она может находить Unicode-строки (которые используются в Mass Effect ). Ghidra может рекомпилировать ассемблерный код из его декомпилированного кода на C (иногда), имеет преобразователь из ассемблера в C (простите, не знаю его названия), обладает открытыми исходниками и работает на куче платформ и со множеством двоичных форматов.
Ghidra — это отличный инструмент для новичков в реверс-инжиниринге, поскольку она позволяет просматривать ассемблер как код на C, хоть и без имён переменных.
Итак, в начале я знал, что Mass Effect записывает enableLocalPhysXCore и EpicLocalDllHack. Давайте начнём с изучения MassEffect.exe, найдём эти строки и посмотрим, что на них ссылается. Открыв шестнадцатеричный редактор, я знал, что это unicode-строки, поэтому я буду искать их в IDA, потому что Ghidra, похоже, не поддерживает эту функцию.
Окно IDA Strings. Я наконец узнал, что эта полезная вкладка открывается по Shift + F12.
Поискав внутри окна IDA Strings строку enableLocalPhysXCore, я её нашёл. При двойном нажатии программа переносит нас к области данных исполняемого файла, в которой она задаётся:
На изображении вы видите, где задаются enableLocalPhysXCore, EpicLocalDLLHack и даже ключ реестра, все они находятся прямо рядом друг с другом.
Выше мы видим задание строк, которые, похоже, связаны с нашей целью. Над заданием текста мы видим DATA XREF, то есть что-то напрямую ссылается на эти данные — вероятно, записывает их. Давайте дважды щёлкнем на XREF и посмотрим, куда это нас отправит.
Режим IDA View, а не Graph View.
Изучив это, мы видим, что здесь записывается RegSetValueExW. Я очень слабый разработчик на C, поэтому после гугления я понял, что это подготовка стека для вызова на C метода из Windows API, что можно увидеть по отображаемому IDA названию параметра, например, lpData и dwType. Мы знаем, что значению enableLocalPhysXCore присваивается MAC-адрес системы. Давайте посмотрим, где выполняется это присваивание. Чтобы выглядело логичнее, переключимся на режим графа.
В третьем блоке мы видим, что eax записывается в стек для lpData, а также записывается в стек для этого загадочного вызова «sub_10929393». В этой подпроцедуре нет других вызовов с заданными названиями, поэтому вероятно именно там получается MAC. Давайте перейдём к ней.
Похоже, это какая-то подпроцедура-обёртка, или так это трактовала IDA, но она просто указывает на другую подпроцедуру. Давайте перейдём к ней.
Эта подпроцедура содержит названия, взятые из Windows API, и они показывают нам, что это как-то связано с сетью. Нас не волнует MAC-адрес, но давайте зададим название этой подпроцедуре. Назовём её GetMacAddress. Вернёмся к исходной подпроцедуре, которую изучали, и тоже переименуем её — похоже, это что-то типа SetupPhysXSDKLoad, поэтому назовём её так.
Это относительно небольшая подпроцедура, всё, что она делает — это производит запись двух вышеупомянутых значений реестра. Кроме ранних этапов загрузки двоичного файла, на эту подпроцедуру больше нет других ссылок, поэтому на этом этапе я вполне уверен, что исполняемый файл Mass Effect никогда не считывает эти значения, и пока я не знаю, что же делает EpicLocalDllHack.
Вскрываем PhysXLoader.dll
Теперь мы знаем, что исполняемый файл Mass Effect никогда не считывает этот ключ; значит, это делает одна из dll. Здесь я этого не показал, но в ProcMon (отличном инструменте для моддинга и подобных вещей в целом) я вижу, что значение реестра считывается непосредственно перед загрузкой библиотеки в процессе MassEffect.exe и перед загрузкой локальной dll. Я увидел, что после того, как запретил Mass Effect доступ на запись в эту папку, он считывает системную библиотеку, и игра не загружается, если не установлена системная версия старой PhysX.
Первой из dll загружается PhysXLoader, после которой загружается PhysXCore.dll, поэтому логично будет анализировать её. Давайте откроем её в IDA и посмотрим, где там используется enableLocalPhysXCore. Также я открою эту dll в Ghidra, чтобы лучше понимать, что происходит. Проделав ту же последовательность действий по поиску мест использования строки enableLocalPhysXCore, мы находим подпроцедуру:
Подпроцедуру читать не так уж сложно, особенно в режиме графа — мы видим, что есть цикл, идущий из левого блока в блок над ним. Тем не менее, всё это не так просто читать для новичка, поэтому давайте посмотрим, как это выглядит в Ghidra. Я использую адрес этой подпроцедуры, чтобы перейти к ней в Ghidra (0x10001640).
Это даёт нам чуть больше понимания происходящего — вызовов подпроцедуры, цикла, возвращаемого подпроцедурой типа. Мы можем находить элементы в одном из инструментов и помечать их в обоих, чтобы разобраться в том, что происходит. Мы сразу же видим, что есть вызов подпроцедуры, передающий путь к ключу реестра, название значения, а также две переменные. В цикле видим сравнение 6 элементов под индексу для определения их равенства.
Чтобы немного сократить пост, скажу, что эта подпроцедура поиска в реестре и в самом деле является простой обёрткой для получения информации из реестра. После реверс-инжиниринга (который в основном заключался в сопоставлении входящих данных подпроцедуры с тем, чем они являются в вызовах windows api) выяснилось, что её параметры являются подключом, именем значения, возвращаемым указателем на данные и возвращаемым размером данных.
Мы видим, что в подпроцедуре есть цикл, выполняемый шесть итераций и проверяющий равенство каждых значений. Воспользовавшись полученной информацией, мы можем переименовать некоторые переменные, чтобы лучше представлять, что делает подпроцедура.
Мы знаем, что Mass Effect записала в реестр 6-байтный mac-адрес, и что PhysXLoader.dll просто считала это значение из реестра, и что подпроцедура сравнивает что-то побайтно 6 раз. Логически мы можем предположить, что local_14 с показанного выше изображения — это MAC-адрес. Зная это, мы также можем предположить, что FUN_10001580 получает MAC-адрес и задаёт его, поэтому мы переименуем ещё несколько элементов подпроцедуры.
Похоже, что вызов подпроцедуры не выполняет саму загрузку, он просто проверяет ключ и совпадение MAC-адреса. Зная название и информацию о действиях этого ключа, мы можем дать этой подпроцедуре обоснованное название ShouldUseLocalPhysX. Однако сравнение декомпиляции этой подпроцедуры в IDA и Ghidra приводит к немного различающимся результатам, и Ghidra, похоже, ошибается:
IDA показывает, что al присваивается 1 при нормальном выходе из цикла и 0 (xor al,al), если какие-то байты не совпадают. Ghidra этого не показывает, на самом деле она показывает, что возвращаемый тип равен void, что кажется ошибкой.
Немного погуглив информацию для этой части поста, я узнал, что EAX обычно используется как регистр возврата для x86, а регистр al — это нижние 8 бит EAX. Я не имею достаточно опыта в Ghidra, чтобы знать, как сменить тип сигнатуры для этого вида возвращаемых нижних 8 битов; возможно, Ghidra пока этого не поддерживает, или я упустил какую-то настройку, которую нужно использовать.
Дизассемблированная подпроцедура, вызывающая ту, которая ищет enableLocalPhysXCore.
Однако если мы взглянем на ссылки на эту подпроцедуру (их две — скорее всего, по одной на каждую библиотеку) в IDA и Ghidra, то увидим, что при вызове ShouldUseLocalPhysX она проверяет, не равен ли al нулю. Если он не равен нулю, то она загружает локальную PhysXCore.dll. Если равен, то она ищет библиотеку через системную установку PhysX, которая находится по ещё одному значению реестра в ключе AGEIA Technologies под названием PhysXCore Path. На самом деле это нам неинтересно, потому что мы хотим заставить PhysX всегда загружаться локально, вне зависимости от значения enableLocalPhysXCore.
Посмотрев на другую перекрёстную ссылку, можно и в самом деле увидеть, что она загружает библиотеку NxCooking, используя ShouldUseLocalPhysX таким же образом:
Вооружённые этим знанием, мы можем решить эту проблему несколькими способами. Я много занимался моддингом функций в байт-коде UnrealScript, который очень долгое время нельзя было увеличивать и уменьшать в размере, поэтому нахождение способов успешного или неуспешного прохождения логических проверок без изменения размера скрипта оказалось интересной задачей.
Когда я писал таблицу символов для Megaman Battle Network 3, то научился всегда комментировать всё, что узнал об дизассемблированном коде. Я работал часами, совершенно забывая, что уже сделал, но мог вернуться к своим комментариям, и снова во всём разобраться.
Иногда мои символы/комментарии на отдельных строках, например, названия подпроцедур или таблицы указателей, встречались в других подпроцедурах, давая мне полезный контекст, которого бы я иначе не увидел. Ниже я прокомментировал и пометил несколько элементов, упрощающих чтение этой подпроцедуры.
Патчим худшую в мире проверку boolean
Нам нужно убедиться, что выполнение всегда доходит до нижнего левого блока, при этом мы не должны касаться стека (который запросто может поломать всю программу). Строго говоря, мы можем переписать часть этой подпроцедуры, но мне хотелось бы вносить здесь минимальные изменения. По сути, нам нужно гарантировать, что переход в нижний правый блок никогда не происходит.
[ЗАБАВНАЯ ИСТОРИЯ] Увидев это однобайтное смещение, я вспомнил времена, когда я работал над моддингом Megaman Battle Network. Тогда от команд перехода/ветвления зависела возможность моддинга отдельных частей ROM. При написании хука (перенаправляющего счётчик программы к вашему собственному коду) вам нужно найти команду перехода или ветвления, относительное смещение которой можно модифицировать так, чтобы оно указывало на ваш код. Затем нужно записать регистры в стек, запустить код, а затем вернуть стек обратно, чтобы подпроцедура выполняла выход правильным образом.
ARM (а конкретнее THUMB) имеет ограниченные команды ветвления, использующие в качестве относительных смещений разные размеры, которые не всегда могли перейти в любую точку ROM из-за своего местоположения в ROM. Так как игра была написана на ассемблере, находить свободное место временами было сложновато — иногда приходилось соединять в цепочку несколько хуков, пока не удавалось переместить счётчик программы в свободную область, чтобы писать новый ассемблерный код. Этот jnz использует опкод 0x75, что даёт jnz rel8, то есть он может переходить только на расстояние до 128 байт (или, если переход возможен только вперёд, на 255?), что было бы настоящей проблемой, если бы я выполнял моддинг ассемблера так же, как мы работали раньше, когда не было мощных инструментов наподобие IDA и Ghidra. [КОНЕЦ ЗАБАВНОЙ ИСТОРИИ]
Недостатки
Файл PhysXLoader.dll подписан Epic Games, поэтому это очевидно разрушает сигнатуру, ведь мы модифицировали файл. Игра не проверяет сигнатуры при загрузке, поэтому это не проблема. Некоторые антивирусы могут жаловаться на сломанные сигнатуры, но со временем обычно перестают. Кроме написания патча внутри памяти (как мы делаем это в загрузчике мода asi), нам нужно будет модифицировать двоичный файл библиотеки.
Получившееся поведение
Благодаря пропатченной dll игра работает как со значением реестра, так и без него, то есть Mass Effect для запуска больше не требуются права администратора. Дизассемблирование этого кода сопровождалось сильной руганью, потому что я не мог смириться с тупостью реализации этой проверки — проверяется не только значение в реестре, но и MAC-адрес. В процессе отладки и пошагового выполнения команд я на самом деле сломал игру, потому что включил VPN и мой MAC-адрес сменился.
Этот процесс оказался хорошим опытом учёбы, я намного больше узнал о Ghidra и IDA, а также о других проблемах в PC-версии Mass Effect. Этот патч автоматически применяется в процессе установки ALOT Installer, поэтому пользователям не придётся беспокоиться о задании ключа enableLocalPhysXCore. Также мы модифицировали исполняемый файл Mass Effect для записи значения enableLocalPhysXCor_, чтобы наши пропатченные версии не записывали значение, портящее игры. Ванильные исполняемые файлы Mass Effect всё равно портят другие игры, но защита программ от криво написанных загрузчиков PhysX уже не входит в мои задачи.
О, а что насчёт EpicLocalDllHack? Ну, оно в буквальном смысле ничего не делает. Абсолютно бесполезное значение, оно никогда не считывается. Единственная возможная причина его существования, которую я могу придумать — сохранение ключа реестра на случай деинсталляции дистрибутива PhysX, потому что оно не находится в списке значений дистрибутива PhysX, но это всё только догадки.
Источник
Mass Effect — это известная игровая серия, вышедшая в конце 2007 года. Многие геймеры по всему миру были в восторге от этой игры, и многие люди до сих пор играют в Mass Effect. Но что делать, если игра не устанавливается на Windows 10?
К сожалению, владельцы новых ПК на базе Windows 10 могут столкнуться с проблемой, когда Mass Effect не устанавливается на их компьютерах. Это может быть вызвано несколькими факторами, которые мы рассмотрим чуть позже.
Но не все так плохо, как кажется. В этой статье мы рассмотрим причины, почему Mass Effect не устанавливается на Windows 10, и предложим несколько решений этой проблемы, которые помогут вам получить удовольствие от игры.
Содержание
- Mass Effect на Windows 10
- Проблемы установки Mass Effect на Windows 10
- Решения проблем установки Mass Effect на Windows 10
- Заключение
- Почему игра не устанавливается
- Конфликт совместимости
- Ошибки при установке
- Недостаточно пространства на диске
- Отсутствие прав администратора
- Неправильные настройки безопасности
- Ошибка при запуске игры
- Причины ошибки
- Решение проблемы
- Проблемы совместимости
- Разрядность операционной системы
- Драйвера графической карты
- Программы-эмуляторы
- Запуск игры от имени администратора
- Влияние антивирусной программы
- Отрицательное влияние
- Решение проблемы с антивирусом
- Недостаточные требования
- Причины
- Решение
- Решения проблемы с установкой
- 1. Проверьте системные требования игры
- 2. Попробуйте запустить игру от имени администратора
- 3. Очистите временные файлы и реестр
- 4. Установите игру в другую папку
- 5. Обратитесь в техническую поддержку
- Какие действия помогут запустить игру
- 1. Установка патча
- 2. Проверка наличия несовместимых программ
- 3. Изменение совместимости файла MassEffect.exe
- 4. Обновление графических драйверов
- 5. Установка старой версии DirectX
- 6. Установка игры на другой диск
- Вопрос-ответ
- Почему Mass Effect не устанавливается на Windows 10?
- Какие системные требования нужны для установки Mass Effect на Windows 10?
- Какие шаги нужно выполнить, чтобы исправить ошибку установки Mass Effect на Windows 10?
- Как запустить Mass Effect на Windows 10 в режиме совместимости с предыдущей версией операционной системы?
- Что делать, если Mass Effect все еще не устанавливается на Windows 10 даже после выполнения всех рекомендуемых действий?
Mass Effect на Windows 10
Проблемы установки Mass Effect на Windows 10
Многие пользователи, пытаясь установить игру Mass Effect на Windows 10, столкнулись с проблемами. Нередко появляются ошибки, мешающие установке игры.
Одним из наиболее распространенных является ошибка «MSVCP140.dll», которая предупреждает об отсутствии указанного файла. Также возникают проблемы с запуском игры после установки, например, из-за несовместимости с драйверами видеокарты.
Решения проблем установки Mass Effect на Windows 10
Существует несколько способов решения проблемы с файлом «MSVCP140.dll». Один из них — установка пакета «Visual C++ Redistributable». Также рекомендуется проверить целостность файлов игры, и если какой-то файл поврежден, переустановить его.
Чтобы устранить проблемы с запуском игры, можно обновить драйвера видеокарты или увеличить объем оперативной памяти. В некоторых случаях помогает запуск игры в совместимости с Windows 7 или 8. Рекомендуется также отключить антивирус и международную защиту Windows Defender, чтобы избежать блокировки игры.
Заключение
Mass Effect — это интересная игра, которая вызывает у людей желание погрузиться в другой мир и ощутить себя героем. Но чтобы получить удовольствие, важно сначала решить все проблемы с установкой и запуском игры на Windows 10. Надеемся, что наши советы помогут вам наслаждаться игрой без проблем.
Почему игра не устанавливается
Конфликт совместимости
Одной из самых распространенных причин проблем с установкой Mass Effect на Windows 10 является конфликт совместимости. Игра может быть слишком старой чтобы запуститься на Windows 10 даже при использовании режима совместимости с Windows 7 или Windows XP. Это может привести к ошибкам при установке, зависанию, медленной работе или полному неработоспособности игры.
Ошибки при установке
Еще одной возможной причиной проблем с установкой игры может быть неправильная загрузка файлов, которая может привести к ошибкам при установке. Это может произойти, если файлы загружены с поврежденного диска, с уязвимого интернет-соединения или если сами файлы были повреждены во время загрузки.
Недостаточно пространства на диске
Если на жестком диске слишком мало свободного места, установщик игры может не иметь достаточно места, чтобы завершить установку. Убедитесь в том, что на диске, на котором вы пытаетесь установить игру, есть достаточно места.
Отсутствие прав администратора
Некоторые пользователи имеют проблемы с установкой игр, потому что они не обладают правами администратора на своем компьютере. Установка игры может потребовать изменения настроек системы, что может быть недоступно для обычных пользователей.
Неправильные настройки безопасности
Некоторые антивирусные программы могут блокировать установку игры, поскольку они могут рассматривать ее файлы как потенциально опасные. В таком случае необходимо разрешить программе установки работать в исключениях антивирусных программ или временно отключить антивирусную защиту на время установки игры.
Ошибка при запуске игры
Причины ошибки
Ошибка при запуске игры Mass Effect может быть вызвана рядом причин:
- Некорректная установка игры;
- Несовместимость игры с операционной системой;
- Отсутствие необходимых системных требований игры;
- Неисправность игрового клиента.
Решение проблемы
Для исправления ошибки при запуске игры Mass Effect необходимо:
- Переустановить игру, проверив достаточность ресурсов и совместимость игрового клиента с операционной системой;
- Убедиться, что выполнены все системные требования и необходимые драйвера установлены;
- Проверить целостность файлов игры, используя функцию проверки целостности игровых файлов в Steam. Некоторые клиенты также имеют свои собственные функции проверки целостности;
- Обновить драйвера видеокарты;
- Обратиться к игровому сообществу для поиска дополнительной поддержки и решения возможных проблем.
Если проблема не была решена после предпринятых действий, стоит обратиться к поддержке игры или поискать дополнительную информацию о решении ошибки на официальных форумах игры.
Проблемы совместимости
Разрядность операционной системы
Mass Effect является программой 32-битного формата, и может не запуститься на 64-битных операционных системах. Для решения этой проблемы можно попробовать запустить игру в совместимости с Windows 7, включив режим совместимости в свойствах файла .exe.
Драйвера графической карты
Не обновленные или неправильно установленные драйверы графической карты могут привести к проблемам с запуском и игрой Mass Effect. Рекомендуется проверить наличие последних обновлений на сайте производителя видеокарты и установить их на компьютер.
Программы-эмуляторы
Некоторые программы-эмуляторы, такие как VirtualBox, могут воздействовать на работу Mass Effect и привести к проблемам с запуском и установкой. Рекомендуется временно отключить эмуляторы при попытке установки игры.
Запуск игры от имени администратора
Некоторые функции игры могут потребовать прав администратора для корректной работы. Попробуйте запустить установщик и игру от имени администратора, кликнув правой кнопкой по файлу .exe и выбрав соответствующий пункт меню.
Влияние антивирусной программы
Отрицательное влияние
Проблема, когда Mass Effect не устанавливается на Windows 10, может произойти из-за действий антивирусной программы на вашем компьютере. Некоторые антивирусные программы могут блокировать установочный файл игры или некоторые нужные файлы, могут считать их вирусами и переместить в карантин. Также возможна ситуация, при которой антивирусная программа не позволяет начать установку игры или прерывает ее на половине.
Решение проблемы с антивирусом
Если у вас возникла проблема с установкой игры из-за антивирусной программы, то вам нужно временно отключить ее. Для этого зайдите в настройки антивирусной программы и отмените все активные проверки и функции, которые могут блокировать установочные файлы игры или ее запуск. После этого начните установку игры заново. Если вы все же не можете выполнить установку, попробуйте использовать другую антивирусную программу или свяжитесь с технической поддержкой разработчика игры, чтобы получить инструкции по установке игры с вашей конкретной антивирусной программой.
- Перед установкой игры рекомендуется временно отключить антивирусную программу.
- Нет гарантии того, что установка игры не повредит ваш компьютер без антивирусной программы.
- Чтобы избежать проблем с установкой игры, проверьте антивирусную программу на наличие блокировки запуска и установки файлов.
Недостаточные требования
Причины
Для работы Mass Effect на компьютере нужно соответствие не только минимальным, но и рекомендуемым системным требованиям. Если ваш компьютер не соответствует этим требованиям, игра может работать некорректно или вообще не запускаться.
Кроме того, популярный способ обойти проблемы совместимости игры с Windows 10 — ставить старые версии DirectX, NET Framework и Visual C++ — может не иметь эффекта, если ваш компьютер не подходит по процессору, видеокарте или оперативной памяти.
Решение
Перед покупкой игры удостоверьтесь, что ваш компьютер соответствует не только минимальным, но и рекомендуемым требованиям, указанным на официальном сайте игры или в описании на странице продажи.
Если вы уже приобрели игру, но сталкиваетесь с проблемой запуска, попробуйте уменьшить графические настройки в игре (если это возможно) или увеличить оперативную память компьютера. Если проблема сохраняется — обратитесь к сообществу игры или поддержке разработчика для получения рекомендаций относительно изменения системных компонентов.
Решения проблемы с установкой
1. Проверьте системные требования игры
Перед тем, как устанавливать Mass Effect, необходимо убедиться, что ваш компьютер соответствует системным требованиям игры. Проверьте минимальные и рекомендуемые параметры, а также наличие необходимых драйверов и обновлений.
2. Попробуйте запустить игру от имени администратора
Если установка Mass Effect не пройдет успешно, попробуйте запустить установочный файл от имени администратора. Для этого щелкните правой кнопкой мыши по файлу и выберите «Запустить от имени администратора».
3. Очистите временные файлы и реестр
Временные файлы и запутанные записи в реестре могут препятствовать правильной установке и запуску игры. Очистите кэш и временные файлы, используя инструменты дисковой чистки Windows. Также можно воспользоваться программами для очистки системы, такими как CCleaner.
4. Установите игру в другую папку
Если устанавливаемая папка Mass Effect содержит недопустимые символы, пробелы или кириллицу, то процесс может быть прерван. Пробуйте установить игру в другую папку с простыми символами и латиницей в названии.
5. Обратитесь в техническую поддержку
Если ни одно из вышеперечисленных решений не сработало, обратитесь в техническую поддержку разработчика игры или попросите помощи на официальных форумах.
Какие действия помогут запустить игру
1. Установка патча
Перед запуском игры необходимо установить все доступные патчи для Mass Effect. Это поможет исправить ошибки, которые могут препятствовать запуску игры на компьютере с Windows 10. Вы можете найти все патчи на официальном сайте разработчиков.
2. Проверка наличия несовместимых программ
Перед установкой игры проверьте наличие на компьютере программ, которые могут быть несовместимы с Mass Effect. Они могут вызывать ошибки, которые приводят к невозможности запустить игру. Если найдены несовместимые программы, необходимо их удалить.
3. Изменение совместимости файла MassEffect.exe
Если установка патчей и удаление несовместимых программ не помогло, то попробуйте изменить совместимость файла MassEffect.exe. Для этого нажмите правой кнопкой мыши на файл, выберите «Свойства», затем «Совместимость» и установите галочку напротив «Запуск этой программы в режиме совместимости» и выберите Windows 7 или Windows XP в качестве версии операционной системы.
4. Обновление графических драйверов
Если у вас возникают проблемы при запуске игры, возможно, они связаны с устаревшими или поврежденными графическими драйверами. Обновление драйверов может помочь решить эту проблему. Для этого необходимо перейти на сайт производителя вашей видеокарты и загрузить последнюю версию драйвера.
5. Установка старой версии DirectX
Иногда ошибка запуска игры может быть связана с новой версией DirectX. В этом случае рекомендуется установить старую версию DirectX, которая была использована при разработке Mass Effect. Вы можете скачать старую версию с официального сайта Microsoft.
6. Установка игры на другой диск
Если все вышеперечисленные действия не помогли, попробуйте установить игру на другой диск или раздел. Это может помочь решить проблему запуска игры на Windows 10.
- Установка патча
- Проверка наличия несовместимых программ
- Изменение совместимости файла MassEffect.exe
- Обновление графических драйверов
- Установка старой версии DirectX
- Установка игры на другой диск
Вопрос-ответ
Почему Mass Effect не устанавливается на Windows 10?
Одной из причин может быть несовместимость игры с текущей версией операционной системы. Другая причина может быть связана с недостаточными системными требованиями для запуска игры на вашем компьютере.
Какие системные требования нужны для установки Mass Effect на Windows 10?
Минимальные требования для установки игры на компьютер включают: операционную систему Windows XP / Vista / 7 / 8.1 / 10, процессор с тактовой частотой 1,8 ГГц, видеокарту с поддержкой Pixel Shader 2.0, 1 Гб оперативной памяти и 12 Гб свободного места на жестком диске. Для более комфортной игры рекомендуется использовать более мощную видеокарту и 2 Гб оперативной памяти.
Какие шаги нужно выполнить, чтобы исправить ошибку установки Mass Effect на Windows 10?
Во-первых, убедитесь, что ваш компьютер соответствует минимальным системным требованиям игры. Если это не так, обновите соответствующее оборудование. Во-вторых, убедитесь, что ваш компьютер свободен от вирусов и вредоносного программного обеспечения. В-третьих, попробуйте запустить игру в режиме совместимости с предыдущей версией операционной системы. Если все вышеперечисленное не помогает, пожалуйста, обратитесь за помощью к сервисному центру.
Как запустить Mass Effect на Windows 10 в режиме совместимости с предыдущей версией операционной системы?
Нажмите правой кнопкой мыши на ярлык игры на рабочем столе, выберите «Свойства», затем перейдите на вкладку «Совместимость». Включите «Запуск программы в режиме совместимости с» и выберите из списка версию Windows, с которой игра работала ранее, например, Windows 7. Нажмите «Применить» и «ОК». Запустите игру и проверьте, работает ли она корректно.
Что делать, если Mass Effect все еще не устанавливается на Windows 10 даже после выполнения всех рекомендуемых действий?
Если вы уже попробовали все вышеперечисленное и игра все еще не устанавливается, попробуйте скачать и установить последние обновления для Windows 10. Если это не помогает, обратитесь за помощью к разработчикам игры или к сервисному центру вашего компьютера.
Ни один из методов описанных выше не помогал, и что странно — иногда выдавало ошибку, иногда просто бесконечную загрузку.
Поэтому сей комментарий будет дублироваться в двух темах, которые как я понял связаны между собой:
С ошибкой: https://forums.playground.ru/mass_effect_andromeda/tech/oshibka_171_directx_function_187-933137/
С бесконечной загрузкой : https://forums.playground.ru/mass_effect_andromeda/tech/chernyj_ekran_i_beskonechnaya_zagruzka-931589/
Как я решил проблему:
Настройки игры — графика — качество освещения — низкий
Очень неприятный баг, который приходилось искать методом тыка ( что ли чуйка подсказала в каком месте искать), потому что игра прекрасно летает если все остальные параметры выставить на максимум — ультра.
Если мое решение вам не помогло (и все вышесказанные тоже), рекомендую потыкать и поиграться с другими настройками.
Мое железо (ноутбук):
Процессор: i7 — 7700HQ 2.8GHZ
Видеокарта: Nvidia GTX 1060 With Max-Q Design (6 GB)
ОЗУ: Samsung 2x8GB DDR4 ~2600МГц, двухканальный режим
ЖД: SSD Samsung NVMe PM961
ОС: Windows 10