WirelessKeyView

WirelessKeyView v1.68
Copyright (c) 2006 - 2013 Nir Sofer
Web Site: http://www.nirsoft.net

Description

WirelessKeyView recovers all wireless network keys (WEP/WPA) stored in your computer by the 'Wireless Zero Configuration' service of Windows XP or by the 'WLAN AutoConfig' service of Windows Vista, Windows 7, Windows 8, and Windows Server 2008. It allows you to easily save all keys to text/html/xml file, or copy a single key to the clipboard. You can also export your wireless keys into a file and import these keys into another computer.

License

This utility is released as freeware. You are allowed to freely distribute this utility via floppy disk, CD-ROM, Internet, or in any other way, as long as you don't charge anything for this and you don't sell it or distribute it as a part of commercial product. If you distribute this utility, you must include all files in the distribution package, without any modification !

Disclaimer

The software is provided "AS IS" without any warranty, either expressed or implied, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose. The author will not be liable for any special, incidental, consequential or indirect damages due to loss of data or any other reason.

Known Problems

False Alert Problems: Some Antivirus programs detect WirelessKeyView utility as infected with Trojan/Virus. Click here to read more about false alerts in Antivirus programs.

Also, if you have any problem with using WirelessKeyView, please read the WirelessKeyView Frequently Asked Questions page

Versions History

  • Version 1.68:
    • Fixed a bug in the 32-bit build without command-line support: On Windows 7/8/Vista/2008: WirelessKeyView created a new process of WirelessKeyView again and again...
  • Version 1.67:
    • Added new build of WirelessKeyView without command-line support. In this version, you cannot extract wireless key data without displaying the user interface (Which means that /stab, /shtml and other export command-line options will not work in this build). The advantage of this build: There is a chance that this build will trigger less Antivirus alerts, simply because it cannot be used by hackers to grab wireless keys stealthily. This build is also compiled with different compiler options.
    • Changed the name in the version resource from WirelessKeyView to WKV. Strangely, this change reduces the Antivirus alerts dramatically, at least for now.
  • Version 1.66:
    • Added 'Last Modified' column (Works only on Windows Vista/7/8)
  • Version 1.65:
    • Added 'Show SSIDs Without Key' option.
  • Version 1.61:
    • In order to avoid from deletion by mistake, the delete menu item is now separated from the others. Also, the default answer for the delete question is No.
  • Version 1.60:
    • WirelessKeyView now uses a new method to grab the wireless keys on Windows 7/8/2008: Instead of code injection, WirelessKeyView creates a child process that extracts the wireless keys. This means that you can use the 32-bit build of WirelessKeyView under Windows 7/8/2008 64-bit.
  • Version 1.56:
    • Fixed issue: The properties and the 'Advanced Options' windows opened in the wrong monitor, on multi-monitors system.
  • Version 1.55:
    • Added /export and /import command-line options, which allows you to export/import wireless keys from command-line.
  • Version 1.50:
    • Added export and import feature. You can now select one or more wireless keys, export them into a file (with File -> Export Selected Items or Ctrl+E) and then import these keys into another computer (With File -> Import Keys From Export File or Ctrl+I). Be aware that the import feature only works with Windows XP/SP3 or later (including Windows 2008/7/Vista). The export feature works on every system starting from Windows XP/SP1. Read the 'Export And Import Wireless Keys' section for more information about this new feature.
    • Added 3 new columns, only for Windows 7/2008/Vista: Authentication, Encryption, Connection Type (ESS for infrastructure network, IBSS for ad-hoc network).
  • Version 1.36:
    • Fixed bug on Windows 7/2008/Vista: WirelessKeyView truncated the key after 32 characters.
  • Version 1.35:
    • Added 'Mark Odd/Even Rows' option, under the View menu. When it's turned on, the odd and even rows are displayed in different color, to make it easier to read a single line.
    • Added 'Add Header Line To CSV/Tab-Delimited File' option. When this option is turned on, the column names are added as the first line when you export to csv or tab-delimited file.
  • Version 1.34:
    • Fixed bug: pressing the delete key in the find window deleted an item in the main window.
  • Version 1.33:
    • When loading WirelessKeyView under Windows 7 in the first time, the 'Code Inject' mode is now turned on by default.
  • Version 1.32:
    • Added /codeinject command-line option.
  • Version 1.31:
    • Fixed a crash problem with Application Compatibility Engine on Windows 7/Vista (only when 'Use code injection method' is turned on).
  • Version 1.30:
    • Added 'Use code injection method' option in the Advanced Options window, as a workaround for using this utility on Windows 7. (See below)
  • Version 1.28:
    • Added sorting command-line options.
  • Version 1.27:
    • Fixed bug: In Vista, WPA-PSK keys in Ascii form displayed additional space character.
  • Version 1.26:
    • Fixed bug: In Vista, if WPA-PSK key contained 32 characters, the key was not displayed in Ascii form.
  • Version 1.25:
    • New and safer method to extract the wireless keys of the local machine: In previous versions, WirelessKeyView injected code into lsass.exe in order to grab the wireless keys from the system. In rare cases, this technique caused a crash inside lsass.exe process. Starting from this version, WirelessKeyView uses a new method that extract the wireless keys without any code injection.
  • Version 1.20:
    • WirelessKeyView now allows you to extract the wireless keys from external instance of Windows XP. (In Advanced Options)
  • Version 1.18:
    • You can now send the information to stdout by specifying an empty filename ("") in the command-line. (For example: WirelessKeyView.exe /stab "" >> c:\temp\keys.txt)
  • Version 1.17:
    • Fixed bug: WirelessKeyView failed to find the adapter name
    • Fixed bug: Bad color in HTML report
    • Fixed bug: The main window lost the focus when the user switched to another application and then returned back to WirelessKeyView.
  • Version 1.16 - Added support for saving as comma-delimited file.
  • Version 1.15 - Added support for deleting the wireless keys of old network adapters.
  • Version 1.13 - Under Vista, this utility now runs as admin automatically. You don't have to explicitly choose the "Run As Administrator" option.
  • Version 1.12 - The configuration is now saved to a file instead of the Registry.
  • Version 1.11 - Fixed 'Access Violation' problem under some wireless cards.
  • Version 1.10 - Added support for Windows Vista. (both 32-bit and x64 versions)
  • Version 1.00 - First release.

System Requirement

  • Windows XP with SP1 or greater.
  • You must login to windows with admin user.

Using WirelessKeyView

WirelessKeyView doesn't require any installation process or additional DLL files. Just copy the executable file (WirelessKeyView.exe) to any folder you like, and run it.
After you run it, the main window should displayed all WEP/WPA keys stored in your computer by Windows 'Wireless Zero Configuration' service. For WEP keys, the key is also displayed in Ascii form. Be aware that this utility can only reveal the network keys stored by Windows operating system. It cannot recover network keys stored by any other third-party software.

Notice About WPA-PSK Keys

When you type a WPA-PSK key in Windows XP, the characters that you type are automatically converted into a new binary key that contains 32 bytes (64 Hexadecimal digits). This binary key cannot instantly be converted back to the original key that you typed, but you can still use it for connecting the wireless network exactly like the original key. In this case, WirelessKeyView displays this binary key in the Hex key column, but it doesn't display the original key that you typed.
As opposed to Windows XP, Windows Vista doesn't convert the WPA-PSK Key that you type into a new binary key, but it simply keep the original key that you type. So under Windows Vista, the original WPA-PSK key that you typed is displayed in the Ascii key column.

Registry/File Location of The Stored Keys

Windows XP and Windows Vista stores the wireless keys in completely different locations:
  • Windows XP: The wireless keys are stored in the Registry under HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WZCSVC\Parameters\Interfaces\[Interface Guid].
  • Windows Vista: The wireless keys are stored in the file system, under c:\ProgramData\Microsoft\Wlansvc\Profiles\Interfaces\[Interface Guid]. The encrypted keys are stored in .xml file.

Deleting Wireless Keys Of Old Network Adapters

Starting from version 1.15 of WirelessKeyView, you can delete wireless keys of old network adapters that are no longer plugged to your computer, by using the 'Delete Selected Items' option.
Be aware that this delete option only works for network adapters that are not active anymore. If your network adapter is active, use the standard user interface of Windows to delete the unwanted keys.

Export And Import Wireless Keys

Starting from version 1.50, you can select one or more wireless keys, export them into a text file by using the 'Export Selected Items' under the File menu, and then import these keys into another computer by using the 'Import Keys From Export File' option.

Before you start using this feature, you should be aware that there are some problems/limitations:

  • The import feature only works on Windows XP with Service Pack 3 or later, including Windows 7, Windows 2008, and Windows Vista. You cannot use the import feature on Windows XP with Service Pack 1 or Service Pack 2. As opposed to the import feature, the export feature works on any system, including Windows XP with Service Pack 1 or Service Pack 2.
  • The import feature on Windows XP/SP3 is very slow, and WirelessKeyView may temporary hang during the import process.
  • The wireless keys stored inside the export file are not encrypted, so if you're concerned about the security of your network, you should keep this file in a place where unauthorized users cannot read it, or simply delete it after the import process is finished.
  • The import feature only works with a text file created with the 'Export Selected Items' option. You cannot use the import feature with the files created by the 'Save Selected Items' option.
  • Your wireless network adapter must be active when using the import feature. If you have a USB wireless adapter, you must plug it before you start the import process.
  • If you have multiple wireless network adapters, a separated key entry will be added for each adapter.

Command-Line Options

/external <Windows Directory> | Load the wireless keys from external instance of Windows XP.
/stext <Filename> | Save the list of all wireless keys into a regular text file.
/stab <Filename> | Save the list of all wireless keys into a tab-delimited text file.
/stabular <Filename> | Save the list of all wireless keys into a tabular text file.
/shtml <Filename> | Save the list of all wireless keys into HTML file (Horizontal).
/sverhtml <Filename> | Save the list of all wireless keys into HTML file (Vertical).
/sxml <Filename> | Save the list of all wireless keys to XML file.
/sort <column> | This command-line option can be used with other save options for sorting by the desired column. If you don't specify this option, the list is sorted according to the last sort that you made from the user interface. The <column> parameter can specify the column index (0 for the first column, 1 for the second column, and so on) or the name of the column, like "Key Type" and "Network Name". You can specify the '~' prefix character (e.g: "~Network Name") if you want to sort in descending order. You can put multiple /sort in the command-line if you want to sort by multiple columns. Examples: WirelessKeyView.exe /shtml "f:\temp\1.html" /sort 2 /sort ~1 WirelessKeyView.exe /shtml "f:\temp\1.html" /sort "Network Name"
/nosort | When you specify this command-line option, the list will be saved without any sorting.
/export <Filename> | Export all wireless keys into a file that can be used to import back the wireless keys with /import command-line option. Example: WirelessKeyView.exe /export "c:\temp\wireless_keys.txt"
/import <Filename> | Import the wireless keys stored inside the specified file, that was created with the /export command-line option. Example: WirelessKeyView.exe /import "c:\temp\wireless_keys.txt"

Translating WirelessKeyView to other languages

In order to translate WirelessKeyView to other language, follow the instructions below:
  1. Run WirelessKeyView with /savelangfile parameter:
    WirelessKeyView.exe /savelangfile
    A file named WirelessKeyView_lng.ini will be created in the folder of WirelessKeyView utility.
  2. Open the created language file in Notepad or in any other text editor.
  3. Translate all string entries to the desired language. Optionally, you can also add your name and/or a link to your Web site. (TranslatorName and TranslatorURL values) If you add this information, it'll be used in the 'About' window.
  4. After you finish the translation, Run WirelessKeyView, and all translated strings will be loaded from the language file.
    If you want to run WirelessKeyView without the translation, simply rename the language file, or move it to another folder.

Feedback

If you have any problem, suggestion, comment, or you found a bug in my utility, you can send a message to nirsofer@yahoo.com