
Windows 커널 레지스트리 필터 SDK 및 범위 지정 애플리케이션 키 쓰기 감사/제어를 위한 네이티브 C++ UI. Altitude/서명 대기 중; OEM 통합: Discord titancsa.
애플리케이션이 소유한 HKLM\SOFTWARE 분기 아래에서 선택된 레지스트리 쓰기를 관찰하고 거부하기 위한 네이티브 C++ 규칙입니다. 작은 데스크톱 인터페이스가 일치한 규칙과 호출 프로세스를 설명합니다.
[!IMPORTANT] 전체 버전 및 상용 라이선싱
Discord 사용자 이름:
titancsaDiscord를 열고 Friends > Add Friend를 선택한 뒤 **
titancsa**를 입력하고 다이렉트 메시지를 보내세요. RegistryGuard를 언급하고 전체 / 프로덕션 버전, 상용 사용 또는 OEM 재배포에 대해 문의하세요.가격, 가용성 및 적절한 라이선싱 / 접근 안내를 논의하려면 의도한 사용 목적과 배포 규모를 포함하세요.
엔지니어링 프리뷰: 애플리케이션/SDK 사용 가능; 정식 Microsoft altitude 할당, 서명 및 실시간 커널 검증은 대기 중입니다. 아직 설치 가능한 드라이버는 게시되지 않았습니다.

Vendor\Product는 Vendor\ProductOther도 선택하지 않습니다.사용 사례로는 애플리케이션 설정 무결성 테스트, 설치 프로그램 회귀 테스트 및 OEM 정책 구성 요소가 있습니다. 초기 허용 범위는 \REGISTRY\MACHINE\SOFTWARE\ 아래의 네이티브 분기입니다. 시스템 전체 레지스트리 루트, SAM, SECURITY 및 SYSTEM은 거부됩니다. 32비트 애플리케이션 시나리오에서는 해당되는 경우 WOW6432Node를 포함하여 실제 네이티브 키를 명시적으로 선택하세요.
이 버전은 키 생성, 하이브 로드/복원/교체, 보안 설명자 변경, 트랜잭션, 커널에서 발생한 변경 또는 모든 레지스트리 별칭을 다루지 않습니다. 알 수 없거나 확인할 수 없거나 잘린 이름은 계속 진행되며 집계됩니다. 변조 방지 레지스트리 격리에 대한 주장은 없습니다. 다른 신뢰할 수 있는 필터가 최종 결과에 영향을 줄 수 있습니다. Windows ACL과 백업을 그대로 유지하세요.
Releases에서 전체 Windows x64 ZIP을 다운로드하세요. 애플리케이션을 시작하기 전에 아카이브의 압축을 푸세요.
Windows 10 버전 2004+ / Windows 11 x64가 빌드 대상입니다. 실제로 검증된 플랫폼은 검증 및 배포를 참조하세요. Microsoft 서명만으로는 정확성, 호환성 또는 Microsoft의 보증을 입증하지 않습니다.
SDK/RegistryGuard.cpp를 프로그램과 함께 컴파일하고 SDK/RegistryGuard.h를 포함하세요. C++17을 사용하고 setupapi.lib을 링크하세요. 정책 결정에는 런타임 서비스, 클라우드 계정 또는 실행 가능한 스크립팅 엔진이 필요하지 않습니다.
#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.
}
범위는 대상 머신에 의도한 대로 존재해야 합니다. 읽기는 계속 사용 가능합니다. 작은 예제는 즉시 반환되므로 정책을 제거합니다. Examples/policy.cpp는 Enter를 누를 때까지 세션을 열어 둡니다. SDK 자체는 레지스트리 값을 생성하거나 다시 쓰지 않습니다.
| 함수 | 목적 |
|---|---|
Session::Start(rules) | 관리자 전용 배타적 인터페이스를 열고 최대 16개의 규칙을 원자적으로 설치합니다. |
Session::SetRules(rules) | 전체 활성 규칙 집합을 교체합니다. 첫 번째로 일치하는 규칙이 우선합니다. |
Session::Read() | 최대 16개의 메타데이터 레코드를 즉시 비웁니다. 빈 배치는 대기 중인 레코드가 없음을 의미합니다. |
Session::Status() | 정책 세대, 카운터, 링 점유율 및 QPC 주파수를 읽습니다. |
Session::Stop() / 소멸자 | 소유자 핸들을 닫고 해당 정책을 제거합니다. |
Rule(id, path, action) | 범위가 제한된 감사/거부 규칙을 생성합니다. id는 고유하고 0이 아니어야 합니다. |
이벤트에는 시퀀스, QPC 시간, 프로세스 ID/시작 키, 정책 세대, 작업, 일치한 규칙, 결정 및 범위가 제한된 네이티브 경로가 포함됩니다. 256개 레코드 링은 무제한으로 할당하는 대신 오버플로를 보고합니다. UI는 최대 400개의 레코드를 표시하며 200ms마다 새로 고칩니다. 이 표시 주기는 커널 결정을 지연시키지 않습니다. 이는 작업 전 정책 귀속이며, 최종 결과에 대한 완전한 감사나 하드웨어 지연 측정이 아닙니다. 하나의 Session에 대한 호출은 직렬화됩니다. 세션을 소멸하기 전에 모든 호출자를 중지하십시오.
Visual Studio 2022 C++ 도구, CMake 및 Windows SDK를 설치하십시오. PowerShell에서 ./Build.ps1을 실행하십시오. 정적 C++ 런타임으로 네이티브 앱, 콘솔, 예제, 설치 프로그램 소스 및 오프라인 테스트를 빌드합니다. ./Build.ps1 -Asan은 사용자 모드 AddressSanitizer 검사를 추가합니다. 오프라인 검사는 드라이버를 로드하지 않습니다. 설치 프로그램 소스는 -DriverPackageDirectory를 사용하여 불투명한 서명된 패키지를 허용합니다. 서명되지 않았거나 관련 없는 내장 패키지는 런타임에 거부됩니다.
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
공개 애플리케이션, SDK 및 설치 프로그램 소스는 MIT 라이선스입니다. 별도로 제공되는 커널 구현은 비공개이며 해당 소스 라이선스의 적용을 받지 않습니다. 이 엔지니어링 프리뷰는 평가판 타이머, 원격 활성화 또는 강제 가능한 라이선스 할당량을 구현하지 않습니다.
범위가 정해진 통합 파일럿, OEM 재배포 권한, 배포 적격성 검증 또는 유지보수에 대해서는 Discord에서 titancsa 에게 문의하십시오. 상용 옵션을 참조하십시오. 이 프리뷰를 유일한 보안 통제 수단으로 배포하지 마십시오.
이 소프트웨어는 본인이 소유하거나 관리 권한을 부여받은 시스템에서만 사용하십시오. 이 소프트웨어는 정당한 통합, 진단 및 애플리케이션 정책 개발을 목적으로 합니다. 배포 및 관련 법률 준수에 대한 책임은 사용자에게 있습니다. 이 소프트웨어는 해당 라이선스에 따라 보증 없이 제공되며, 손실 방지, 우회에 대한 면역 또는 관련 법률을 초과하는 책임 면제에 대한 보장은 제공되지 않습니다.