
SDK per il filtro del registro del kernel di Windows e interfaccia utente nativa in C++ per l'audit e il controllo delle scritture limitate alle chiavi delle applicazioni. Altitude/firma in sospeso; integrazione OEM: Discord titancsa.
Regole C++ native per osservare e negare scritture di registro selezionate sotto rami HKLM\SOFTWARE di proprietà dell'applicazione. Una piccola interfaccia desktop spiega la regola corrispondente e il processo chiamante.
[!IMPORTANT] Versione completa e licenza commerciale
Nome utente Discord:
titancsaApri Discord, scegli Amici > Aggiungi amico, inserisci
titancsa, quindi invia un messaggio diretto. Menziona RegistryGuard e chiedi informazioni sulla versione completa / di produzione, sull'uso commerciale o sulla ridistribuzione OEM.Includi l'uso previsto e le dimensioni della distribuzione per discutere prezzi, disponibilità e le istruzioni appropriate per licenza / accesso.
Anteprima tecnica: applicazione/SDK disponibile; l'allocazione dell'altitudine Microsoft autentica, la firma e la qualificazione live del kernel sono in sospeso. Nessun driver installabile è ancora pubblicato.

Vendor\Product non seleziona anche Vendor\ProductOther.I casi d'uso includono test di integrità delle impostazioni delle applicazioni, test di regressione degli installer e un componente di criteri OEM. L'ambito iniziale accettato è un ramo nativo sotto \REGISTRY\MACHINE\SOFTWARE\; le radici di registro a livello di sistema, SAM, SECURITY e SYSTEM vengono rifiutate. Negli scenari di applicazioni a 32 bit, seleziona esplicitamente la chiave nativa effettiva, incluso WOW6432Node ove applicabile.
Questa versione non copre la creazione di chiavi, il caricamento/ripristino/sostituzione di hive, le modifiche ai descrittori di sicurezza, le transazioni, le modifiche originate dal kernel o ogni alias di registro. I nomi sconosciuti/non risolvibili o troncati continuano e vengono conteggiati; non vi è alcuna pretesa di isolamento del registro a prova di manomissione. Un altro filtro attendibile può influenzare il risultato finale. Mantieni in atto le ACL di Windows e i backup.
Scarica il ZIP completo per Windows x64 da Releases. Estrai l'archivio prima di avviare l'applicazione.
Windows 10 versione 2004+ / Windows 11 x64 sono i target di build. Consulta validazione e distribuzione per le piattaforme effettivamente testate. Una firma Microsoft da sola non è prova di correttezza, compatibilità o approvazione da parte di Microsoft.
Compila SDK/RegistryGuard.cpp con il tuo programma e includi SDK/RegistryGuard.h. Usa C++17 e collega setupapi.lib. Non sono necessari servizi runtime, account cloud o motori di scripting eseguibili per le decisioni sui criteri.
#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.
}
L'ambito deve esistere come previsto sulla macchina di destinazione. Le letture restano disponibili. Il piccolo esempio ritorna immediatamente e quindi rimuove la propria policy; Examples/policy.cpp mantiene la sessione aperta finché non viene premuto Invio. Nessun valore di registro viene creato o riscritto dall'SDK stesso.
| Funzione | Scopo |
|---|---|
Session::Start(rules) | Apre l'interfaccia esclusiva riservata all'amministratore e installa atomicamente fino a 16 regole. |
Session::SetRules(rules) | Sostituisce l'intero set di regole attive; vince la prima regola corrispondente. |
Session::Read() | Svuota immediatamente al massimo 16 record di metadati. Un batch vuoto significa nessun record in coda. |
Session::Status() | Legge la generazione della policy, i contatori, l'occupazione del ring e la frequenza QPC. |
Session::Stop() / distruttore | Chiude l'handle del proprietario e rimuove la sua policy. |
Rule(id, path, action) | Costruisce una regola di audit/deny limitata. id deve essere univoco e diverso da zero. |
Gli eventi includono sequenza, tempo QPC, ID processo/chiave di avvio, generazione della policy, operazione, regola corrispondente, decisione e un percorso nativo limitato. Il ring da 256 record segnala l'overflow invece di allocare senza limiti. L'interfaccia utente visualizza fino a 400 record e si aggiorna ogni 200 ms; questa cadenza di visualizzazione non ritarda le decisioni del kernel. Si tratta di attribuzione della policy pre-operazione, non di un audit completo degli esiti finali né di una misurazione della latenza hardware. Le chiamate su una singola Session sono serializzate; arrestare tutti i chiamanti prima di distruggerla.
Installare gli strumenti C++ di Visual Studio 2022, CMake e un Windows SDK. Eseguire ./Build.ps1 in PowerShell. Compila l'app nativa, la console, l'esempio, i sorgenti dell'installer e i test offline con un runtime C++ statico. ./Build.ps1 -Asan aggiunge i controlli AddressSanitizer in modalità utente. I controlli offline non caricano alcun driver. Il sorgente dell'installer accetta un pacchetto firmato opaco tramite -DriverPackageDirectory; i pacchetti incorporati non firmati o non correlati vengono rifiutati in fase di esecuzione.
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