2017-01-28 10 views
2

Если я просматриваю внутренние исполняемые файлы исполняемого файла, внутри раздела IMAGE_OPTIONAL_HEADER есть поле IMAGE_DLLCHARACTERISTICS_NO_ISOLATION, которое, как Microsoft упоминает here, означает: «Изображение изолировано, но не должно быть изолировано». Однако я не понимаю, что подразумевается или подразумевается здесь, и не может найти больше информации об этом. Эта опция также существует как опция Visual Studio, и она включена по умолчанию (VS 2015 C++), когда вы создаете проект приложения Win32. Я хотел бы знать, что он делает для генерации кода, прежде чем я включу его.Что такое атрибут «Изолированное изображение» в PE?

Если кто-то знает, пожалуйста, поделитесь. Заранее спасибо.

ответ

4

Он контролирует выглядит ли загрузчик Windows, для manifest при загрузке процесса:

/ALLOWISOLATION заставляет операционную систему, чтобы сделать манифест Lookups и нагрузки.

/ALLOWISOLATION по умолчанию.

/ALLOWISOLATION:NO указывает на то, что исполняемые файлы не будут загружены, как если бы не было манифеста, и вызывает Editbin Ссылка установить IMAGE_DLLCHARACTERISTICS_NO_ISOLATION бит в поле DllCharacteristics опциональный заголовок в. Когда изоляция отключена для исполняемого файла, загрузчик Windows не пытается найти манифест приложения для вновь созданного процесса. Новый процесс не имеет контекста активации по умолчанию, даже если в самом исполняемом файле есть манифест или есть манифест с именем executable-name.exe.manifest.

https://msdn.microsoft.com/en-us/library/69xzf91x.aspx

 Смежные вопросы

  • Нет связанных вопросов^_^