
Windows-Kernel-Registry-Filter-SDK und native C++-UI für die bereichsbezogene Auditierung/Kontrolle von Schreibzugriffen auf Anwendungsschlüssel. Altitude/Signierung ausstehend; OEM-Integration: Discord titancsa.
Native C++-Regeln zum Beobachten und Ablehnen ausgewählter Registrierungsschreibvorgänge unter anwendungseigenen HKLM\SOFTWARE-Zweigen. Eine kleine Desktop-Oberfläche erläutert die übereinstimmende Regel und den aufrufenden Prozess.
[!IMPORTANT] Vollversion und kommerzielle Lizenzierung
Discord-Benutzername:
titancsaÖffne Discord, wähle Freunde > Freund hinzufügen, gib
titancsaein und sende dann eine Direktnachricht. Erwähne RegistryGuard und frage nach der Voll-/Produktionsversion, kommerziellen Nutzung oder OEM-Weiterverbreitung.Gib deinen beabsichtigten Verwendungszweck und die Bereitstellungsgröße an, um Preise, Verfügbarkeit und die entsprechenden Lizenzierungs-/Zugriffsanweisungen zu besprechen.
Engineering-Vorschau: Anwendung/SDK verfügbar; echte Microsoft-Höhenzuweisung, Signierung und Live-Kernel-Qualifizierung stehen noch aus. Es ist noch kein installierbarer Treiber veröffentlicht.

Vendor\Product wählt nicht auch Vendor\ProductOther aus.Anwendungsfälle umfassen Integritätstests von Anwendungseinstellungen, Regressionstests von Installationsprogrammen und eine OEM-Richtlinienkomponente. Der anfänglich akzeptierte Geltungsbereich ist ein nativer Zweig unterhalb von \REGISTRY\MACHINE\SOFTWARE\; systemweite Registrierungswurzeln, SAM, SECURITY und SYSTEM werden abgelehnt. In 32-Bit-Anwendungsszenarien muss der tatsächliche native Schlüssel explizit ausgewählt werden, einschließlich WOW6432Node, sofern zutreffend.
Diese Version deckt keine Schlüsselerstellung, Hive-Laden/Wiederherstellen/Ersetzen, Änderungen an Sicherheitsdeskriptoren, Transaktionen, kernelseitige Änderungen oder sämtliche Registrierungsaliase ab. Unbekannte/nicht auflösbare oder abgeschnittene Namen werden fortgesetzt und gezählt; es besteht kein Anspruch auf manipulationssichere Registrierungsisolierung. Ein weiterer vertrauenswürdiger Filter kann das Endergebnis beeinflussen. Windows-ACLs und Sicherungen sollten beibehalten werden.
Lade das vollständige Windows-x64-ZIP von Releases herunter. Entpacke das Archiv, bevor du die Anwendung startest.
Windows 10 Version 2004+ / Windows 11 x64 sind die Build-Ziele. Siehe Validierung und Bereitstellung für die tatsächlich getesteten Plattformen. Eine Microsoft-Signatur allein ist kein Beweis für Korrektheit, Kompatibilität oder eine Microsoft-Befürwortung.
Kompiliere SDK/RegistryGuard.cpp mit deinem Programm und binde SDK/RegistryGuard.h ein. Verwende C++17 und linke setupapi.lib. Für Richtlinienentscheidungen ist kein Laufzeitdienst, kein Cloud-Konto und keine ausführbare Skript-Engine erforderlich.
#include "RegistryGuard.h"
int main() {
RegistryGuard::Session policy;
policy.Start({RegistryGuard::Rule(1,
L"\\REGISTRY\\MACHINE\\SOFTWARE\\Vendor\\Product",
RegistryGuard::Action::Deny)});
// Keep policy alive while your authorized application runs.
// Call policy.Read() to inspect attributed decisions.
}
Der Bereich muss auf dem Zielrechner wie beabsichtigt vorhanden sein. Lesevorgänge bleiben verfügbar. Das kleine Beispiel kehrt sofort zurück und entfernt daher seine Richtlinie; Examples/policy.cpp hält die Sitzung offen, bis die Eingabetaste gedrückt wird. Vom SDK selbst werden keine Registrierungswerte erstellt oder umgeschrieben.
| Funktion | Zweck |
|---|---|
Session::Start(rules) | Öffnet die ausschließlich für Administratoren zugängliche Schnittstelle und installiert atomar bis zu 16 Regeln. |
Session::SetRules(rules) | Ersetzt den vollständigen aktiven Regelsatz; die erste passende Regel gewinnt. |
Session::Read() | Liest sofort höchstens 16 Metadatensätze aus. Ein leerer Stapel bedeutet, dass keine Datensätze in der Warteschlange stehen. |
Session::Status() | Liest die Richtliniengeneration, Zähler, Ringbelegung und QPC-Frequenz. |
Session::Stop() / Destruktor | Schließt das Besitzer-Handle und entfernt seine Richtlinie. |
Rule(id, path, action) | Erstellt eine begrenzte Audit-/Deny-Regel. id muss eindeutig und ungleich null sein. |
Ereignisse umfassen Sequenz, QPC-Zeit, Prozess-ID/Startschlüssel, Richtliniengeneration, Vorgang, passende Regel, Entscheidung und einen begrenzten nativen Pfad. Der Ring mit 256 Datensätzen meldet einen Überlauf, anstatt unbegrenzt Speicher zu reservieren. Die UI zeigt bis zu 400 Datensätze an und aktualisiert alle 200 ms; diese Anzeigefrequenz verzögert keine Kernel-Entscheidungen. Dies ist eine Richtlinienzuordnung vor dem Vorgang, kein vollständiges Audit der endgültigen Ergebnisse und keine Hardware-Latenzmessung. Aufrufe auf einer Session werden serialisiert; alle Aufrufer müssen gestoppt werden, bevor sie zerstört wird.
Installieren Sie die Visual Studio 2022 C++-Tools, CMake und ein Windows SDK. Führen Sie ./Build.ps1 in PowerShell aus. Es baut die native App, die Konsole, das Beispiel, die Installer-Quellen und Offline-Tests mit einer statischen C++-Laufzeit. ./Build.ps1 -Asan fügt AddressSanitizer-Prüfungen im User-Mode hinzu. Offline-Prüfungen laden keinen Treiber. Die Installer-Quelle akzeptiert ein undurchsichtiges signiertes Paket über -DriverPackageDirectory; unsignierte oder nicht zugehörige eingebettete Pakete werden zur Laufzeit abgelehnt.
App/ Native Windows UI and console
SDK/ RegistryGuard.h + RegistryGuard.cpp
Examples/ Small integration example
Installer/ UI/console setup source; kernel implementation excluded
Tests/ Offline protocol validation
docs/ Usage boundaries, validation and commercial integration