Нужен весь список защищенных ресурсов UAC для запуска моего приложения в качестве обычного пользователя (без изменений)

1

В связи с обновлением моего приложения VB6 для запуска в качестве стандартного пользователя, а не всегда требующего повышенных привилегий, мне сложно определить все биты устаревшего приложения VB6 (exe), которые мне нужно изменить.

На данный момент мое понимание того, что такое "Защищенный ресурс" в отношении ОАК, выглядит следующим образом:

В реестре вы не можете получить доступ к HK_LocalMachine (локальная машина) и вместо этого должен использовать HK_CurrentUser, потому что HK LocalMachine нуждается в повышенных привилегиях, а в CurrentUser нет.

В разделе "Файлы и папки" я знаю, что не могу получить доступ к каталогу Windows (C:\Windows) или любой из его подпапок, потому что это, в том числе каталог файлов программ (C:\Program Files), является защищенным ресурсом и требует высота, поэтому вместо этого мы должны использовать папку ProgramData, которая вместо этого не требует повышения.

Кроме того, я думаю, что некоторые программы требуют повышения, если вы хотите запустить их, например, средство просмотра событий? Есть ли список всех программ, для которых требуется выполнить высоту? Что относительно программ, которые запускаются внутри консоли cmd.exe?

Теперь я даже не уверен, правильно ли используется термин "Защищенный ресурс", потому что, когда я выполнял несколько разных типов поисковых запросов Google, я не мог найти другие защищенные ресурсы, о которых я не знаю. В принципе, мне нужно знать, что все остальные "Защищенные ресурсы" - это то, что я знаю, какие части моего приложения VB6 нужно изменить, чтобы я мог выполнять свое приложение на компьютерах пользователей ответственно (без необходимости повышения).

Поскольку мне не удалось найти список всех защищенных ресурсов, ограниченных UAC в Vista и выше, я не знаю, какие части моего VB6 EXE нужно изменить. Это в основном моя проблема. На данный момент единственное, что я знаю, мне нужно изменение: перечисленные выше элементы: в реестре, используя CurrentUser вместо LocalMachine и в FileSystem, используя ProgramData вместо% WinDir% и% ProgramFiles%. Каковы все вложенные в черный список каталоги?

В основном, поиск списка всех защищенных ресурсов ничего не возвращает в Google, может ли кто-нибудь направить меня на какой-то сайт, где я могу получить исчерпывающий список всех элементов, для которых требуется повышение, чтобы работать? Таким образом, я могу использовать альтернативный метод при повторной кодировке моего VB6 EXE, чтобы люди могли запускать мое приложение, не предоставляя ему административные привилегии?

Кроме того, любые различия в этих "Защищенных ресурсах" между Vista, Windows 7 и Windows 8/8.1 по мере необходимости или, как вы сочтете нужными, тем больше я знаю, тем лучше.

Кроме того, мне не удалось повторно протестировать каждую отдельную часть приложения, чтобы убедиться, что он перестает работать или нет, поскольку приложение имеет слишком много разных частей и составляет 20 000 строк кода. Мне нужен документ, который описывает это правильно, поэтому я могу пойти туда и изменить то, что нужно изменить, вместо того, чтобы пытаться проб и ошибок.

Спасибо огромное!

Обновление/Изменить/Резюме:

Вот пункты, которые я считаю полезными. Я знаю четыре (4) категории, которые содержат Protected Resources, это: Реестр, Папки Файловой системы, Приложения, установленные с Windows и Windows API.

1). Если есть другая категория или категории, которые могут содержать защищенные ресурсы, не стесняйтесь их перечислить. 2). Список ключей реестра, которые являются защищенными объектами реестра и требуют доступа для доступа. 3). Список папок, которые являются защищенными папками, и требует доступа для доступа. 4). Список приложений Windows, которые являются защищенными приложениями, и требует выполнения возведения. 5). Список API Windows, который является защищенным API и требует использования высоты.

  • 3
    UAC прост: если у вас нет повышенных прав, у вас нет привилегий администратора - точно так же, как если бы программа работала под стандартной учетной записью пользователя. Если ваша программа не работает под UAC в Vista, то она не работает для обычного пользователя в XP.
  • 1
    Доступ к файлам и реестру контролируется ACL; если вы не уверены, можете ли вы получить доступ к определенному каталогу или разделу реестра, вы можете проверить ACL. Некоторые API также требуют административного доступа, почти во всех случаях в документации MSDN для API об этом явно сказано, но, как правило, легко догадаться, если API делает то, что должен делать только администратор, то, вероятно, требуется администратор доступ; в противном случае это, вероятно, нет.
Показать ещё 15 комментариев
Теги:
vb6
uac

1 ответ

2

Когда приложение работает в обычной среде LUA, вы обычно имеете полный доступ к этому профилю пользователя. Это включает:

  1. Их папка профиля: C:\Users\[username]\
  2. Их улей реестра: HKEY_CURRENT_USER

В дополнение, любые настройки или изменения, которые применяются только к этому пользователю, могут быть сделаны без повышения.

Все, что находится за пределами этого, либо не имеет доступа, либо просто доступно только для чтения, включая (но не ограничиваясь этим):

  1. Глобальные настройки
  2. Улицы системного реестра: HKEY_LOCAL_MACHINE
  3. Системные папки: C:\Windows\, C:\Program Files\, C:\ProgramData\ (если явно не разрешено)
  4. Другие профили пользователей
  5. Доступ к жесткому оборудованию
  6. Следующая собака
  7. Коды запуска ракет-ядер

Дальнейшее чтение:

  1. Требования к разработке приложений Windows Vista для управления учетными записями пользователей (UAC)
  2. Требования к разработке приложений Windows Vista для совместимости с управлением учетными записями пользователей (более длинная статья)
  • 1
    У вас также есть доступ к любым другим дискам в системе, по крайней мере, насколько это позволяют ACL. Папки приложений, созданные в папке ProgramData, наследуют безопасность «владельца» по умолчанию, что означает, что обычные пользователи могут контролировать созданные ими элементы, в то время как другие могут только читать их. Обычно установщик создает такие папки и устанавливает для них настраиваемые права доступа.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню