BootshellcredentialProvider - донесение Linux des в Windows
BSCP позволяет загружать Windows непосредственно в опыт работы на рабочем столе Linux, используя нативный пользовательский интерфейс Windows и комбинацию Xming & WSL при входе в систему.




Начиная
Предварительные условия:
- VCXSRV должен быть установлен. Это бесплатная альтернатива Xming, которая оказалась более стабильной и представленной. Он доступен на шоколадном, в противном случае: https://sourceforge.net/projects/vcxsrv/
- Microsoft Visual C ++, перераспределенный для Visual Studio 2017, должен быть установлен. Доступно здесь
- Подсистема Windows для Linux, включая среду Bash, установлена и работает
- У вас есть некоторое представление о том, какой Linux des вы хотели бы исследовать, и установили их через WSL. Смотрите здесь для вдохновения/сценария, чтобы сделать это для вас. ПРИМЕЧАНИЕ: делать все в этом файле должно работать, но не займет много времени.
Установка и настройка:
- Загрузите и запустите установщик отсюда. Не меняйте ни одного из дефолтов; По умолчанию работают.
- Запустите конфигуратор BSCP (ярлык в вашем меню старта)
- Настройте настройки по желанию. Обратите внимание, что по умолчанию должны работать с средой, созданной настройкой Scritpt, упомянутой выше.
- В маловероятном случае, когда конфигуратор BSCP вылетает при попытке сохранить, у вас есть проблема с разрешениями. Попробуйте запустить еще раз в качестве администратора. Если это не работает, вам, вероятно, нужно предоставить себе полные разрешения управления на
HKLMSOFTWAREMicrosoftWindows NTCurrentVersionWinLogon . - Выйди из строя и соблюдай!
- Если вы не видите его, дважды проверьте, что визуальный C ++ перераспределяется.
Примечания к использованию:
- Ctrl+Alt+Del все еще работает в Linux des. Вот как вы можете подписать, запустить менеджер задач и т. Д.
- Win+R не работает, в то время как Explorer не работает как системная оболочка. Используйте диспетчер задач (через CTRL+ALT+DEL) для запуска программ Windows
- Есть шанс Windows Explorer (как File Explorer, а не Shell) будет работать на переднем плане, когда DE начнется. Вы можете безопасно игнорировать или закрыть его.
- Унсталлер не особенно умный. Вы захотите использовать конфигуратор, чтобы сначала отключить функцию, а затем запустить удаление.
- После того, как вы установите это, вы захотите использовать его в качестве основного способа входа в систему; Он не имеет возможности обновлять настройки оболочки, если вы войдете в систему через другого поставщика учетных данных (например, вход в систему PIN или Windows Hello).
О проекте
Этот проект состоит из нескольких компонентов:
- Конфигуратор: дружелюбное настольное приложение для изменения конфигурации
- Regprovider: Helper Library для взаимодействия с реестрами (здесь ничего особенного)
- ConfiguruRableShell: заменяет оболочку Windows Explorer во время загрузки. Проверяет настройки реестра и загружает указанную среду рабочего стола (Windows Explorer, XFCE или все, что вы можете получить на работу)
- BootshellcredentialProvider: плагин для Winlogon с использованием интерфейса CredentialProvider V2. Этот компонент показывает вам доступные настольные среды и устанавливает выбранную в реестре
Риски, безопасность и полное раскрытие информации
Вы, вероятно, не должны делать это на чем-то, напоминающем систему производства/критически важной, по нескольким причинам:
- Вы используете мой неуправляемый код C ++ внутри Winlogon. Если мой код вылетает, Winlogon вылетает; Вы не сможете использовать свой компьютер, если это произойдет.
- Мой неуправляемый код обращается с вашим паролем Windows. Это заимствовано из образца/шаблона Microsoft. Скептицизм поощряется.
- Компоненты этой системы полагаются на ослабление безопасности различных ключей реестра системы. Они имеют решающее значение для способности Windows представлять последовательную работу на рабочем столе.
- Это мой второй серьезный проект C ++, и первым с API Win32. Удачи.
Вклад и обратная связь
Я бы признателен за любые (конструктивные) отзывы об этом проекте, и, конечно, примет PRS. Не стесняйтесь подавать проблемы в этот проект, если вам есть чем поделиться.
Лицензирование
Большая часть этого проекта выпускается по лицензии MIT. Компонент поставщика учетных данных выпускается по лицензии MS-LPL, поскольку он получен из проекта SampleV2credentialPuder.