AuthUX is a project based on the ConsoleLogon decompilation which aims to replicate the Windows 7 logon screen.
Warning
THIS PROJECT IS IN EARLY DEVELOPMENT AND MIGHT BE UNSTABLE. Use at your own risk. We are not liable for any damages that may or may not occur.
Warning
To ensure a stable experience, you should ensure that you install a version of AuthUX compiled for your version of Windows.
In order to install AuthUX, you need to write to protected registry keys which you ordinarily do not have permission to write to. An easy way to do this is to download RunTI and use it to run a Command Prompt (cmd.exe
) window as the special internal TrustedInstaller user account. The keys which you must write to are:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsRuntime\ActivatableClassId\Windows.Internal.UI.Logon.Controller.LogonUX\DllPath
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsRuntime\ActivatableClassId\Windows.Internal.UI.Logon.Controller.LockScreenHost\DllPath
If you ran a TrustedInstaller cmd.exe
instance as per the above recommendation, then the following commands will override those keys for you. Note that these commands presume the location of your AuthUX binaries to be %SystemRoot%\System32\AuthUX.dll
(so in other words, you should move the files to System32; they will not conflict with anything):
reg add HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsRuntime\ActivatableClassId\Windows.Internal.UI.Logon.Controller.LogonUX /v DllPath /t REG_SZ /d %SystemRoot%\System32\AuthUX.dll /f
reg add HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsRuntime\ActivatableClassId\Windows.Internal.UI.Logon.Controller.LockScreenHost /v DllPath /t REG_SZ /d %SystemRoot%\System32\AuthUX.dll /f
If these steps have been followed properly, then the logon screen will immediately start using AuthUX.
Note
An easy and safe way you can test whether or not AuthUX is working is by pressing CTRL+ALT+DEL on your keyboard to display the security options screen. If an error occurred during setup, then the security options screen will likely fail to display and you will be taken back to the desktop, where you should immediately revert the values. See the Uninstallation section of this document for more information.
In order to restore the official Windows 10 logon screen, you need to revert the above registry key paths as outlined in the Installation section.
The default values are displayed in the below table:
Windows.Internal.UI.Logon.Controller.LogonUX | %SystemRoot%\system32\Windows.UI.Logon.dll |
---|---|
Windows.Internal.UI.Logon.Controller.LockScreenHost | %SystemRoot%\system32\logoncontroller.dll |
You can use the following commands to restore these default values, once again by opening a TrustedInstaller cmd.exe
window via RunTI:
reg add HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsRuntime\ActivatableClassId\Windows.Internal.UI.Logon.Controller.LogonUX /v DllPath /t REG_SZ /d %SystemRoot%\system32\Windows.UI.Logon.dll /f
reg add HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsRuntime\ActivatableClassId\Windows.Internal.UI.Logon.Controller.LockScreenHost /v DllPath /t REG_SZ /d %SystemRoot%\system32\logoncontroller.dll /f
Following this modification, the logon screen will immediately revert to the vanilla experience.
You need the Windows SDK for your target version. It is recommended to install a modern version of Visual Studio, such as Visual Studio 2022.
Warning
Note: You might encounter issues on earlier versions of the MSVC toolset. Version 14.42 is tested and known to work.
Additionally, you may encounter issues with the Windows Implementation Library (WIL) NuGet packages. If this is the case, try to uninstall and reinstall the packages.
This repository relies on Git submodules for the DirectUI library (dui70). In order to retrieve these files which are necessary for building, you must clone with submodules or fetch them.
To clone the repository with submodules, run:
git clone --recurse-submodules https://github.com/explorer7-team/AuthUI.git
To fetch submodules after cloning the repository, run:
git submodule update --init --recursive
Once you have cloned the repository, you must configure the build version in sdk/inc/version.h
. Change the line which defines CONSOLELOGON_FOR
to one of the predefined constants. For example, the default value is:
#ifndef CONSOLELOGON_FOR
#define CONSOLELOGON_FOR CONSOLELOGON_FOR_VB
#endif
which configures the build for the Windows 10 Vibranium (VB) development semester, which corresponds to all builds in the 1904x build range, or 2004 through 22H2.
The following table should aid you in determining which value to use:
Semester Name | Abbreviation | Build Number | Version Number | Operating System Family |
---|---|---|---|---|
*Redstone 2 | RS2 | 15063 | 1703 | Windows 10 (Creators Update) |
*Redstone 3 | RS3 | 16299 | 1709 | Windows 10 (Fall Creators Update) |
*Redstone 4 | RS4 | 17134 | 1803 | Windows 10 |
Redstone 5 | RS5 | 17763 | 1809 | Windows 10 |
- | 19H1 | 18362, 18363 | 1903, 1909 | Windows 10 |
Vibranium | VB | 19041, 19042, 19043, 19044, 19045 | 2004, 20H2, 21H1, 21H2, 22H2 | Windows 10 |
Manganese | MN | 19551~19624 | 2004 | Windows 10 Insider Preview, Windows Server 2022 Insider Preview |
Iron | FE | 20348 | 21H2 | Windows Server 2022 |
Cobalt | CO | 22000 | 21H2 | Windows 11 |
Nickel | NI | 22621, 22631 | 22H2 | Windows 11 |
Zinc | ZN | 25246~25393 | 23H2 | Windows 11 Insider Preview |
Germanium | GE | 26100, 26120, 26200 | 24H2 | Windows 11 |
Italicised entries are not currently supported. The minimum supported is currently RS5.
Once that's all configured, you should just be able to compile the project by just building the solution. You should get a resulting AuthUX.dll
file, which you can use to install with the same installation instructions as above.