RegistryHiveLib 1.0.0.26081
dotnet add package RegistryHiveLib --version 1.0.0.26081
NuGet\Install-Package RegistryHiveLib -Version 1.0.0.26081
<PackageReference Include="RegistryHiveLib" Version="1.0.0.26081" />
<PackageVersion Include="RegistryHiveLib" Version="1.0.0.26081" />
<PackageReference Include="RegistryHiveLib" />
paket add RegistryHiveLib --version 1.0.0.26081
#r "nuget: RegistryHiveLib, 1.0.0.26081"
#:package RegistryHiveLib@1.0.0.26081
#addin nuget:?package=RegistryHiveLib&version=1.0.0.26081
#tool nuget:?package=RegistryHiveLib&version=1.0.0.26081
<h1 align="center"> <a href="https://github.com/cjhdevact/RegistryHiveLib">RegistryHiveLib - .NET Registry Hive Parser Library</a> </h1>
<p align="center"> Language <a href="ReadMe.md">EN</a> | <a href="ReadMe.CN.md">CN</a> </p>
About
RegistryHiveLib is a .NET library for offline parsing of Windows registry hive files. It supports advanced features such as key traversal, value data reading, SDDL access, and transaction log recovery.
Features
- Complete registry hive parsing (REGF, HBIN, NK, VK, SK, LF/LH/LI/RI, DB records)
- Supports all registry value types
- No Windows Registry API required – safe offline analysis of hive files
- Transaction log recovery (.LOG files)
- Hive metadata (version, checksum, timestamp, clustering factor)
- Security descriptor access (SK records), supports retrieving raw binary data or SDDL strings
- SID translator (pure static dictionary, no system API dependency)
- Extension methods for convenient reading of common data types
Installation
Via NuGet (recommended)
dotnet add package RegistryHiveLib
Or via Visual Studio Package Manager Console:
Install-Package RegistryHiveLib
Download from GitHub Releases
Download the file from the Releases page. You can install it locally via NuGet Package Manager, or extract it directly to obtain RegistryHiveLib.dll and add a reference.
Quick Start
using CJH.RegistryHiveLib;
// 1. Load a hive file
var registry = new Registry(@"C:\Windows\System32\config\SOFTWARE");
// 2. Get the root key
RegistryKey root = registry.Root;
// 3. Traverse subkeys and values
foreach (var subKey in root.Subkeys)
{
Console.WriteLine($"Key: {subKey.Name}");
foreach (var value in subKey.Values)
{
Console.WriteLine($" {value.DisplayName} = {value.Value} ({value.ValueTypeString})");
}
}
// 4. Find a key by path
RegistryKey versionKey = registry.Open("Microsoft\\Windows NT\\CurrentVersion");
// 5. Read values
string productName = versionKey.GetStringValue("ProductName", "Unknown");
uint buildNumber = versionKey.GetDWordValue("CurrentBuild", 0);
Console.WriteLine($"Product Name: {productName}");
Console.WriteLine($"Build Number: {buildNumber}");
// 6. Get security descriptor
string sddl = versionKey.GetSecurityDescriptorSDDL();
if (!string.IsNullOrEmpty(sddl))
{
Console.WriteLine($"SDDL: {sddl}");
}
// 7. Transaction log recovery
using (var log = new RegistryLog(@"C:\path\to\SYSTEM", @"C:\path\to\SYSTEM.LOG"))
{
if (log.IsEligibleLog)
{
uint? seq = log.RecoverHive();
Console.WriteLine($"Recovery complete, sequence: {seq}");
}
}
Documentation
Project Structure
RegistryHiveLib/
├── RegistryHiveLib/ # Main library project
│ ├── RegistryHiveLib.cs # Core library file
│ └── RegistryHiveLib.csproj # Project file
├── Tools/ # Auxiliary tool scripts
├── Doc.CN.md # Chinese documentation
├── Doc.EN.md # English documentation
├── ReadMe.md # ReadMe English version
├── ReadMe.CN.md # ReadMe Chinese version
├── RegistryHiveLib.sln # Visual Studio solution
...
References
RegistryHiveLib - Registry Hive file format specification
python-registry - Parsing approach referenced from this project
License
This project is open sourced under the MIT License. See the License file for details.
You are free to use, modify, and distribute this software in compliance with the license terms.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net6.0 is compatible. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 is compatible. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 is compatible. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
| .NET Framework | net40 is compatible. net403 was computed. net45 is compatible. net451 was computed. net452 is compatible. net46 was computed. net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 is compatible. net481 was computed. |
-
.NETFramework 4.0
- No dependencies.
-
.NETFramework 4.5
- No dependencies.
-
.NETFramework 4.5.2
- No dependencies.
-
.NETFramework 4.8
- No dependencies.
-
net10.0
- No dependencies.
-
net6.0
- No dependencies.
-
net7.0
- No dependencies.
-
net8.0
- No dependencies.
-
net9.0
- No dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.0.0.26081 | 113 | 8/12/2026 |