7bed47bd6e2c8f5408a7afbbec5d5d547afb2cbc
[hivex.git] / hivex / README
1 hivex - by Richard W.M. Jones, rjones@redhat.com
2 Copyright (C) 2009-2010 Red Hat Inc.
3 ----------------------------------------------------------------------
4
5 This is a self-contained library for reading Windows Registry "hive"
6 binary files.
7
8 It is totally dedicated to reading the files and doesn't deal with
9 writing or modifying them in any way.
10
11 Unlike many other tools in this area, it doesn't use the textual .REG
12 format for output, because parsing that is as much trouble as parsing
13 the original binary format.  Instead it makes the file available
14 through a C API, or there is a separate program to export the hive as
15 XML.
16
17 This library was derived from several sources:
18
19  . NTREG registry reader/writer library by Petter Nordahl-Hagen
20     (LGPL v2.1 licensed library and program)
21  . http://pogostick.net/~pnh/ntpasswd/WinReg.txt
22  . dumphive (a BSD-licensed Pascal program by Markus Stephany)
23  . http://www.sentinelchicken.com/data/TheWindowsNTRegistryFileFormat.pdf
24  . editreg program from Samba - this program was removed in later
25    versions of Samba, so you have to go back in the source repository
26    to find it (GPLv2+)
27  . http://amnesia.gtisc.gatech.edu/~moyix/suzibandit.ltd.uk/MSc/
28  . reverse engineering the format (see hivex/tools/visualizer.ml)
29
30 Like NTREG, this library only attempts to read Windows NT registry
31 files (ie. not Windows 3.1 or Windows 95/98/ME).  See the link above
32 for documentation on the older formats if you wish to read them.
33
34 Unlike NTREG, this code is much more careful about handling error
35 cases, corrupt and malicious registry files, and endianness.
36
37 The license for this library is LGPL v2.1, but not later versions.
38 For full details, see the file LICENSE in this directory.