2

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

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

2 ответа2

4

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

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

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

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

Общий метод

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

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

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

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

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

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

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

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

-1

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .