Provided by: reglookup_1.0.1+svn287-10_amd64 bug

NAME

       reglookup - Windows NT+ registry reader/lookup tool

SYNOPSIS

       reglookup [options] registry-file

DESCRIPTION

       reglookup  is  designed  to  read  windows  registry  elements and print them out to stdout in a CSV-like
       format. It has filtering options to narrow the focus of the output. This tool is designed to work with on
       Windows NT-based registries.

OPTIONS

       reglookup accepts the following parameters:

       -p prefix-filter
              Specify a path prefix filter. Only keys/values under this registry path will be output.

       -t type-filter
              Specify a type filter. Only elements  which  match  this  registry  data  type  will  be  printed.
              Acceptable  values  are:  NONE, SZ, EXPAND_SZ, BINARY, DWORD, DWORD_BE, LINK, MULTI_SZ, RSRC_LIST,
              RSRC_DESC, RSRC_REQ_LIST, QWORD and KEY .

       -h     Enables the printing of a column header row. (default)

       -i     Printed values inherit the timestamp of their parent key, which is printed along with  them.  Note
              that  this  timestamp  is not necessarily meaningful for any given value values because timestamps
              are saved on keys only and you cannot tell which value has been modified since  a  change  to  any
              value of a given key would update the time stamp.

       -H     Disables the printing of a column header row.

       -s     Adds  five  additional  columns to output containing information from key security descriptors and
              rarely used fields. The columns are: owner, group, sacl, dacl, class.  (This feature's output  has
              not been extensively tested.)

       -S     Disables the printing of security descriptor information. (default)

       -v     Verbose output.

       registry-file
              Required  argument. Specifies the location of the registry file to read. The system registry files
              should be found under: %SystemRoot%/system32/config.

OUTPUT

       reglookup generates comma-separated values (CSV) and writes them to stdout. The  format  is  designed  to
       simplify  parsing  algorithms of other tools by quoting CSV special characters using a common hexadecimal
       format. Specifically, special characters or non-ascii bytes are  converted  to  "%XX"  where  XX  is  the
       hexadecimal value for the byte.

       The  number of columns or fields in each line is fixed for a given run of the program, but may vary based
       on the command line options provided.  See the header line for information on which fields are  available
       and what they contain.

       Some  fields  in  some  lines  may  contain sub-fields which require additional delimiters. If these sub-
       delimiters occur in these sub-fields, they are also encoded in the same way as commas  or  other  special
       characters  are.   Currently,  the  second,  third,  and  fourth  level delimiters are "|", ":", and " ",
       respectively. These are particularly important to take note of  when  security  attributes  are  printed.
       Please  note  that  these  delimiters  may  occur in fields that are not sub-delimited, and should not be
       interpreted as special.

       Security attributes of registry keys have a complex structure which  is  outlined  here.  Each  key  will
       generally  have  an  associated  ACL  (Access  Control  List),  which  is made up of ACEs (Access Control
       Entries). Each ACE is delimited by the secondary delimiter mentioned above, "|". The fields within an ACE
       are delimited by the third-level delimiter, ":", and consist of a SID, the ACE type (ALLOW, DENY, etc), a
       list of access rights, and a list of flags. The  last  two  fields  are  delimited  by  the  fourth-level
       delimiter  "  ".  These  final lists are simply human-readable interpretations of bits. The access rights
       abbreviations are listed below along with their Microsoft-assigned names:

             QRY_VAL        KEY_QUERY_VALUE
             SET_VAL        KEY_SET_VALUE
             CREATE_KEY     KEY_CREATE_SUB_KEY
             ENUM_KEYS      KEY_ENUMERATE_SUB_KEYS
             NOTIFY         KEY_NOTIFY
             CREATE_LNK     KEY_CREATE_LINK
             WOW64_64       KEY_WOW64_64KEY
             WOW64_32       KEY_WOW64_32KEY
             DELETE         DELETE
             R_CONT         READ_CONTROL
             W_DAC          WRITE_DAC
             W_OWNER        WRITE_OWNER
             SYNC      SYNCHRONIZE
             SYS_SEC        ACCESS_SYSTEM_SECURITY
             MAX_ALLWD      MAXIMUM_ALLOWED
             GEN_A          GENERIC_ALL
             GEN_X          GENERIC_EXECUTE
             GEN_W          GENERIC_WRITE
             GEN_R          GENERIC_READ

       And the meaning of each flag is:

             OI   Object Inherit
             CI   Container Inherit
             NP   Non-Propagate
             IO   Inherit Only
             IA   Inherited ACE

       Please see the following references for more information:

               http://msdn2.microsoft.com/en-gb/library/ms724878.aspx
               http://msdn2.microsoft.com/en-gb/library/aa374892.aspx
               http://msdn2.microsoft.com/en-us/library/aa772242.aspx
               http://support.microsoft.com/kb/220167

       Note that some of the bits listed above have either not been allocated by  Microsoft,  or  simply  aren't
       documented.  If  any  bits  are  set  in  the  above  two  fields  that  aren't recognized, a hexadecimal
       representation of all of these mystery bits will be included in the output. For instance, if  the  lowest
       bit  and  third  lowest bit were not recognized while being set, the number "0x5" would be included as an
       element in the list.

       While the ACL/ACE output format is mostly stable at this point, minor changes may be introduced in future
       versions.

EXAMPLES

       To read and print the contents of an entire system registry file:

            reglookup /mnt/win/c/WINNT/system32/config/system

       To limit the output to just those entries under the Services key:

            reglookup -p /ControlSet002/Services /mnt/win/c/WINNT/system32/config/system

       To limit the output to all registry values of type BINARY:

            reglookup -t BINARY /mnt/win/c/WINNT/system32/config/system

       And to limit the output to BINARY values under the Services key:

            reglookup -t BINARY -p /ControlSet002/Services /mnt/win/c/WINNT/system32/config/system

BUGS

       This program has been smoke-tested against most current Windows target  platforms,  but  a  comprehensive
       test  suite  has  not  yet been developed.  (Please report results to the development mailing list if you
       encounter any bugs. Sample registry files and/or patches are greatly appreciated.)

       The SID conversions haven't been carefully checked for accuracy.

       The MTIME conversions appear correctly produce the stored UTC timestamp.  However, due to the periodicity
       of registry writes, and the complexity of the conversion, a small  amount  of  error  (on  the  order  of
       seconds) may be possible. The documentation available online from Microsoft on this field is very poor.

       For         more         information         on        registry        format        details,        see:
       http://sentinelchicken.com/research/registry_format/

CREDITS

       This program was initially based on editreg.c by Richard Sharpe. It has since been  rewritten  to  use  a
       modified  version the regfio library written by Gerald Carter. Heavy modifications to the library and the
       original command line interface have been done by Timothy D. Morgan.

       Please see source code for a full list of copyrights.

LICENSE

       Please see the file "LICENSE" included with this software distribution.

       This program is distributed in the hope that it will be useful, but WITHOUT ANY  WARRANTY;  without  even
       the  implied  warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
       License version 3 for more details.

SEE ALSO

       reglookup-timeline(1) reglookup-recover(1)

File Conversion Utilities                        20 August 2024                                     reglookup(1)