Windows Registry

The Windows Registry is used in various versions of Microsoft Windows to hold a number of configuration settings that affect how Windows and programs running under Windows run. Registry contents are stored in several separate files called hives, whose location and format differ by version of Windows.

Windows 3.11
The registry file is called REG.DAT and is in the %WINDIR% directory (the directory configured as the one holding system files).

Windows 9x, ME
The registry is stored as USER.DAT and SYSTEM.DAT in the %WINDIR% directory, and also CLASSES.DAT in Windows ME. There may also be separate USER.DAT files in user profile directories.


 * Forensics Wiki: Windows 9x Registry File (CREG)

Windows NT and up
The registry is stored in binary files in %SystemRoot%\System32\Config\.


 * Forensics Wiki: Windows NT Registry File (REGF)

.REG files
Registry entries can be exported in a text-based, INI-like format as .REG files. In Windows 2000 and later, the file begins with "Windows Registry Editor Version 5.00", while earlier versions began with "REGEDIT4".

Sample files

 * https://telparia.com/fileFormatSamples/text/reg/
 * https://telparia.com/fileFormatSamples/other/registryHive/

Links

 * hivex
 * Forensics Wiki: Windows Registry
 * Wikipedia: Windows Registry
 * MSDN registry reference
 * Yet Another Registry Utility (yaru)
 * regf/Windows registry file format specification.md