├── .github └── FUNDING.yml ├── README.md ├── Launcher.ps1 └── WinWiFiPassMan.ps1 /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | custom: ['https://boosty.to/notmalware/donate'] 2 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Windows WiFi Password Manager 2 | Simple tool to view all passwords of WiFi networks saved in Windows 3 | 4 | To use, just enter the command in Windows Search/Run/Command Prompt/PowerShell/New Shortcut 5 | ```pwsh 6 | powershell -command "iwr -useb https://raw.githubusercontent.com/ImMALWARE/WinWiFiPassMan/main/Launcher.ps1 | iex" 7 | ``` 8 | After it finishes getting passwords, it will open Notepad with table of SSIDs and passwords 9 | -------------------------------------------------------------------------------- /Launcher.ps1: -------------------------------------------------------------------------------- 1 | $host.UI.RawUI.WindowTitle = "Starting WinWiFiPassMan..." 2 | Add-Type -Name Window -Namespace Console -MemberDefinition '[DllImport("Kernel32.dll")]public static extern IntPtr GetConsoleWindow();[DllImport("user32.dll")]public static extern bool ShowWindow(IntPtr hWnd, Int32 nCmdShow);' 3 | [void][Console.Window]::ShowWindow([Console.Window]::GetConsoleWindow(), 0) 4 | Start-Process powershell -ArgumentList "(Invoke-WebRequest -UseBasicParsing https://raw.githubusercontent.com/ImMALWARE/WinWiFiPassMan/ee48e11138aa5a73e6529ca7f68f318628f0cfe5/WinWiFiPassMan.ps1).Content | Invoke-Expression" -Verb RunAs 5 | -------------------------------------------------------------------------------- /WinWiFiPassMan.ps1: -------------------------------------------------------------------------------- 1 | $host.UI.RawUI.WindowTitle = "WinWiFiPassMan" 2 | if ($PSUICulture -eq "ru-RU") { 3 | $Strings = @("Все профили пользователей", "Содержимое ключа") 4 | } else { 5 | $Strings = @("All User Profile", "Key Content") 6 | } 7 | 8 | Write-Host "Gettings WiFi passwords, please wait" 9 | $WiFiNames = netsh wlan show profiles | Select-String $Strings[0] | ForEach-Object { $_ -replace "$($Strings[0])\s+:\s+", "" } 10 | $WiFiPasswords = @() 11 | 12 | foreach ($WiFi in $WiFiNames) { 13 | $password = (netsh wlan show profile name="$($WiFi.Trim())" key=clear) -match $Strings[1] 14 | $WiFiPasswords += New-Object PSObject -Property @{ 15 | SSID = $WiFi.Trim() 16 | Password = & { 17 | param($Password) 18 | if ($Password) { 19 | $password.Trim() -replace "$($Strings[1])\s+:\s+", "" 20 | } else { 21 | "No password" 22 | } 23 | } $password 24 | } 25 | } 26 | 27 | $WiFiPasswords | Format-Table SSID, Password | Out-File -FilePath "$env:TEMP\WinWiFiPassMan.txt" 28 | notepad "$env:TEMP\WinWiFiPassMan.txt" --------------------------------------------------------------------------------