Однажды посреди жаркого августовского дня я получил письмо от Холмса – он срочно просил меня приехать на Бейкер-стрит. Когда я вошел в кабинет, там уже сидела на краешке стула девушка, одетая скромно, но с большим вкусом.
«Знакомьтесь, это мисс Уинсли», — сказал Холмс, указав на нее рукой. «Она расскажет свою историю, которая должна вас заинтересовать», — слегка прищурившись, добавил он.
История мисс Уинсли
Девушка начала свой рассказ, собираясь с силами через каждые две-три фразы и не переставая нервно теребить в руках платочек. Отец ее умер, когда она была еще крохой, и мать вышла замуж повторно за некого мистера Гейтса. Тот был весьма богат, но особых щедрот падчерице не перепадало.
Три года назад ее мать умерла, а недавно этот мир покинул и отчим. Почти все свое состояние он завещал фонду по борьбе с пиратскими сборками Windows. Девушке причиталась лишь малая толика, которой, впрочем, ей бы хватило на годы безбедного существования. Однако, то ли из вредности, то ли просто в шутку, мистер Гейтс включил в завещание особый пункт.
Чтобы получить свою долю наследства, мисс Уинсли должна была найти способ запустить проводник Windows 7 с правами администратора, не отключая контроль учетных записей. Причем на поиски решения ей отводилось ровно неделя.
За предыдущие шесть дней девушка сбилась с ног, пытаясь найти решение. Она обращалась к самым известным детективам, но все они говорили ей, что это невозможно.
Мисс Уинсли тяжело вздохнула и подняла на нас глаза, полные мольбы:
— Джентльмены, вы – моя последняя надежда! Если до вечера вы не подберете ключ к загадке, я обречена на нищенское существование.
Холмс задумчиво посмотрел на нее:
— Обычно, я избегаю дел, которые нужно решить к определенному сроку. Но поскольку все ваши карты уже биты, я возьмусь за это дело. Думаю, доктор Ватсон мне в этом поможет.
Когда девушка ушла, Холмс не спеша раскурил трубку и, наконец, обратился ко мне:
— Ватсон, вы сияете как бляха того усатого «бобби», что стоит сейчас на углу. Вам что, известно решение?
В тупике
Я всегда считал, что Холмс не слишком разбирается в современных технологиях – именно поэтому он меня и позвал! Компьютер он использовал разве что для чтения криминальной хроники, да скачивания нот для своих скрипичных упражнений.
Ни слова не говоря, я раскрыл ноутбук, который верой и правдой служил мне еще с иракской кампании. Запустив диспетчер задач с полными правами, я быстро завершил процесс explorer.exe, открыл Файл – Новая задача, ввел там explorer /separate и нажал Enter.
Не скрывая торжества, я подвинул Холмсу ноутбук с открывшимся окном проводника.
— У explorer.exe есть недокументированный ключ /separate, запускающий проводник в отдельном процессе. Запуск такой команды с полными правами — это и есть ключ к разгадке, Холмс!
— Ватсон, во-первых, есть более гуманные способы завершения проводника…
Длинные пальцы Холмса быстро забегали по клавиатуре, открывая доселе неведомые мне возможности оболочки Windows. «А во-вторых…», — он щелкнул в адресной строке проводника, ввел cmd, нажал Enter и ткнул мундштуком трубки в заголовок окна командной строки. К моему стыду, там не было написано «Администратор».
— Друг мой, надеюсь, вы понимаете, что окно проводника все-таки было открыто с обычными правами?
— Гм… погодите Холмс, но этот способ точно работал в Windows XP!
Я начал догадываться, почему за шесть дней никто не смог помочь мисс Уинсли. Вид у меня был, наверное, не слишком радостный.
О чем рассказал Process Explorer
Холмс с сожалением взглянул на меня через кольцо дыма:
— Windows XP… У вас есть Process Explorer? Хочу показать вам одну любопытную вещь.
Я, как и любой опытный врач, всегда таскаю в саквояже инструменты компании Sysinternals.
— Ватсон, когда вы запустили проводник в отдельном процессе, повышения прав не произошло, и у процесса остался средний уровень целостности. Но посмотрите внимательнее.
Увеличить рисунок
— Process Explorer показывает, что отдельный процесс проводника запущен из-под процесса svchost.exe командой:
explorer.exe /factory,{75dff2b7-6936-4c06-a8bb-676a7b00b24b} –Embedding
Холмс навел курсор на процесс svchost.exe, и я увидел, что это служба запуска процессов DCOM-сервера. Он подвинул мне ноутбук, откинулся на спинку кресла и загадочно улыбнулся. Было непонятно, знает ли он точное решение, но направление для поисков он мне показал.
Поиски в реестре
Я открыл редактор реестра и запустил поиск по идентификатору {75dff2b7-6936-4c06-a8bb-676a7b00b24b}, который используется в командной строке проводника. Он привел меня в один из подразделов HKEY_CLASSES_ROOT\CLSID. Исходя из названия параметра по умолчанию, подраздел отвечал за запуск нескольких процессов проводника одновременно.
Увеличить рисунок
В параметре AppID содержался другой идентификатор, очевидно, относящийся к приложению «Проводник». Дальнейший поиск по нему в реестре привел меня в раздел
HKEY_CLASSES_ROOT\AppID\{CDCBCFCA-3CDC-436f-A4E2-0E02075250C2}
Увеличить рисунок
В параметре по умолчанию там было указано Elevated-Unelevated Explorer Factory, что явно намекало на связь с запуском проводника с полными и обычными правами.
— Холмс, параметр RunAs со значением Interactive User, очевидно, указывает на тип учетной записи для запуска процесса. Возможно, есть другие допустимые значения!
Я открыл браузер, намереваясь поискать в Интернете, но Холмс внезапно остановил меня:
— Минутку, Ватсон! Иногда полезно подумать самому, пока Гугл не отучил вас от этого достойного занятия. Вы слышали про оснастку «Службы компонентов»?
Секретные службы [компонентов]
Холмс нашел оснастку поиском в меню «Пуск» (впоследствии я узнал, что можно еще запустить исполняемый файл dcomcnfg.exe).
— Ее основным назначением является настройка объектов DCOM, и вот вам компонент Elevated-Unelevated Explorer Factory. Это не случайное совпадение!
Холмс открыл свойства компонента, и я увидел, что на вкладке «Удостоверение» предусмотрен выбор учетной записи для запуска процессов проводника.
«Параметр Текущий пользователь (Interactive User) соответствует значению параметра RunAs в реестре», — с авторитетным видом пояснил Холмс.
Увидев и другие варианты, я предположил, что этот параметр ограничивает запуск проводника текущими правами учетной записи, которые даже у администратора являются обычными.
— Получается, нужно попробовать установить параметр «Запускающий пользователь». Однако почему все опции заблокированы, Холмс?
— Это же элементарно, Ватсон!
Смена типа учетной записи для запуска проводника
Холмс переключился в редактор реестра.
— Поскольку в оснастке невозможно изменить тип учетной записи, у вас нет прав на внесение изменений в раздел реестра. Это происходит в случае, если его владельцем является системная учетная запись TrustedInstaller.
Он ловко получил доступ к разделу реестра и перезапустил оснастку. Чудесным образом в свойствах компонента Elevated-Unelevated Explorer Factory появилась возможность изменить тип учетной записи!
Затем Холмс снова вернулся в раздел HKEY_CLASSES_ROOT\AppID\{CDCBCFCA-3CDC-436f-A4E2-0E02075250C2} и продемонстрировал мне, что параметр RunAs исчез после изменения в оснастке.
Невозмутимо попыхивая трубкой, Холмс вернул исходные права и владельца раздела реестра на свои места, пояснив при этом:
— Как видите, изменение типа учетной записи для запуска проводника возможно двумя способами – в оснастке «Службы компонентов» и прямо в реестре. Впрочем, Ватсон, я не рекомендую вам удалять параметр реестра, т.к. достаточно переименовать его, например, в xRunAs.
Он подвинул мне ноутбук, давая понять, что проблема мисс Уинсли решена, и ехидно добавил:
— Кстати, Ватсон, теперь вовсе необязательно завершать все процессы проводника. Просто используйте ваш недокументированный ключ.
Запуск проводника с полными правами
Я открыл командую строку с полными правами и выполнил explorer.exe /separate. Теперь запущенный процесс проводника (PID 5948) имел высокой уровень целостности.
Увеличить рисунок
— Значит, «Текущий пользователь» (Interactive User) соответствует маркеру безопасности с обычными правами, который по умолчанию выдается даже администратору?
— Абсолютно верно, Ватсон! Вспомните историю про два билета на спектакль. Когда команда выполняется от имени администратора, «Запускающий пользователь» уже соответствует маркеру безопасности администратора. Поэтому теперь у проводника высокий уровень целостности, а его права полноценно повысились.
Я ввел в адресной строке проводника cmd, и командная строка открылась с полными правами (PID 2612).
— Можно вызывать мисс Уинсли?
— Конечно, Ватсон! И думаю, девушке будет приятно, если вы добавите ей в контекстное меню пункт для запуска проводника от имени администратора. Это послужит наглядным объяснением для распорядителей последней воли мистера Гейтса.
Пункт контекстного меню для запуска проводника с полными правами
Едва переступив порог, мисс Уинсли воскликнула:
— Джентльмены, неужели вы смогли найти решение всего за час?
— Позвольте ваш нетбук, леди. Доктор Ватсон покажет вам решение.
Мисс Уинсли достала из объемной сумочки серебристый VAIO и протянула мне. Уже через пару минут я создал в контекстном меню пункт для открытия папки от имени администратора.
Windows Registry Editor Version 5.00 ;Контекстное меню папки [HKEY_CLASSES_ROOT\Directory\shell\ExplorerElevated] @="Открыть папку от имени администратора" ;Отображение пункта только при нажатой клавише SHIFT "Extended"="" "Icon"="imageres.dll,73" [HKEY_CLASSES_ROOT\Directory\shell\ExplorerElevated\command] @="nircmd.exe elevate explorer.exe /separate /root,\"%1\"" ;Контекстное меню фона папки и рабочего стола [HKEY_CLASSES_ROOT\Directory\Background\shell\ExplorerElevated] @="Открыть папку от имени администратора" ;Отображение пункта только при нажатой клавише SHIFT "Extended"="" "Icon"="imageres.dll,73" [HKEY_CLASSES_ROOT\Directory\Background\shell\ExplorerElevated\command] @="nircmd.exe elevate explorer.exe /separate /root,\"%V\""
— Мисс Уинсли, выбрав этот пункт и согласившись с запросом контроля учетных записей, вы откроете папку проводника с полными правами. Все программы, запущенные из этого окна проводника, тоже будут иметь права администратора. Перетаскивание файлов в программы с любыми правами также будет работать.
Впервые за время пребывания на Бейкер-стрит мисс Уинсли улыбнулась, и ее глаза засветились от счастья. Прижимая к груди нетбук, она осыпала меня словами благодарности, заставив даже покраснеть под ироничным взглядом Холмса.
Уже в дверях мисс Уинсли внезапно повернулась и спросила:
— Джентльмены, скажите, а это решение будет работать в Windows vNext? В завещании есть еще один пункт – я должна перейти на нее в день выхода RTM.
Я замер, но Холмс отреагировал моментально:
— Но ведь в завещании не сказано, что вы должны запускать проводник с полными правами в Windows vNext?
Девушка отрицательно покачала головой, подарила нам еще одну улыбку и скрылась за дверью.
А я не смог удержаться от вопроса:
— Откуда у вас такие глубокие познания в Windows, Холмс?
— Это элементарно, Ватсон! Я подписан на вестник «Think Outside the Box!», благодаря которому регулярно пополняю свой багаж знаний. Да и разобраться в Windows все-таки проще, чем научиться играть на скрипке!
Антивирусы не использую, для экономии оперативной памяти и высокой производительности.
По сайтам левым особо не хожу, но иногда приходится.
Добавлено через 20 минут
Кое что обнаружил.
Когда стандартный диспетчер задач закрыт вылезает rundll32.exe
Ссылка на скрин:
этот процесс нагружает систему на 42%.
Стоит открыть диспетчер задач — как процесс пропадает.
Добавлено через 15 минут
Нашел подозрительный процесс с название explorer.exe
путь его выглядит так:
C:\windows\explorer.exe /factory,{75dff2b7-6936-4c06-a8bb-676a7b00b24b} -Embedding
при закрытие ДЗ, rundll32.exe запускается.
При открытие ДЗ, rundll32.exe закрывается.
Если при открытом ДЗ, еще завершить работу этого файла
C:\windows\explorer.exe /factory,{75dff2b7-6936-4c06-a8bb-676a7b00b24b} -Embedding
и закрыть ДЗ, то rundll32.exe не запускается.
Если выполнить в Win+R команду запуска:
C:\windows\explorer.exe /factory,{75dff2b7-6936-4c06-a8bb-676a7b00b24b} -Embedding
rundll32.exe запускается сразу же и нагружает ЦП на 45%
Надеюсь моя информация поможет в решение проблемы.
UPD: теперь даже без файла:
C:\windows\explorer.exe /factory,{75dff2b7-6936-4c06-a8bb-676a7b00b24b} -Embedding
запускается Rundll32.exe и нагружает процессор.
-
Coldblackice
- Posts: 80
- Joined: Sun Jul 13, 2014 12:20 am
Everything spawns more and more Explorer.exe’s
Every time I explore a path/directory from within Everything, it spawns a new Explorer.exe process. Additionally, these new processes don’t disappear when I close the folder that was opened.
Is it possible to prevent this? I currently have 5 extra Explorer’s open right now that were spawned by Everything, even though the original folders have already been closed.
-
void
- Developer
- Posts: 17445
- Joined: Fri Oct 16, 2009 11:31 pm
Re: Everything spawns more and more Explorer.exe’s
Post
by void »
Does changing Launch folder windows in a separate process make any difference?
To toggle this option:
From the Start menu, click Control Panel.
Open Folder Options.
Click the View tab.
Check or uncheck Launch folder windows in a separate process.
Click OK.
There’s not much I can do to prevent this, it sounds like an issue with Windows Explorer.
Does this issue occur if you run Explorer.exe manually or from other applications?
-
therube
- Posts: 5233
- Joined: Thu Sep 03, 2009 6:48 pm
Re: Everything spawns more and more Explorer.exe’s
Post
by therube »
I see them being created, but then I also see them being destructed after < 30 seconds after closing the Explorer window.
Win7.
Launch folder windows in a separate process is unchecked in my case.
Windows Explorer does not open a new explorer.exe process for each window.
Windows Explorer does not open a new explorer.exe process for each window even when Launch folder windows in a separate process is enabled.
With Launch folder windows in a separate process is enabled, directories opened from within Everything still creates additional explorer.exe processes, but again, they do still die after a short period of time after closing the window.
-
Coldblackice
- Posts: 80
- Joined: Sun Jul 13, 2014 12:20 am
Re: Everything spawns more and more Explorer.exe’s
Post
by Coldblackice »
I’ve always had «Launch folder windows in a separate process» disabled.
Doing this in other programs doesn’t have the problem. For example, in uTorrent, double-clicking to open folders doesn’t spawn any additional Explorers, nor does right-clicking and selecting «Open containing folder».
What’s strange is that, in Everything, if there are folders that appear as results of a search, if I double-click a folder-result, it opens a window but doesn’t start any additional Explorer.exe’s. However, if I instead double-click the path of a search result, it opens a window that spawns a new Explorer.exe «/factory…-Embedding». Additionally, if I right-click a search result and do «Open path», this also spawns new Explorer.exe’s, as well as the keyboard shortcut I’ve set in Everything for that function.
Is it possible to use the same function for this that happens when we double-click a folder-result? I don’t understand why new Explorer’s have to be spawned with these extra switches/parameters (i.e., «Explorer.exe /factory,{75dff2b7-6936-4c06-a8bb-676a7b0024b} -Embedding»). Is it possible to use already-existing Explorer.exe, without the new process + switches?
-
void
- Developer
- Posts: 17445
- Joined: Fri Oct 16, 2009 11:31 pm
Re: Everything spawns more and more Explorer.exe’s
Post
by void »
Is it possible to use the same function for this that happens when we double-click a folder-result?
It appears the issue only occurs when passing a command line option to explorer.
Please try changing the open path command to open explorer with no parameters:
- In Everything, from the Tools menu, click Options.
- Click the Context Menu tab.
- Select Open Path.
- Change the Command to:
- Click OK.
-
Coldblackice
- Posts: 80
- Joined: Sun Jul 13, 2014 12:20 am
Re: Everything spawns more and more Explorer.exe’s
Post
by Coldblackice »
void wrote:
Is it possible to use the same function for this that happens when we double-click a folder-result?
It appears the issue only occurs when passing a command line option to explorer.
Please try changing the open path command to open explorer with no parameters:
- In Everything, from the Tools menu, click Options.
- Click the Context Menu tab.
- Select Open Path.
- Change the Command to:
- Click OK.
It works!! Fantastic!!
What’s the difference with this setting? Why isn’t it the default?
-
void
- Developer
- Posts: 17445
- Joined: Fri Oct 16, 2009 11:31 pm
Re: Everything spawns more and more Explorer.exe’s
Post
by void »
What’s the difference with this setting? Why isn’t it the default?
This command does not select the file you had selected in Everything.
I will review making this the default option.
-
jeffrywang
- Posts: 1
- Joined: Mon Dec 01, 2014 2:34 am
Re: Everything spawns more and more Explorer.exe’s
Post
by jeffrywang »
maybe we can use the shortcut way?
if we create shortcut of a file or folder,and right clicking it we get the OpenContainingFolderMenu({37ea3a21-7493-4208-a011-7f9ea79ce9f5}) . both in explorer or in everyting.
and this OpenContainingFolderMenuworks well.
added
ref http://stackoverflow.com/questions/3010 … n-explorer
void BrowseToFile(LPCTSTR filename)
{
CoInitialize(NULL);
ITEMIDLIST *pidl = ILCreateFromPath(filename);
if(pidl) {
SHOpenFolderAndSelectItems(pidl,0,0,0);
ILFree(pidl);
}
CoUninitialize();
}
with attachment ang config like this
$exec(«C:\Windows\OpenContainingFolder.exe» «%1»)
we can solved this.
- Attachments
-
- OpenContainingFolder.7z
- (3.09 KiB) Downloaded 520 times
Import table
advapi32.dll
RegCloseKey, RegCreateKeyW, RegGetValueW, RegOpenKeyExW, GetTraceEnableFlags, GetTraceEnableLevel, GetTraceLoggerHandle, RegisterTraceGuidsW, UnregisterTraceGuids, RegCreateKeyExW, RegQueryValueExW, EventRegister, EventUnregister, EventWrite, EventEnabled, GetLengthSid, GetTokenInformation, OpenProcessToken, RegSetValueExW, RegDeleteKeyExW, TraceMessage, RegOpenKeyW, RegDeleteValueW, RegEnumValueW, RegQueryInfoKeyW, ConvertStringSidToSidW, CloseServiceHandle, OpenServiceW, OpenSCManagerW, RegEnumKeyExW, CreateWellKnownSid, StartServiceW, CryptAcquireContextW, CryptCreateHash, CryptHashData, CryptGetHashParam, CryptDestroyHash, CryptReleaseContext, StartTraceW, EnableTraceEx, StopTraceW, LsaLookupSids, IsValidSid, GetSidSubAuthorityCount, GetSidSubAuthority, LsaOpenPolicy, LsaFreeMemory, LsaClose, OpenThreadToken, ConvertSidToStringSidW, ConvertStringSecurityDescriptorToSecurityDescriptorW, CheckTokenMembership, QueryServiceStatus, GetUserNameW, RegEnumKeyW, RegOpenCurrentUser, LookupAccountNameW, EqualSid
api-ms-win-core-atoms-l1-1-0.dll
GlobalGetAtomNameW
api-ms-win-core-com-l1-1-0.dll
CoTaskMemFree, CoInitializeEx, CoUninitialize, CreateStreamOnHGlobal, CoGetApartmentType, CoWaitForMultipleHandles, CoFreeUnusedLibraries, CoEnableCallCancellation, CoDisableCallCancellation, CoCancelCall, StringFromGUID2, PropVariantClear, CoMarshalInterThreadInterfaceInStream, CoReleaseMarshalData, CoCreateInstance, CoRevokeClassObject, CoRegisterClassObject, CoGetInterfaceAndReleaseStream, CoGetMalloc, CoCreateFreeThreadedMarshaler, CoTaskMemAlloc, CLSIDFromString, CoTaskMemRealloc
api-ms-win-core-com-l1-1-1.dll
CoCreateGuid, CoTaskMemRealloc, CoInitializeEx, CLSIDFromString, CoTaskMemFree, CoCreateInstance, CoTaskMemAlloc, CoGetMalloc, PropVariantClear, CoCancelCall, CoRevokeClassObject, StringFromGUID2, CoGetApartmentType, CreateStreamOnHGlobal, CoSetProxyBlanket, CoWaitForMultipleHandles, CoGetInterfaceAndReleaseStream, CoUninitialize, CoReleaseMarshalData, CoMarshalInterThreadInterfaceInStream, CoFreeUnusedLibraries, CoRegisterClassObject, CoDisableCallCancellation, CoEnableCallCancellation, CoCreateFreeThreadedMarshaler, RoGetAgileReference
api-ms-win-core-com-private-l1-1-0.dll
CoRegisterMessageFilter
api-ms-win-core-datetime-l1-1-1.dll
GetDateFormatW, GetDateFormatEx, GetTimeFormatEx
api-ms-win-core-debug-l1-1-1.dll
OutputDebugStringA
api-ms-win-core-delayload-l1-1-1.dll
DelayLoadFailureHook, ResolveDelayLoadedAPI
api-ms-win-core-errorhandling-l1-1-1.dll
SetErrorMode, SetUnhandledExceptionFilter, SetLastError, GetLastError, RaiseException, UnhandledExceptionFilter
api-ms-win-core-file-l1-2-0.dll
GetLongPathNameW, ReadFile, CreateFileW, WriteFile, GetFileSize, FindClose, CompareFileTime, DeleteFileW, FindNextFileW, FindFirstFileW, GetFileAttributesW
api-ms-win-core-file-l1-2-1.dll
WriteFile, CreateFileW, FindClose, CreateDirectoryW, FindNextFileW, CompareFileTime, FindFirstFileW, GetFileAttributesW, DeleteFileW, FindFirstFileExW, RemoveDirectoryW, GetLongPathNameW, SetFileTime
api-ms-win-core-handle-l1-1-0.dll
DuplicateHandle, CloseHandle
api-ms-win-core-heap-l1-2-0.dll
HeapFree, HeapDestroy, HeapSetInformation, HeapAlloc, GetProcessHeap
api-ms-win-core-heap-obsolete-l1-1-0.dll
LocalFree, GlobalFree, GlobalAlloc, LocalReAlloc, LocalAlloc, GlobalLock, GlobalUnlock
api-ms-win-core-interlocked-l1-2-0.dll
InterlockedPushEntrySList, InterlockedPopEntrySList, InterlockedExchange, InterlockedIncrement, InterlockedCompareExchange, InterlockedDecrement
api-ms-win-core-io-l1-1-1.dll
GetQueuedCompletionStatus, CreateIoCompletionPort
api-ms-win-core-job-l2-1-0.dll
AssignProcessToJobObject, QueryInformationJobObject, CreateJobObjectW, SetInformationJobObject
api-ms-win-core-kernel32-legacy-l1-1-0.dll
CopyFileW, RaiseFailFastException, MulDiv, LoadLibraryW, GetComputerNameW
api-ms-win-core-kernel32-legacy-l1-1-1.dll
RaiseFailFastException, CreateSemaphoreW, PowerCreateRequest, MoveFileW, CopyFileW, MulDiv, LoadLibraryW, PowerSetRequest, RegisterWaitForSingleObject
api-ms-win-core-libraryloader-l1-1-1.dll
LoadStringW, FindResourceExW, LoadResource, LockResource, LoadLibraryExW, GetModuleHandleW, FreeLibrary, GetProcAddress, GetModuleHandleExW, FreeLibraryAndExitThread, GetModuleHandleA, GetModuleFileNameW
api-ms-win-core-libraryloader-l1-2-0.dll
GetModuleHandleA, GetProcAddress, LoadStringW, FindResourceExW, LoadLibraryExW, GetModuleHandleExW, FreeLibrary, GetModuleFileNameW, LoadResource, FreeLibraryAndExitThread, SizeofResource, LockResource, GetModuleHandleW
api-ms-win-core-localization-l1-2-0.dll
GetLocaleInfoW, GetThreadUILanguage
api-ms-win-core-localization-l1-2-1.dll
FormatMessageW, GetUserPreferredUILanguages, IsValidLocaleName, GetThreadUILanguage, GetLocaleInfoW
api-ms-win-core-localization-obsolete-l1-1-0.dll
GetUserDefaultUILanguage
api-ms-win-core-localization-obsolete-l1-2-0.dll
GetUserDefaultUILanguage
api-ms-win-core-memory-l1-1-1.dll
MapViewOfFile, VirtualAlloc, UnmapViewOfFile, CreateFileMappingW, VirtualFree
api-ms-win-core-memory-l1-1-2.dll
VirtualFree, CreateFileMappingW, MapViewOfFile, UnmapViewOfFile, VirtualAlloc
api-ms-win-core-path-l1-1-0.dll
PathCchCombine, PathCchAppend, PathCchAddExtension
api-ms-win-core-processenvironment-l1-2-0.dll
GetCommandLineW, ExpandEnvironmentStringsW, SearchPathW, GetCurrentDirectoryW
api-ms-win-core-processthreads-l1-1-1.dll
SetProcessShutdownParameters, GetCurrentThreadId, GetCurrentThread, GetCurrentProcessId, CreateProcessW, GetStartupInfoW, OpenProcessToken, GetThreadPriority, OpenProcess, OpenThreadToken, CreateThread, SetPriorityClass, OpenThread, GetPriorityClass, TerminateProcess, ResumeThread, FlushInstructionCache, IsProcessorFeaturePresent, GetProcessId, GetCurrentProcess, ExitProcess, SetThreadPriority, TerminateThread
api-ms-win-core-processthreads-l1-1-2.dll
TerminateThread, GetExitCodeProcess, SetThreadPriorityBoost, TlsFree, GetPriorityClass, TerminateProcess, OpenProcessToken, QueueUserAPC, ResumeThread, SetPriorityClass, GetCurrentThread, TlsAlloc, FlushInstructionCache, GetCurrentProcess, SetProcessShutdownParameters, CreateThread, GetProcessId, OpenProcess, CreateProcessW, IsProcessorFeaturePresent, TlsSetValue, ExitProcess, GetThreadPriority, OpenThreadToken, GetCurrentThreadId, GetCurrentProcessId, SetThreadPriority, GetStartupInfoW, OpenThread
api-ms-win-core-profile-l1-1-0.dll
QueryPerformanceCounter, QueryPerformanceFrequency
api-ms-win-core-psapi-l1-1-0.dll
QueryFullProcessImageNameW
api-ms-win-core-registry-l1-1-0.dll
RegDeleteValueW, RegQueryInfoKeyW, RegEnumKeyExW, RegQueryValueExW, RegCreateKeyExW, RegCloseKey, RegOpenKeyExW, RegGetValueW, RegEnumValueW, RegOpenCurrentUser, RegSetValueExW
api-ms-win-core-registry-l2-1-0.dll
RegCreateKeyW, RegDeleteKeyW
api-ms-win-core-registryuserspecific-l1-1-0.dll
SHRegGetUSValueW, SHRegGetBoolUSValueW
api-ms-win-core-shlwapi-legacy-l1-1-0.dll
PathStripPathW, SHExpandEnvironmentStringsW, PathFindExtensionW, PathParseIconLocationW, PathFileExistsW, PathGetDriveNumberW, PathCommonPrefixW, PathRemoveBlanksW, PathFindFileNameW, PathRemoveExtensionW, PathCombineW, PathIsFileSpecW, PathGetArgsW, PathRemoveFileSpecW, PathQuoteSpacesW, PathStripToRootW, PathIsRootW, PathIsPrefixW
api-ms-win-core-shlwapi-obsolete-l1-1-0.dll
StrCmpW, StrCmpICA, SHLoadIndirectString, StrCmpIW, StrCmpNIW, StrRStrIW, StrCmpICW, StrChrW, StrToIntW, QISearch, StrCmpNICW, StrChrIW, StrStrIW, StrTrimW, StrCmpNW, StrCmpCW, StrRChrW
api-ms-win-core-sidebyside-l1-1-0.dll
CreateActCtxW, ReleaseActCtx, ActivateActCtx, DeactivateActCtx
api-ms-win-core-string-l1-1-0.dll
MultiByteToWideChar, CompareStringOrdinal, WideCharToMultiByte, CompareStringW
api-ms-win-core-string-l2-1-0.dll
IsCharAlphaNumericW, CharPrevW, CharUpperW, CharNextW, CharLowerW
api-ms-win-core-string-obsolete-l1-1-0.dll
lstrcmpiW, lstrlenW
api-ms-win-core-synch-l1-2-0.dll
InitOnceExecuteOnce, Sleep, OpenMutexW, ReleaseMutex, LeaveCriticalSection, EnterCriticalSection, DeleteCriticalSection, InitializeCriticalSectionEx, CreateEventExW, WaitForSingleObject, InitializeCriticalSection, CreateMutexW, CreateEventW, WaitForMultipleObjectsEx, OpenSemaphoreW, InitializeSRWLock, ResetEvent, AcquireSRWLockExclusive, ReleaseSRWLockExclusive, AcquireSRWLockShared, ReleaseSRWLockShared, ReleaseSemaphore, OpenEventW, SleepEx, SetEvent, WaitForSingleObjectEx
api-ms-win-core-sysinfo-l1-2-0.dll
GetTickCount64, GetTickCount, GetProductInfo, GetVersionExW, GetSystemDirectoryW, GetSystemTimeAsFileTime, GetSystemTime, GetWindowsDirectoryW, GetLocalTime
api-ms-win-core-sysinfo-l1-2-1.dll
GetTickCount64, GetLocalTime, GetSystemTime, GetProductInfo, GetVersionExW, GetTickCount, GetSystemTimeAsFileTime, GetWindowsDirectoryW, GetSystemDirectoryW, GetOsSafeBootMode
api-ms-win-core-threadpool-l1-2-0.dll
CreateThreadpoolTimer, FreeLibraryWhenCallbackReturns, SubmitThreadpoolWork, CallbackMayRunLong, CloseThreadpoolTimer, CreateThreadpoolWork, SetThreadpoolWait, CreateThreadpoolWait, TrySubmitThreadpoolCallback, SetThreadpoolTimer, WaitForThreadpoolTimerCallbacks
api-ms-win-core-threadpool-legacy-l1-1-0.dll
CreateTimerQueueTimer, UnregisterWaitEx, ChangeTimerQueueTimer, DeleteTimerQueueTimer, QueueUserWorkItem
api-ms-win-core-timezone-l1-1-0.dll
GetDynamicTimeZoneInformation, SystemTimeToFileTime, GetTimeZoneInformation
api-ms-win-core-winrt-l1-1-0.dll
RoGetActivationFactory
api-ms-win-core-winrt-string-l1-1-0.dll
WindowsCreateStringReference, WindowsCreateString, WindowsGetStringRawBuffer, WindowsDeleteString
api-ms-win-eventing-classicprovider-l1-1-0.dll
GetTraceEnableLevel, GetTraceEnableFlags, RegisterTraceGuidsW, UnregisterTraceGuids, GetTraceLoggerHandle, TraceMessage
api-ms-win-eventing-controller-l1-1-0.dll
EnableTraceEx2, StartTraceW, StopTraceW
api-ms-win-eventing-provider-l1-1-0.dll
EventWrite, EventRegister, EventUnregister, EventEnabled
api-ms-win-power-base-l1-1-0.dll
CallNtPowerInformation, GetPwrCapabilities, PowerDeterminePlatformRoleEx
api-ms-win-security-base-l1-2-0.dll
GetLengthSid, CopySid, CreateWellKnownSid, IsValidSid, CheckTokenMembership, GetTokenInformation, GetSidSubAuthority, GetSidSubAuthorityCount
api-ms-win-security-lsalookup-l1-1-1.dll
EnumerateIdentityProviders, ReleaseIdentityProviderEnumContext, GetIdentityProviderInfoByGUID, GetDefaultIdentityProvider
api-ms-win-service-management-l2-1-0.dll
QueryServiceConfigW, NotifyServiceStatusChangeW
d3d11.dll
D3D11CreateDevice
dwmapi.dll
DwmEnableBlurBehindWindow, DwmIsCompositionEnabled, DwmSetWindowAttribute, DwmQueryThumbnailSourceSize, DwmUnregisterThumbnail, DwmUpdateThumbnailProperties, DwmGetColorizationColor, DwmRegisterThumbnail
gdi32.dll
GetStockObject, SetWindowOrgEx, StretchBlt, GetTextMetricsW, CombineRgn, Polyline, CreatePen, GetTextColor, ExtCreateRegion, GetRegionData, SetLayout, GetLayout, GetTextExtentPoint32W, OffsetRgn, LPtoDP, GetRgnBox, OffsetViewportOrgEx, GdiFlush, ExtTextOutW, SetDIBits, CreateRectRgn, GetClipRgn, IntersectClipRect, GetViewportOrgEx, SetViewportOrgEx, SelectClipRgn, GetBkColor, SetBkMode, CreateBitmap, PatBlt, CreateCompatibleBitmap, OffsetWindowOrgEx, SetBkColor, SetTextColor, GetTextExtentPointW, GetClipBox, CreateDIBSection, GetObjectW, CreateRectRgnIndirect, DeleteObject, CreateCompatibleDC, SelectObject, BitBlt, GetDeviceCaps, CreateFontIndirectW, DeleteDC, GdiAlphaBlend, CreatePatternBrush, GetPixel, CreateSolidBrush, SetTextAlign, GetDIBits, Rectangle, StretchDIBits
gdiplus.dll
GdipAlloc, GdiplusStartup, GdiplusShutdown, GdipFree, GdipDeleteGraphics, GdipDisposeImage, GdipGetImageWidth, GdipGetImageHeight, GdipCreateBitmapFromHBITMAP, GdipCreateFromHDC, GdipSetCompositingMode, GdipSetInterpolationMode, GdipDrawImageRectI, GdipCloneImage, GdipCreateBitmapFromStream, GdipLoadImageFromFileICM, GdipLoadImageFromFile, GdipCreateBitmapFromStreamICM
kernel32.dll
DllMain, LoadLibraryExA, DelayLoadFailureHook, CreateFileW, GetFileSize, ReadFile, RaiseException, FlushInstructionCache, SetLastError, OpenThread, GetSystemTimeAsFileTime, GetLocaleInfoW, GetTimeFormatW, GetDateFormatW, GetLocalTime, InterlockedCompareExchange, FindFirstFileW, lstrcmpiW, FindNextFileW, FindClose, GetFileAttributesW, GetSystemTime, SystemTimeToFileTime, ExpandEnvironmentStringsW, InterlockedIncrement, InterlockedDecrement, GetLastError, SetInformationJobObject, CreateJobObjectW, GetPriorityClass, SetPriorityClass, OpenProcess, SearchPathW, GetSystemDefaultUILanguage, UnmapViewOfFile, MapViewOfFile, GetTimeZoneInformation, GetDynamicTimeZoneInformation, GetBinaryTypeW, QueryPerformanceFrequency, GetTickCount64, MulDiv, GetLongPathNameW, GetThreadPriority, MultiByteToWideChar, GlobalGetAtomNameW, GetCurrentThread, SetThreadPriority, QueueUserWorkItem, LoadLibraryExW, GetProductInfo, TerminateThread, CreateIoCompletionPort, GetQueuedCompletionStatus, DeleteFileW, GetWindowsDirectoryW, GetProcessId, CompareStringW, QueryFullProcessImageNameW, CompareFileTime, CreateFileMappingW, ResetEvent, WideCharToMultiByte, GlobalAlloc, GlobalLock, GlobalUnlock, GlobalFree, DuplicateHandle, GetCurrentDirectoryW, WaitForMultipleObjects, GetComputerNameW, DeactivateActCtx, ActivateActCtx, ReleaseActCtx, CreateActCtxW, FindResourceExW, LoadResource, LockResource, CloseHandle, LocalFree, LocalAlloc, QueryInformationJobObject, Sleep, ResumeThread, AssignProcessToJobObject, CreateThread, CreateProcessW, WaitForSingleObject, FreeLibrary, GetProcAddress, LoadLibraryW, GetUserDefaultUILanguage, CreateEventW, lstrlenW, HeapFree, HeapAlloc, GetProcessHeap, GetCurrentProcess, HeapSetInformation, GetVersionExW, DeleteCriticalSection, InitializeCriticalSection, HeapDestroy, GetPrivateProfileStringW, GetModuleFileNameW, GetCommandLineW, GetSystemDirectoryW, ExitProcess, RegisterApplicationRestart, SetProcessShutdownParameters, GetStartupInfoW, ReleaseMutex, CreateMutexW, SetErrorMode, SetProcessDEPPolicy, GetUserDefaultLangID, SetEvent, LeaveCriticalSection, EnterCriticalSection, GetTickCount, OpenEventW, SetTermsrvAppInstallMode, GetCurrentProcessId, GetModuleHandleW, GetCurrentThreadId, TerminateProcess, UnhandledExceptionFilter, CompareStringOrdinal, QueryPerformanceCounter, GetModuleHandleA, SetUnhandledExceptionFilter, InterlockedExchange, VirtualAlloc, VirtualFree, LoadLibraryA, GetSystemWindowsDirectoryW, GetEnvironmentVariableW, GetPrivateProfileIntW, SetFilePointer, GetFileAttributesExW, GetProcessTimes, FormatMessageW, WriteFile, GetDateFormatEx, GetTimeFormatEx, WaitForMultipleObjectsEx, ResolveDelayLoadedAPI, ChangeTimerQueueTimer, DeleteTimerQueueTimer, CreateTimerQueueTimer, GetModuleHandleExW, CreateThreadpoolTimer, FreeLibraryWhenCallbackReturns, SetThreadpoolTimer, CloseThreadpoolTimer, GetSystemInfo, ProcessIdToSessionId, OpenMutexW, SetThreadExecutionState
msvcrt.dll
DllMain
ntdll.dll
WinSqmSetString, NtQueryInformationProcess, NtSetInformationProcess, WinSqmIsOptedIn, NtOpenThreadToken, NtOpenProcessToken, NtClose, WinSqmAddToStreamEx, NtSetSystemInformation, WinSqmAddToStream, WinSqmEventEnabled, WinSqmSetDWORD, EtwEventWrite, EtwEventEnabled, NtQueryInformationToken, RtlGetProductInfo, RtlNtStatusToDosError, RtlUnsubscribeWnfNotificationWaitForCompletion, RtlSubscribeWnfStateChangeNotification, RtlQueryWnfStateData, WinSqmIncrementDWORD, NtQueryWnfStateData
ole32.dll
OleInitialize, StringFromGUID2, CoRegisterMessageFilter, RegisterDragDrop, RevokeDragDrop, OleUninitialize, CoRevokeClassObject, CoCreateFreeThreadedMarshaler, CreateBindCtx, PropVariantClear, ReleaseStgMedium, CoInitializeEx, CreateStreamOnHGlobal, CoRegisterClassObject, CoCreateInstance, CoTaskMemFree, CoGetInterfaceAndReleaseStream, CoMarshalInterThreadInterfaceInStream, CoUninitialize, CoInitialize, CoGetMalloc, CoTaskMemAlloc, CLSIDFromString, CoFreeUnusedLibraries, CoGetClassObject, CoGetObject, DoDragDrop, CoTaskMemRealloc, CoReleaseMarshalData, CoGetApartmentType, CoWaitForMultipleHandles
powrprof.dll
CallNtPowerInformation, GetPwrCapabilities, PowerDeterminePlatformRole
propsys.dll
PropVariantToUInt32, PropVariantToStringAlloc, PropVariantToUInt64, PropVariantToBoolean, VariantToStringAlloc, VariantToStringWithDefault, PropVariantToString, VariantToBooleanWithDefault, VariantToInt32WithDefault, PSCreateMemoryPropertyStore, PropVariantToInt64, PSGetPropertyKeyFromName, PSPropertyKeyFromString, PSGetNameFromPropertyKey, PSGetPropertyDescription, PSPropertyBag_WriteDWORD, InitVariantFromResource, PropVariantToGUID
rpcrt4.dll
RpcBindingFree, RpcBindingSetAuthInfoExW, RpcStringFreeW, RpcBindingFromStringBindingW, RpcStringBindingComposeW, I_RpcExceptionFilter, NdrClientCall2
secur32.dll
GetUserNameExW
shcore.dll
IsOS, SHStrDupW, IUnknown_Set, IUnknown_QueryService, SHUnicodeToAnsi, SetProcessReference, SHCreateThreadRef, SHSetThreadRef, IUnknown_SetSite, SHRegGetValueW, SHGetValueW, SHSetValueW, SHDeleteValueW, SHCreateThread, SetCurrentProcessExplicitAppUserModelID, SHQueryValueExW, SHOpenRegStream2W, IStream_Reset, IStream_Read, SHCreateMemStream, SHAnsiToUnicode, IStream_Write, SHDeleteKeyW, GetDpiForMonitor, SHEnumKeyExW, SHGetThreadRef, SHQueryInfoKeyW, SHCreateStreamOnFileW, SHStrDupA
shell32.dll
DllMain, SHGetPropertyStoreForWindow, SHGetStockIconInfo, Shell_GetCachedImageIndexW, SHGetLocalizedName, SHCreateDataObject, SHCreateShellItemArrayFromShellItem, SHGetKnownFolderPath, SHCreateShellItemArrayFromIDLists, SHBindToFolderIDListParentEx, SHGetFileInfoW, SHCreateItemWithParent, SHGetFolderLocation, SHParseDisplayName, SHGetSpecialFolderPathW, ShellExecuteExW, SHGetKnownFolderIDList, SHBindToObject, SHGetNameFromIDList, SHCreateShellItem, SHGetPathFromIDListW, ShellExecuteW, SHEnableServiceObject, SHGetIDListFromObject, SHChangeNotifyRegisterThread, SHUpdateRecycleBinIcon, SHCreateItemFromIDList, SHFileOperationW, SHGetFolderPathEx, SHGetPathFromIDListA, SHGetFolderPathW, SHBindToParent, SHAddToRecentDocs, Shell_NotifyIconW, Shell_NotifyIconGetRect, ExtractIconExW, SHEvaluateSystemCommandTemplate, SHChangeNotify, SHCreateItemFromParsingName, DragQueryFileW, SHGetSpecialFolderLocation, SHBindToFolderIDListParent, SHGetDesktopFolder, DuplicateIcon, SHGetFolderPathAndSubDirW, SHOpenWithDialog, SHCreateAssociationRegistration, SHCreateItemInKnownFolder, SHAppBarMessage, SHGetKnownFolderItem, SHGetItemFromObject, SetCurrentProcessExplicitAppUserModelID, SHCreateShellItemArray
shlwapi.dll
DllMain, SHStrDupA, StrCmpW, PathCommonPrefixW, PathRemoveExtensionW, PathIsFileSpecW, StrRetToStrW, AssocCreate, StrRetToBufW, PathStripToRootW, AssocQueryStringW, PathQuoteSpacesW, SHDeleteKeyW, SHRegGetUSValueW, SHOpenRegStream2W, PathRemoveFileSpecW, SHRegGetBoolUSValueW, PathGetDriveNumberW, PathFileExistsW, PathIsDirectoryW, PathFindExtensionW, StrChrIW, PathAppendW, SHDeleteValueW, SHSetValueW, PathRemoveArgsW, PathRemoveBlanksW, StrCmpNIW, PathGetArgsW, PathFindFileNameW, SHGetValueW, SHCreateThreadRef, SHSetThreadRef, PathCombineW, SHRegGetValueW, StrToIntW, StrChrW, SHStrDupW, PathIsNetworkPathW, StrTrimW, StrCmpNW, SHQueryInfoKeyW, SHCreateStreamOnFileW, PathIsPrefixW, StrCmpIW, PathParseIconLocationW, PathIsRootW, AssocQueryKeyW, PathStripPathW, ChrCmpIW, StrStrIW, StrDupW, SHRegOpenUSKeyW, SHRegQueryUSValueW, PathMatchSpecW, SHQueryValueExW, StrPBrkW
slc.dll
SLGetWindowsInformationDWORD, SLUnregisterWindowsEvent, SLRegisterWindowsEvent
sspicli.dll
GetUserNameExW
user32.dll
DllMain
userenv.dll
GetProfileType
uxtheme.dll
BeginBufferedPaint, IsCompositionActive, IsAppThemed, GetThemeMetric, CloseThemeData, OpenThemeData, SetWindowTheme, DrawThemeBackground, GetThemeTextExtent, DrawThemeText, DrawThemeParentBackground, GetWindowTheme, GetThemePartSize, GetThemeBackgroundContentRect, EndBufferedPaint, GetThemeMargins, DrawThemeTextEx, BufferedPaintInit, BufferedPaintUnInit, IsThemeActive, GetThemeRect, IsThemePartDefined, GetThemeBackgroundRegion, GetThemeColor, GetThemeBool, DrawThemeIcon, GetBufferedPaintBits, BufferedPaintClear, GetThemeBackgroundExtent, GetThemeFont, GetThemeInt, GetCurrentThemeName
wtsapi32.dll
WTSFreeMemory, WTSQuerySessionInformationW