Pkg.RegHive — API for parsing Windows Registry hive files

Overview

The Pkg.RegHive module contains the API for parsing Windows Registry hive files.

Parsing a Registry Hive

The following code example demonstrates how to parse a Registry hive:

from Pro.Core import *
from Pkg.RegHive import *

def parseRegHive(fname):
    c = createContainerFromFile(fname)
    if c.isNull():
        return
    obj = RegHiveObject()
    if not obj.Load(c) or not obj.Parse():
        return
    key = obj.GetRegKey()
    print(key.Name())
    for subkey in key.IterateSubKeys():
        print(" ", subkey.Name())
        for v in subkey.IterateValues():
            print("   ", v.name, v.value_type, v.value)

Module API

Pkg.RegHive module API.

Classes:

RegHiveKey()

This class represents a registry hive key.

RegHiveObject()

This class represents a registry hive file.

RegHiveValue()

This class represents a registry hive value.

class RegHiveKey

This class represents a registry hive key.

See also RegHiveObject.GetRegKey().

Methods:

GetSecurityInfo()

Returns the security information for the key as a dictionary.

GetValue(name)

Retrieves a value by its name.

IterateSubKeys()

Iterates over sub-keys.

IterateValues()

Iterates the values of this key.

Name()

Returns the name of the key.

SubKeyCount()

Returns the number of sub-keys.

TimeStamp()

Returns the timestamp of the key as an ISO date.

ValueCount()

Returns the number of values.

GetSecurityInfo() → Dict[str, Any]
Returns

Returns the security information for the key as a dictionary.

Return type

Dict[str, Any]

GetValue(name: str) → Optional[Pkg.RegHive.RegHiveValue]

Retrieves a value by its name.

Parameters

name (str) – The name of the value to retrieve.

Returns

Returns the value if available; otherwise returns None.

Return type

Optional[RegHiveValue]

See also ValueCount() and IterateValues().

IterateSubKeys() → Optional[Pkg.RegHive.RegHiveKey]

Iterates over sub-keys.

Returns

Returns the next sub-key if available; otherwise returns None.

Return type

Optional[RegHiveKey]

See also SubKeyCount().

IterateValues() → Optional[Pkg.RegHive.RegHiveValue]

Iterates the values of this key.

Returns

Returns the next value if available; otherwise returns None.

Return type

Optional[RegHiveValue]

See also ValueCount() and GetValue().

Name() → str
Returns

Returns the name of the key.

Return type

str

SubKeyCount() → int
Returns

Returns the number of sub-keys.

Return type

int

See also IterateSubKeys().

TimeStamp() → str
Returns

Returns the timestamp of the key as an ISO date.

Return type

str

ValueCount() → int
Returns

Returns the number of values.

Return type

int

See also IterateValues() and GetValue().

class RegHiveObject

Bases: Pro.Core.CFFObject

This class represents a registry hive file.

Methods:

GetRegKey([key_path])

Retrieves a registry key by name.

Parse()

Parses the format.

GetRegKey(key_path: str = str()) → Optional[Pkg.RegHive.RegHiveKey]

Retrieves a registry key by name.

Parameters

key_path (str) – The registry key to retrieve.

Returns

Returns the key if successful; otherwise returns None.

Return type

Optional[RegHiveKey]

Parse() → bool

Parses the format.

Returns

Returns True if successful; otherwise returns False.

Return type

bool

class RegHiveValue

This class represents a registry hive value.

Attributes:

is_corrupted

A flag that signal whether the value is corrupted.

name

The name of the value.

value

The actual value of the value.

value_type

The value type.

is_corrupted

A flag that signal whether the value is corrupted.

name

The name of the value.

value

The actual value of the value.

value_type

The value type.