RegistryPluginBase 2026.10.3
dotnet add package RegistryPluginBase --version 2026.10.3
NuGet\Install-Package RegistryPluginBase -Version 2026.10.3
<PackageReference Include="RegistryPluginBase" Version="2026.10.3" />
<PackageVersion Include="RegistryPluginBase" Version="2026.10.3" />
<PackageReference Include="RegistryPluginBase" />
paket add RegistryPluginBase --version 2026.10.3
#r "nuget: RegistryPluginBase, 2026.10.3"
#:package RegistryPluginBase@2026.10.3
#addin nuget:?package=RegistryPluginBase&version=2026.10.3
#tool nuget:?package=RegistryPluginBase&version=2026.10.3
RegistryPlugins
This repo that contains all the Registry Plugins used by Eric Zimmerman's Registry Explorer and RECmd. You can download both tools here.
Ongoing Projects
- RegistryPlugins - Development roadmap for Registry Explorer/RECmd Plugins. Please feel free to contribute by adding ideas or by finishing tasks in the
To Docolumn. Any help is appreciated!
How Plugins Affect Output
Plugins are helpful in that they are able to display more data within the Registry in less rows. Using RECmd's CSV output, the ValueData column will be used to displayed parsed data regardless of whether a Plugin exists for a specific artifact. However, when a Plugin is being used to parse data from the Registry, the ValueData2 and ValueData3 are utilized to display more data relevant to the artifact while reducing the amount of rows within the CSV output. Additionally, Plugins are able to "translate" some of the data within the Registry, i.e., convert timestamps or convert Binary data into something human readable.
Plugin Output in Registry Explorer
This example highlights what the UserAssist Plugin provides as an added benefit vs. the raw data values parsed from the Registry.
The Values tab shows the raw values within the Registry in their native ROT13 format. The UserAssist tab shows the ROT13 output converted into human readable data.
Plugin Output in RECmd (CSV)
You will know that a Plugin is being used within your RECmd CSV output if the ValueType columns displays (plugin) as the value. From there, the author of the Plugin will be able to organize the parsed data within the ValueData, ValueData2, and the ValueData3 columns. This allows for more data to be parsed in less rows for more efficient and useful CSV output!
RECmd Batch Files help make CSV output useful and efficient while reducing the noise. The DFIR Batch File is currently taking advantage of most, if not all, of the Registry Plugins within this repo. It is strongly recommended to use that Batch File when parsing the Windows Registry with RECmd.
Building and installing the plugins
dotnet build -c Release
.\CopyPlugins.ps1 -Out C:\Tools\RECmd\Plugins # or Registry Explorer's Plugins folder; -Build builds first
CopyPlugins.ps1 copies each plugin's own RegistryPlugin.*.dll from its bin\Release\netstandard2.0 folder. The tools already have RegistryPluginBase and its dependencies.
Writing a plugin
Plugins implement IRegistryPluginGrid from the RegistryPluginBase package (in RegistryPluginBase). See the plugin development notes and a similar existing plugin.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. 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 was computed. 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 was computed. 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 was computed. 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 was computed. 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 Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
| .NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen40 was computed. tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- ExtensionBlocks (>= 2026.10.5)
- GuidMapping (>= 2026.10.1)
- Registry (>= 2026.10.0)
- System.Text.Encoding.CodePages (>= 10.0.13)
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 |
|---|---|---|
| 2026.10.3 | 47 | 10/17/2026 |
| 2026.10.2 | 46 | 10/17/2026 |
| 2026.10.1 | 37 | 10/17/2026 |
| 2026.10.0 | 55 | 10/16/2026 |
| 2026.5.0 | 489 | 4/26/2026 |
| 1.3.2 | 917 | 12/2/2024 |
| 1.3.1.2 | 911 | 2/28/2023 |
| 1.3.1.1 | 406 | 2/28/2023 |
| 1.3.1 | 722 | 6/3/2022 |
| 1.3.0 | 590 | 6/2/2022 |
| 1.2.0 | 705 | 2/11/2022 |
| 1.1.0 | 917 | 1/7/2020 |
| 1.0.0 | 788 | 9/2/2019 |