Как обмануть Windows 10, думая, что у него больше оперативной памяти, чем у него?

4588
William V.

У меня есть компьютер с 1 ГБ оперативной памяти (я знаю - плохой выбор при покупке !!). Я хотел бы установить программу BlueStacks, но для этого требуется 2 ГБ оперативной памяти.

Есть ли способ, которым я могу сказать Windows 10, что она имеет 2 ГБ ОЗУ (хотя его нет), чтобы я мог легко устанавливать программы?

1
Дело не в том, что вы можете обмануть его, а в том, что для его правильной установки требуется так много. Ему не хватит места. Xavierjazz 7 лет назад 0
В Windows есть функция, при которой, если вы предоставите ей USB-накопитель, он заполнит этот диск файлом в виде страницы. Но это не дополнительная память, и любая программа, которая требует более 1 ГБ, не сможет работать Ramhound 7 лет назад 0
Так что тут ничего не поделаешь? Вам просто придется с этим жить? William V. 7 лет назад 0
Добавьте RAM ... это дешево. DrMoishe Pippik 7 лет назад 0
* Технически *, вы можете подключить отладчик к установщику и изменить объем памяти, который он видит, или вы можете добавить хук в функцию Win32 API, которую он использует. Однако все эти методы, как правило, довольно сложны и требуют немалых технических знаний (и / или специальной программы). Из вашего профиля я вижу, что вы (учитесь?) Программист, поэтому, если вам захочется более подробно изучить эти возможности, напишите мне в [chat] (http://chat.stackexchange.com/rooms/118/root- доступ). Bob 7 лет назад 1
Я нашел программу под названием [Orca] (https://msdn.microsoft.com/en-us/library/windows/desktop/aa370557 (v = vs.85) .aspx), которая позволяет изменять установщик Windows. William V. 7 лет назад 0
Даже если вы установите программу, у вас возникнут проблемы, вам просто нужно добавить больше памяти в систему. Ramhound 7 лет назад 0

2 ответа на вопрос

4
Bob

В этом случае вы действительно хотите обмануть конкретное приложение, а не саму Windows.

Потенциальные проблемы

Во-первых, очевидно, что такая конфигурация не поддерживается вашей программой. Так что это действительно на свой страх и риск.

Вы можете подумать, что, запустив программу, вы можете положиться на файл подкачки, чтобы обрабатывать любые объемы ОЗУ выше установленной физической памяти. К сожалению, это не всегда работает, так как рассматриваемая программа может запрашивать физическую память специально. Мне известна хотя бы одна виртуальная машина / гипервизор, которая делает это, и я не удивлюсь, если Bluestacks будет в одной лодке.

Общий метод

По сути, вы хотите обмануть установщика, позволяющего вам установить программу, или самой программы, если она проверяется при запуске. Когда эти программы / установщики проверяют наличие установленной памяти, они должны вызывать функции Win32 API для получения объема физической памяти. Некоторые примеры функций, которые они могли бы вызвать:

Вам нужно как-то заставить эти функции возвращать в программу ложный / неверный результат.

Как правило, вам нужно либо использовать отладчик (например, windbg) и установить точку останова для этих функций, откуда вы можете манипулировать возвращаемым значением. Это ручной процесс и, возможно, он лучше подходит для установщика - вы захотите что-то автоматическое, если программа сама выполняет эти проверки.

Если вы хорошо справляетесь с задачей, вы можете написать DLL, которая перехватывает рассматриваемые API, а затем внедрить DLL в процесс. Затем вы можете сделать это из пользовательского модуля запуска (... теперь это выглядит подозрительно похоже на трещины активации). Такие библиотеки, как EasyHook и Detours, делают это проще.

Вы также можете найти полезные инструменты, такие как WinAPIOverride . Это может позволить вам избежать написания чего-либо самостоятельно. (Примечание. Я никогда не использовал эту программу и не претендую на то, чтобы она была безопасной для стабильности или целостности вашей системы. Используйте на свой страх и риск.)

MSI установщики

Если установщик является установщиком MSI, то это особый случай. В отличие от двоичных инсталляторов, формат MSI является довольно хорошо документированной базой данных, и существуют инструменты для его редактирования. Если требуемый минимальный размер просто сохраняется как свойство установщика, вы, вероятно, можете отредактировать установщик, чтобы изменить его. Однако, если они встроены как пользовательские действия и т. Д., Такой подход может не сработать.

В этой ветке форума MSDN кратко обсуждается идея (см. Ответ Ji.Zhou). К сожалению, хотя он предлагает взглянуть на MSI с Orca, он также говорит, что, вероятно, это не применимо в этом сценарии.

-1
doobie

Я полагаю, что вы могли бы использовать некоторый код с виртуальной машины, чтобы получить виртуальный оперативный диск, создать мини-виртуальный виртуальный компьютер со специализированным файлом образа и указать виртуальному виртуальному компьютеру 2 ГБ виртуального оперативного памяти, но я не специалист по виртуализации. Я тоже заинтересован в том, чтобы найти ответ, так как у меня есть планшет, который работает под управлением Windows 10. На нем было 2 гигабайта оперативной памяти, и я хочу сыграть на нем инопланетную изоляцию. Из предыдущего опыта я знаю, что инопланетная изоляция использует 1,8 гигабайта на самых низких настройках графики. Я попробую вещи, перечисленные в предыдущем ответе, чтобы посмотреть, смогу ли я запустить эту игру и другие игры на своем маленьком картофельном планшете.

Похожие вопросы