
SDK de filtro de registro del kernel de Windows y UI nativa en C++ para auditoría/control de escritura en claves de aplicación con alcance definido. Altitud/firma pendientes; integración OEM: Discord titancsa.
Reglas nativas de C++ para observar y denegar escrituras de registro seleccionadas bajo ramas HKLM\SOFTWARE propiedad de la aplicación. Una pequeña interfaz de escritorio explica la regla coincidente y el proceso de llamada.
[!IMPORTANT] Versión completa y licencia comercial
Nombre de usuario de Discord:
titancsaAbre Discord, elige Amigos > Añadir amigo, introduce
titancsay luego envía un mensaje directo. Menciona RegistryGuard y pregunta por la versión completa / de producción, uso comercial o redistribución OEM.Incluye tu uso previsto y el tamaño del despliegue para tratar precios, disponibilidad y las instrucciones de licencia / acceso adecuadas.
Vista previa de ingeniería: aplicación/SDK disponibles; la asignación de altitud genuina de Microsoft, la firma y la cualificación en kernel en vivo están pendientes. Aún no se publica ningún controlador instalable.

Vendor\Product no selecciona también Vendor\ProductOther.Los casos de uso incluyen pruebas de integridad de la configuración de aplicaciones, pruebas de regresión de instaladores y un componente de directiva OEM. El ámbito aceptado inicial es una rama nativa bajo \REGISTRY\MACHINE\SOFTWARE\; se rechazan las raíces del registro de todo el sistema, SAM, SECURITY y SYSTEM. En escenarios de aplicaciones de 32 bits, selecciona explícitamente la clave nativa real, incluida WOW6432Node cuando corresponda.
Esta versión no cubre la creación de claves, la carga/restauración/reemplazo de hives, los cambios de descriptores de seguridad, las transacciones, los cambios originados en el kernel ni todos los alias del registro. Los nombres desconocidos/no resolubles o truncados continúan y se cuentan; no se afirma un aislamiento del registro a prueba de manipulaciones. Otro filtro de confianza puede influir en el resultado final. Mantén las ACL de Windows y las copias de seguridad en su lugar.
Descarga el ZIP completo para Windows x64 desde Releases. Extrae el archivo antes de iniciar la aplicación.
Windows 10 versión 2004+ / Windows 11 x64 son los objetivos de compilación. Consulta validación y despliegue para las plataformas realmente ejercitadas. Una firma de Microsoft por sí sola no es prueba de corrección, compatibilidad ni respaldo de Microsoft.
Compila SDK/RegistryGuard.cpp con tu programa e incluye SDK/RegistryGuard.h. Usa C++17 y enlaza setupapi.lib. No se necesita ningún servicio en tiempo de ejecución, cuenta en la nube ni motor de scripting ejecutable para las decisiones de directiva.
#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.
}
El ámbito debe existir según lo previsto en la máquina de destino. Las lecturas permanecen disponibles. El pequeño ejemplo retorna inmediatamente y por lo tanto elimina su política; Examples/policy.cpp mantiene la sesión abierta hasta que se presiona Enter. El SDK en sí no crea ni reescribe valores del registro.
| Función | Propósito |
|---|---|
Session::Start(rules) | Abre la interfaz exclusiva solo para administradores e instala atómicamente hasta 16 reglas. |
Session::SetRules(rules) | Reemplaza el conjunto completo de reglas activas; gana la primera regla que coincida. |
Session::Read() | Drena inmediatamente como máximo 16 registros de metadatos. Un lote vacío significa que no hay registros en cola. |
Session::Status() | Lee la generación de la política, los contadores, la ocupación del anillo y la frecuencia de QPC. |
Session::Stop() / destructor | Cierra el handle del propietario y elimina su política. |
Rule(id, path, action) | Construye una regla acotada de auditoría/denegación. id debe ser único y distinto de cero. |
Los eventos incluyen secuencia, tiempo de QPC, ID/clave de inicio del proceso, generación de la política, operación, regla coincidente, decisión y una ruta nativa acotada. El anillo de 256 registros informa desbordamiento en lugar de asignar sin límite. La interfaz de usuario muestra hasta 400 registros y se actualiza cada 200 ms; esta cadencia de visualización no retrasa las decisiones del kernel. Se trata de atribución de políticas previa a la operación, no de una auditoría completa de los resultados finales ni de una medición de latencia de hardware. Las llamadas sobre un mismo Session se serializan; detenga todos los llamadores antes de destruirlo.
Instale las herramientas de C++ de Visual Studio 2022, CMake y un Windows SDK. Ejecute ./Build.ps1 en PowerShell. Compila la aplicación nativa, la consola, el ejemplo, las fuentes del instalador y las pruebas sin conexión con un runtime de C++ estático. ./Build.ps1 -Asan añade comprobaciones de AddressSanitizer en modo usuario. Las comprobaciones sin conexión no cargan un controlador. La fuente del instalador acepta un paquete firmado opaco mediante -DriverPackageDirectory; los paquetes incrustados sin firmar o no relacionados se rechazan en tiempo de ejecución.
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