Почему это происходит?
Эта страница предлагает правдоподобную причину:
В Windows 7 есть надоедливое программное обеспечение под названием "Обозреватель игр", которое можно запустить с помощью кнопки "Игры" в меню "Пуск". Он автоматически загружает значки, обложки и другие материалы, которые Microsoft сочла полезными, из Интернета при каждом запуске игры.
Как это остановить?
Я представляю несколько вариантов (от самых чистых до самых грязных):
- Исключите исполняемый файл из Помощника по совместимости программ (PCA)
support.microsoft.com/en-us/kb/2545347
.
- Отключите
Program Compatibility Assistant
с помощью панели "Службы" или редактора групповой политики.
- Перенаправьте упомянутые хосты на 127.0.0.1. Я попробовал это, и это не сработало для моего случая - процесс просто зависает. Тем не менее, эта страница предполагает, что это сработало для Oblivion.
- Ограничить доступ к
gameux.dll
. Это то, что я сделал, чтобы "исправить" кочевники проекта (см. Ниже).
- Удалите
C:\Windows\AppPatch\sysmain.sdb
. Первая ссылка предполагает, что это сработало.
Я не пробовал № 1, № 2 и № 5.
Мой опыт
Я заметил точно такую же проблему, когда Project Nomads (2002) не запускался, пока я не включил Интернет. Exe-файл игры запускает rundll32.exe
который, в свою очередь, запускает C:\Windows\System32\gameux.dll
, который запросил 65.55.162.26:443
.
Я не хотел экспериментировать с удалением sysmain.sdb
как предполагает первая ссылка - может быть, некоторые старые программы сломаются? В конце концов, это функция "Совместимость".
Вместо этого я стал владельцем gameux.dll
и удалил своего пользователя из списка доступа. Теперь, когда я запускаю игру, он говорит, что Access denied to gameux.dll
, я нажимаю ОК, процесс rundll32.exe
завершается, и игра запускается без проблем. Запросы не выполняются и игра запускается без подключения к интернету.
Что здесь происходит?
Со страницы инструмента парсера базы данных Windows Shim (SDB) (tzworks.net/prototype_page.php?proto_id=33
):
Инфраструктура совместимости приложений от Microsoft использует базу данных Shim для определения того, следует ли и каким образом приложение или библиотеку DLL отбрасывать при запуске процесса и / или загрузке библиотеки DLL. База данных Shim по умолчанию находится в \Windows \AppPatch \sysmain.sdb и может содержать тысячи записей для обычного окна Win7.
... платформа Application Compatibility позволяет устанавливать исправления для установленных приложений на Windows-боксе «на лету» (т.е. изменять без перезагрузки), и этот патч можно использовать для порождения других процессов и / или внедрения нежелательных DLL-файлов в исправленные приложение.
Я не могу сказать точно, но мое единственное объяснение вашего комментария
вызов от rundll32.exe к узлу Microsoft, которого не было до тех пор, пока не была разработана игра.
является то , что Windows , впрыскивает что gameux.dll
вызов в наши невинной игре ех лет.
Если вам небезразлична безопасность, есть документ, Malicious Application Compatibility Shims
.
PS Извините, мне пришлось обмануть редактора, чтобы опубликовать> 2 ссылки с <10 респ.