Versions of Windows
- Windows 1.x
- Windows 2.x
- Windows 3.x
- Windows 9x (95, 98 and ME)
- Windows NT (3.1, 3.5, 3.51, and 4.0)
- Windows 2000
- Windows XP
- Windows Vista
- Windows 7
- Windows 8(.1)
- Windows 10
This is the Windows installation folder, usually located at C:\Windows (on Windows 9x, XP and up) or C:\WINNT (on Windows NT 3.1 - 2000). It contains everything needed to run a Windows Operating System. Most self-replicating programs prefer to install themselves in a subdirectory of this one, the System Folder, but a few install themselves here too. The folder can be named differently if the user desires in a Windows setup.
The System folder contains programs, libraries and other files necessary to run the computer. On Windows 95, 98 and ME, it is located in the folder C:\Windows\System. On Windows 2000 and NT 3.1 - 4.0, it is in C:\WINNT\System32. Worms usually install themselves to this folder. In Windows XP and newer it is C:\Windows\System32.
This folder is for the storage of temporary files. In Windows 9x and ME it is located at C:\Windows\Temp, while in Windows 2000 and NT 3.1 - 4.0 it is located at C:\WINNT\TEMP. On Windows XP and newer it is also located at C:\Windows\Temp.
This is for the storage of files before final deletion. It is located at C:\Recycled in Windows 9x platforms and at C:\Recycler in Windows NT platforms.
In Windows 9x platforms, located at C:\Windows\Start Menu\Programs\Startup\.
In Windows NT platforms, C:\Documents and Settings\<user name>\Start Menu\Programs\Startup\.
Separate Startup exist for specific users and all users.
The Registry is a directory that stores system and program settings. Worms often use the registry to make sure they start upon the system being started. The Windows registry consists of six subtrees, five of which are visible to the user, beginning with HKEY. A typical registry key works in a similar way to a file path name, using backslashes (\) to indicate levels of hierarchy.
HKEY_LOCAL_MACHINE, referred to on this wiki as the "local machine registry key," is the subtree that contains settings relevant to all users on the computer.
HKEY_CURRENT_USER, referred to on this wiki as the "current user registry key", contains settings relevant to the currently logged in user.
HKEY_USERS, referred to on this wiki as the "users registry key", contains subkeys corresponding to the HKEY_CURRENT_USER keys for each user registered on the machine.
HKEY_CLASSES_ROOT referred to on this wiki as the "root registry key" contains settings relevant to registered applications. On Windows 2000 and above, HKCR is a compilation of HKEY_CURRENT_USER\Software\Classes and HKEY_LOCAL_MACHINE\Software\Classes. If a given value exists in both of the subkeys above, the one in HKEY_CURRENT_USER\Software\Classes is used.
HKEY_CURRENT_CONFIG referred to on this wiki as the "current configuration key", contains information gathered at runtime; information stored in this key is not permanently stored on disk, but rather regenerated at boot time.
HKEY_PERFORMANCE_DATA referred to on this wiki as the "performance data key" provides runtime information into performance data provided by either the NT kernel itself or other programs that provide performance data. This key is not displayed in the Registry Editor, but it is visible through the registry functions in the Windows API.
Registry Keys and Details
Viruses and worms make use of the following keys for various purposes. Most commonly, they use one of the "Run" keys which will start the worm automatically.
These programs automatically start when any user is logged in. It is used for all users on this computer
The programs here start only once when any user is logged in and will be removed after the Windows boot process would have finished.
The programs here start only once when any user is logged in and will be removed after the Windows boot process would have finished. Also the RunOnceEx registry key does not create a separate processes. The RunOnceEx registry key also support a dependency list of DLLs that remain loaded while either all the sections or some of the sections are being processed.
These programs automatically start when the system is loading before the user logs in. It is used for service applications - antivirus, drivers etc. In Windows NT/2000/XP it could be canceled by admin to use other service startup sections. Read more at services startup
These programs automatically start only once when the system is loading as service application and items are deleted after the Windows boot process have finished.
This key deals with logons
The programs here automatically start when the current user logs in. It is used only for current logoned user.
The programs here automatically start only once when the current user logs in and it will be deleted after the Windows boot process would have finished.
HKEY_CURRENT_USER\SOFTWARE\Microsoft\Internet Account Manager\Accounts
This key contains a list of the current user's email account.
The programs here automatically will be copied into HKEY_CURRENT_USER\...\Run for every new user account.
The programs here automatically will be copied into HKEY_CURRENT_USER\...\RunOnce for every new user account.
This registry key contains information pertaining to Windows DCOM settings.
A now mostly unused key that has been replaced by the function "SHGetSpecialFolderLocation".
This key lists the current users personal folders.
This key points to the current user's startup folder.
This registry key sets the default application for opening text files.
This is another registry key that causes programs to run on startup.
This is a registry key containing information about Microsoft Office.
This key ensures that a program is run by Internet Explorer.
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Code Store Database\Distribution Units
This registry key's use has not yet been determined.
Key used by the Mydoom worm.
Key used by the Mydoom worm.
This key contains information on where to find installed programs and their support files on the local machine.
This key contains the locations of personal folders.
Contains the location of the Kazaa network share folder.
Key used by Conficker.
Wikipedia, Windows Registry
Microsoft Corporation. Microsoft Windows 2000 Professional Resource Kit, Part 7 "Troubleshooting", Registry Editors, pp. 1448-1452. Microsoft Press: Redmond, Washington. 2000 ISBN: 1572318082
Rusty Russell, Daniel Quinlan, Christopher Yeoh. Filesystem Hierarchy Standard Group, Filesystem Hierarchy Standard. 1994-2004
Tarma Quickinstall, App Paths Settings
Raymond Chen. Technet, Windows Confidential, The Sad Story of the Shell Folders Key