vgk plz no hack

PLZNOHACK

Boot-Time Verification

7
VGKbootstatus.datBoot status handshake file created by IoCreateFileEx
stack_magic seed(KePerfCounter.LowPart ^ image_base) | 0xCAFE0001
8-stage init validatorvgk_init_verifier @ vgk+0xC9D4C, checks all subsystems
Section hash driftvgk_section_hash_drift_locator, binary search for code changes
Driver image boundsCaptures DriverObject->DriverStart + DriverSize
Secondary init (INID)0xD4494E49 sentinel triggers HVCI-safe minimal path

SSDT/HAL Hooks

3
15-slot SSDT hook tablevgk_install_ssdt_hooks, 15 syscall dispatcher ladder
HAL PMC trampolinevgk_install_hal_pmc_hook on HalCollectPmCCounters
Syscall dispatchervgk_syscall_hook_target_dispatcher @ vgk+0x93B08, 15 targets

Process/Thread/Object Callbacks

5
Process create/exitPsSetCreateProcessNotifyRoutineEx, XOR-encoded runtime resolve
Thread creationPsSetCreateThreadNotifyRoutine, every thread is monitored
Module/image loadPsSetLoadImageNotifyRoutine, every DLL and driver load
Registry operationsCmRegisterCallbackEx, monitors all registry key activity
Object handlesObRegisterCallbacks, strips/guards process handles

Process Classification

6
Type/code pairvgk_classify_process assigns (type, code) to every process
Protected process checkvgk_is_protected_process_object @ vgk+0xBF85C
VGC process ringvgk_is_vgc_process_expanded, 32-slot ring for up to 32 VGC instances
Riot client service matchvgk_match_riot_client_services, XMM-XOR string matcher
Cross-CR3 verificationvgk_cross_cr3_verify_vgc_agreement @ vgk+0x42AA8
Process terminateZwTerminateProcess for kill-marker enforcement

Guarded Region

8
Memory size0x200000 (2 MB) NonPagedPool, allocated as big pool
Memory stateMEM_RESERVED, found via SystemBigPoolInformation
UWorld pointerguarded_region + 0x50 -> offset 0x144F0 (may update)
PTE toggle primitivevgk_pte_present_batch_toggle, flips page table entries
CR4.PGE flushCR4.PageGlobalEnable cleared around every PTE edit
SMEP/SMAP bypassvgk_cr4_communication, reads/writes CR4
PCID-aware CR3 writervgk_cr3_paging with TLB flush after every write
Physical memory readRead via physical memory mapping (MmMapIoSpace)

Anti-Debug (Kernel)

12
DR0-DR7 register scrubvgk_dpc_clear_drs_ipi, DPC broadcast via KeIpiGenericCall
DR7 local→global promotionNtSetContextThread detour, promotes local enables
XCR0 baseline checkvgk_xgetbv_anti_debug, XSAVE area state validation
INT3 prologue scannerSystem-wide scan for 0xCC bytes in function entries
KUSER_SHARED_DATA KD flagReader of KdDebuggerEnabled + KdPitchDebugger
Per-CPU canary timervgk_per_cpu_canary, 50ms integrity check on each core
Stack walker to syscallvgk_stack_walker_to_syscall, PMC frame scanner
BugCheck callbackKeRegisterBugCheckReasonCallback + KeDeregisterBugCheckReasonCallback
APC kernel routinevgk_evidence_apc_kernel_routine @ vgk+0x9B26C
APC normal+rundownvgk_evidence_apc_normal_routine + vgk_evidence_apc_rundown_routine
DR trap context capturevgk_dr_trap_context_capture @ vgk+0x... (Section 298)
Stack magic anti-spoofstack_magic validated at multiple checkpoints

Anti-Emulation / VM

7
TSC vs QPC drift1000 / 5000 PPM ratio bands, Section 259
TPM emulator detectionswtpm/vtpm vendor-string matched on TPM_PT_VENDOR_STRING
CPUID leaf 0 classifiercore_hwid_cpu_vendor_classifier @ vgk+0xD6CBC
MSR reads (Intel/AMD)0x680, 0x1C9, 0x1DB — CPU-specific MSR values
Monotonic clock pairTSC + QPC pair verification against spoofers
CPUID SMT anti-emulationvgk_cpuid_smt_anti_emul @ vgk+0xAD41000, Section 196
IOMMU probeAMD-Vi IOMMU MMIO probe for IOMMU-enforcement verification

BYOVD Enforcer

4
Kernel image load callbackCat 42 enforcer on every driver load event
Certificate databasevgk_init_certificate_database with 27 RSA roots
Minimum certificate countAt least 16 of 27 certs must load for boot
BCryptVerifySignatureRSA PKCS#1 verification against pinned keys

TPM 2.0 / TPM 1.2

14
PCR0 read (firmware)TPM2_PCR_Read of bank 0, measures S-CRTM and BIOS
PCR7 read (SecureBoot)TPM2_PCR_Read of bank 7, measures boot policy
PCR14 read (boot chain)TPM2_PCR_Read of bank 14, authority boot chain
EK certificateTPM2_ReadPublic on EK handle + TPM2_Certify
TPM2_Quote attestationPlatform attestation with PEM-encoded signature
TPM2_GetCapabilityFirmware version, vendor string, TPM properties
TPM2_NV_ReadReads NV indices for EK certificate storage
TPM2_GetRandomCryptographic randomness generation
TPM2_SelfTestSelf-test execution at boot
TPM2_Hash + HashSequenceSHA-256/SHA-1 hash computation
TPM2_Sign + VerifySignatureRSA signing and verification
TPM2_StartAuthSessionSession establishment for protections
TPM2_PolicyPCRPCR policy session for authorization
TPM 1.2 fallbackPcrRead, ReadPubek, PERMANENT/STCLEAR flags

TPM Transport

3
TIS MMIO base0xFED40000, locality-aware register access
TPM TIS register mapACCESS(0x00), STS(0x18), DATA_FIFO(0x24), DID_VID(0xF00)
ACPI PPI walkerAML walker for _DSM method on TPM device

Secure Boot / UEFI

6
SetupMode variableUEFI GetVariable of SetupMode
SecureBoot variableUEFI GetVariable of SecureBoot
db/dbx/MokList/SbatLevelUEFI signature database walk + entry enumeration
BCD store traversalNoIntegrityChecks, GlobalSettings, NTLDR element IDs
UEFI variable chainReaders for shim GUID, Authenticode section sort
Boot manager validationBCD BootMgr + OSLoader well-known object keys

HVCI / VBS / Hyper-V

6
VTL register catalogRun-time enumeration of VTL registers
System Guard SecureLaunchDRTM attestation surface measurement
HypervisorLaunchTypeBCD store + registry query
VsmLaunchTypeVBS status verification
Secure Kernel surfacePluton + softTPM provider discriminator
HVCI runtime detectionTHREE independent HVCI ON/OFF detection methods

Hardware Fingerprinting (HWID)

16
SMBIOS Type 1 (System)Manufacturer, product name, serial, UUID
SMBIOS Type 3 (Chassis)Chassis serial, asset tag, chassis type
SMBIOS Type 4 (CPU)Processor ID, socket type, manufacturer
SMBIOS Type 17 (RAM)Memory serial, part number, speed, size
Boot HWID fingerprintvgk_boot_hwid_compute_fingerprint @ vgk+0x59FB0
Runtime HWID driftvgk_runtime_hwid_recompute_and_compare @ vgk+0x5B770
HWID composite blobvgk_compose_hwid_blob @ vgk+0x590E0
MachineGuid capturevgk_machine_guid_capture @ vgk+0xC5DD0
SMBIOS UUID readvgk_read_smbios_uuid @ vgk+0xC5240
ATA SMART attributesS.M.A.R.T. threshold + attribute classifier
PCI config spaceDevice/vendor ID for live device enumeration
NDIS hardware OIDsNetwork adapter vendor + product identifiers
GPT partition geometryDisk layout fingerprinting
Volume serials (NTFS/FAT)Drive serial number reads
WMI activation statusSoftware license grace period query
Hot-plug re-baselineHWID recompute on hardware change events

Registry Monitoring

10
MachineGuidHKLM\SOFTWARE\Microsoft\Cryptography\MachineGuid
ProductIdHKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProductId
InstallDateHKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\InstallDate
DigitalProductIdWindows license PID from registry
ComputerHardwareIdGen 8+ hardware hash identifier
InstallTimeOS installation timestamp
TimeZoneInformationTimezone bias + daylight saving settings
Cryptography defaultsDefault cryptographic provider GUIDs
VGK service key\REGISTRY\MACHINE\SYSTEM\ControlSet001\Services\VGK
Registry callbackCmRegisterCallbackEx monitors key open/create/write

Storage/Disk

5
Volume serial numberNTFS/FAT root drive serial via GetVolumeInformationW
GPT partition GUIDDisk GUID via IOCTL_DISK_GET_DRIVE_LAYOUT_EX
ATA SMART dataDrive health metrics via SMART_RCV_DRIVE_DATA
Physical disk serialStorage serial via IOCTL_STORAGE_QUERY_PROPERTY
Disk file tracesIoQueryFileInformation for file-level access

Network (NDIS)

4
Permanent MAC addressOID_802_3_PERMANENT_ADDRESS from NIC firmware
Adapter GUIDOID_GEN_NETWORK_LAYER_ADDRESSES NDIS query
NDIS hardware identifierVendor ID, product ID, bus information
NDIS filter driverInstalled filter for OID interception

PCI / GPU

3
PCI configuration spaceIRP_MN_QUERY_ID with BusQueryDeviceID/InstanceID
GPU vendor/device/subvendorRead from PCI config space

Anti-Debug (User-Mode)

9
IsDebuggerPresentNtQueryInformationProcess(ProcessDebugPort)
CheckRemoteDebuggerPresentNtQueryInformationProcess process flags
NtQueryInformationProcessFull debug flag enumeration
AddVectoredExceptionHandlerVEH chain check for anti-debug handlers
SetUnhandledExceptionFilterLast-chance exception filter override
OutputDebugStringWDebug string detection for kernel debugger presence
CreateToolhelp32SnapshotProcess enumeration for debugger process detection
WTSEnumerateSessionsWTerminal Services session enumeration for multiple logons
Tray icon scanningScan system tray for known debugger icons

Cryptographic Verifiers

10
BCrypt SHA-256 wrapperHash operations for integrity checking
BCrypt SHA-1 monolith~240KB self-integrity hash computation
BCrypt SHA-384/SHA-512Extended hash algorithm support
KDFa with SP800-108 fixKey derivation function with null-label fix
AES-CFB encryptionSymmetric encryption for specific data
HMAC-SHA256Tied to MakeCredential and evidence chain
RSA PKCS#1 verifyFull certificate chain verification
Authenticode ASN.1 walkerSignature parsing for signed binaries
ECDSA blob validatorElliptic curve signature verification
PKCS#7 SignedData parserCertificate bundle parsing for BYOVD

XOR-IAT Resolver

4
PsSetCreateProcessNotifyResolveResolved via MmGetSystemRoutineAddress on XOR names
PsSetCreateThreadNotifyXOR-encoded, resolved per call site
PsSetLoadImageNotifyXOR-encoded, resolved per call site
ObRegisterCallbacks & moreFamily of XOR-encoded callbacks resolved at runtime

Integrity Verification

7
SHA-1 self-hash monolithvgk_sha1_compute_text_backend, ~240KB of hash computation
225-tuple guard chainstatic_assert VGK_TAMPER_GUARD_SLOT_COUNT == 225
Guard chain orchestrator@ vgk+0xAE42678, invokes 231 total (225 guards + 2 prologue + 4 tail)
XMM canary mailbox16-byte rotating value (4 ULONGs), heartbeat integrity check
Canary rotationvgk_rotate_canary, xmmword mailbox primitive
Section hash driftBinary search page-level comparison for code changes
XOR-IAT chain verificationSection 312 documents the complete XOR verification pattern

Evidence Logging

8
Central evidence emittervgk_log_evidence, 311 call sites across the driver
VAN68 evidence header40-byte VAN68_EVIDENCE_HEADER packet format
HWID evidence header16-byte HWID_EVIDENCE_HEADER distinct from VAN68
veve CRC-32 tag0x65766576 LE, wraps HWID evidence in CRC-32 packet
KIWH binary blobNV-seal form HWID blob, base64-ready format
Kill-marker mediatorChain of evidence escalation on detection
Severity classifierSection 22, assigns severity to evidence events
Evidence APC deliveryKernel-mode APC for cross-process evidence notification

Scan Cadence

6
Main scan loopvgk_main_scan_loop @ vgk+0x45D38, 1.5 seconds fast scan
Extended scan loop30 seconds slower scan with full enumeration
Per-CPU canary timer50ms per-core integrity verification
HWID drift detectionContinuous runtime compare of HWID vs boot baseline
Hot-plug re-baselineRe-run HWID capture on hardware change notification
Timer setupKeInitializeDpc + KeInitializeTimer + KeSetTimer

Cryptographic Calls (cng.sys)

9
BCryptOpenAlgorithmProviderOpens algorithm provider for cryptography
BCryptCloseAlgorithmProviderCloses provider when done
BCryptGetPropertyQueries algorithm properties
BCryptCreateHashHash object creation
BCryptHashDataData injection into hash
BCryptFinishHashHash digest output
BCryptImportKeyPairRSA key import for verification
BCryptVerifySignatureRSA PKCS#1 signature verification
BCryptDestroyHashHash object cleanup

User-Mode Protocol (REST)

14
/vanguard/v1/gatewayCentral HTTPS telemetry endpoint
AuthenticationRequestmachine_id + game_token + client_rsa_public_key
TokenResponsesession_token + server_rsa_public_key + FeatureFlags
HeartbeatRequestPeriodic ping with access_token + additional_requested_tasks
OSInfoWindows version + build variant + language
CpuInfoCPU brand string + model + cores
GpuInfoGPU brand string + model + driver version
MemoryInfoTotal RAM size + configuration
DeviceInfoSMBIOS serial numbers + hardware identifiers (encrypted)
ModuleCDNDataCDN module definition with cdn_url + Module.id
Task systemTask.id + TaskResult.data + TaskPerformance metrics
Module executionCreateProcessW / LoadLibraryW from CDN-delivered modules
Signature verificationWinVerifyTrust + CryptQueryObject on downloaded modules
LDAP directory query14 LDAP functions including ldap_search_s/simple_bind_s

Device / Persistence

5
Kernel device name\Device\VGK_PLZNOHACK
User symlink\DosDevices\VGK for user-mode access
Shared memory section0x2000 byte ring buffer between vgk.sys and vgc.exe
Boot-start serviceStart=0 (SERVICE_BOOT_START), loads before other boot drivers
Service registry keyHKLM\SYSTEM\CurrentControlSet\Services\VGK

VMP (Virtualization Protection)

6
Dispatcher AReturn-RIP VM landing, Category 57
Dispatcher BSyscall-hook landing for SSDT protection
Dispatcher CInit-verifier 8-stage landing
EB FF anti-disassembly0xEB 0xFF short-jump-self prefix in .riot1
XMM-XOR string decryptionCategory 22, deobfuscates strings at runtime
MBA pad simplifierCube-flip + XOR-rotate-fold inverter for arithmetic obfuscation

PE Imports (ntoskrnl.exe)

75 entries
Memory managementExAllocatePoolWithTag, ExFreePoolWithTag, MmMapLockedPagesSpecifyCache
I/O operationsIoCreateFileEx, ZwReadFile, ZwWriteFile, ZwClose
Process opsZwTerminateProcess, ZwQuerySystemInformation, ObfDereferenceObject
SynchronizationKeInitializeSpinLock, KeAcquireSpinLock, KeReleaseGuardedMutex
Timer/DPCKeInitializeDpc, KeInitializeTimer, KeSetTimer, KeQuerySystemTimePrecise
String operationswcscpy_s, wcscat_s, swprintf_s, RtlInitUnicodeString, strcmp
BugCheckKeBugCheckEx, KeRegisterBugCheckReasonCallback
IRQL controlKfRaiseIrql, KeLowerIrql, KeGetCurrentIrql, KeAreAllApcsDisabled
A PC operationsKeInitializeApc, KeInsertQueueApc
APC helpersKeInitializeGuardedMutex, KeAcquireGuardedMutex, KeReleaseGuardedMutex

PE Imports (HAL.dll + cng.sys)

10 imports
HAL: KeQueryPerformanceCounterHigh-precision timing for drift detection
CNG: BCryptVerifySignatureRSA PKCS#1 verification
CNG: BCryptCreateHashHash create
CNG: BCryptHashDataHash data
CNG: BCryptFinishHashHash finish
CNG: BCryptOpenAlgorithmProviderOpen provider
CNG: BCryptCloseAlgorithmProviderClose provider
CNG: BCryptGetPropertyGet property
CNG: BCryptImportKeyPairImport RSA key
CNG: BCryptDestroyHashDestroy hash

PS C allbacks (XOR-resolved)

8
PsSetCreateProcessNotifyRoutineExProcess create/exit notification
PsSetCreateThreadNotifyRoutineThread create/exit notification
PsSetLoadImageNotifyRoutineModule load notification
ObRegisterCallbacksProcess/thread handle interceptor
CmRegisterCallbackExRegistry change monitor
IoRegisterFsRegistrationChangeFile system driver registration
PsIsProtectedProcessLightProtected process light verification
PsLookupProcessByProcessIdProcess ID to EPROCESS translation

Driver Init Subsystems

16
4.1 DriverEntry70-byte shim, calls init thunk through .grfn1 defilade
4.2 vgk_real_driver_init462-byte MBA pad with mixer K1/K2 obfuscation
4.3 vgk_verify_boot_statusReads VGKbootstatus.dat from disk
4.4 vgk_setup_shared_memory0x2000-byte shared ring with vgc.exe
4.10 vgk_main_scan_loopPrimary detection loop, dual 1.5s/30s cadence
4.12 vgk_resolve_xor_importPer-call-site XOR-IAT decryptor
4.13 vgk_install_ssdt_hooks15 syscall hook installation
4.14 vgk_install_hal_pmc_hookHAL performance counter hook
4.17 vgk_dpc_clear_drs_ipiDR0-DR7 scrub across all CPUs via IPI
4.19 vgk_byovd_on_kernel_image_loadBlock vulnerable drivers
4.20 vgk_init_certificate_databaseLoad 27 RSA certificate roots
4.21 vgk_irp_device_controlvgc.exe <-> vgk.sys IOCTL gate
4.22 vgk_init_verifier8-stage post-init validator
4.31-4.33 VM dispatchersA (ret-RIP), B (syscall), C (init-verifier)
4.43 vgk_cr4_communicationEvery CR4 read/write + SMEP/SMAP bypass
4.44 vgk_cr3_pagingPCID-aware CR3 writer with TLB flush

Obfuscation Layer (.grfn1)

6
Total functions9,285 tiny stub functions in 50.5 MB
Internal JMPs7,057 jumps between .grfn1 functions
Cross-section CALLs1,909 calls from .grfn1 to .text
XREFs from .riot021,977 data references into .grfn1
Pattern.riot0 -> XREF -> .grfn1 -> JMP chain -> CALL -> .text
PurposeAnti-static-analysis call graph obfuscation

Execution / Scheduling

5
Work itemsIoAllocateWorkItem + IoQueueWorkItem for deferred work
IPI broadcastKeIpiGenericCall for cross-CPU synchronization
DPC timerKeInitializeDpc + KeInitializeTimer for periodic scan
System threadsPsCreateSystemThread for dedicated monitor threads
A PC for evidenceKeInitializeApc + KeInsertQueueApc for inter-context delivery

VGC.exe (User-Mode)

8
Section size total66 MB PE binary with 11 memory sections
Main engine (.riot1)10,267 functions in 6.7 MB of executable code
Obfuscation (.grfn1)9,285 functions in 50.5 MB of jump-stub obfuscation
Bootstrapper (.riot0)528 KB, chains into .grfn1 indirection
Standard code (.text)7,274 functions in 3.9 MB OpenSSL/libcurl/glue
Total imports338 Windows API imports across all categories
Total strings5,486 strings extracted from .rdata section
Functions labeled11,972 functions auto-renamed with human-readable names