<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
  <title>visualstudioblyat</title>
  <link>https://visualstudioblyat.dev</link>
  <description>amd svm hypervisors, smm exploitation, custom firmware. everything below the kernel.</description>
  <language>en-us</language>
  <atom:link href="https://visualstudioblyat.dev/feed.xml" rel="self" type="application/rss+xml"/>
  <item>
    <title>Building an AMD SVM Blue-Pill Hypervisor from Scratch</title>
    <link>https://visualstudioblyat.dev/01-blue-pill.html</link>
    <guid>https://visualstudioblyat.dev/01-blue-pill.html</guid>
    <pubDate>Thu, 05 Feb 2026 00:00:00 GMT</pubDate>
    <description>from zero to 16-core virtualization in rust. vmcb setup, npt, msr intercepts, 150-cycle tsc offset.</description>
  </item>
  <item>
    <title>SmmInfect: Launching a Hypervisor from Ring -2</title>
    <link>https://visualstudioblyat.dev/02-smminfect.html</link>
    <guid>https://visualstudioblyat.dev/02-smminfect.html</guid>
    <pubDate>Fri, 06 Feb 2026 00:00:00 GMT</pubDate>
    <description>custom smm module flashed into motherboard firmware. code execution before secure boot, before everything.</description>
  </item>
  <item>
    <title>Faking VBS: Spoofing Core Isolation from L0</title>
    <link>https://visualstudioblyat.dev/03-vbs-spoof.html</link>
    <guid>https://visualstudioblyat.dev/03-vbs-spoof.html</guid>
    <pubDate>Sat, 07 Feb 2026 00:00:00 GMT</pubDate>
    <description>npt shadow pages on ci.dll, cpuid leaf spoofing, registry manipulation. the kernel thinks hyper-v is running.</description>
  </item>
  <item>
    <title>VMCB Swap: Running a Guest VM Inside a Blue-Pill</title>
    <link>https://visualstudioblyat.dev/04-vmcb-swap.html</link>
    <guid>https://visualstudioblyat.dev/04-vmcb-swap.html</guid>
    <pubDate>Mon, 09 Feb 2026 00:00:00 GMT</pubDate>
    <description>ovmf booting on dedicated cores. the swap storm, gif=0 safety, atomic sipi delivery.</description>
  </item>
  <item>
    <title>25 Detection Vectors and How I Beat Them</title>
    <link>https://visualstudioblyat.dev/05-detection.html</link>
    <guid>https://visualstudioblyat.dev/05-detection.html</guid>
    <pubDate>Tue, 10 Feb 2026 00:00:00 GMT</pubDate>
    <description>tsc compensation, cpuid masking, msr filtering, apic id spoofing. full anti-detection suite.</description>
  </item>
  <item>
    <title>NPT Shadow Pages: Serving Fake Memory to the Kernel</title>
    <link>https://visualstudioblyat.dev/06-npt-shadow.html</link>
    <guid>https://visualstudioblyat.dev/06-npt-shadow.html</guid>
    <pubDate>Wed, 11 Feb 2026 00:00:00 GMT</pubDate>
    <description>remapping guest physical addresses. a 4kb page split turns g_CiOptions into whatever i want.</description>
  </item>
  <item>
    <title>Booting Windows Under a Custom Hypervisor</title>
    <link>https://visualstudioblyat.dev/07-windows-boot.html</link>
    <guid>https://visualstudioblyat.dev/07-windows-boot.html</guid>
    <pubDate>Fri, 13 Feb 2026 00:00:00 GMT</pubDate>
    <description>the 0xC0000225 saga. gdt patching, mtrr shadows, deferred disk i/o, 40gb through a virtual nvme.</description>
  </item>
  <item>
    <title>The Page You Cannot Shadow: KUSER_SHARED_DATA</title>
    <link>https://visualstudioblyat.dev/08-kusd.html</link>
    <guid>https://visualstudioblyat.dev/08-kusd.html</guid>
    <pubDate>Sat, 14 Feb 2026 00:00:00 GMT</pubDate>
    <description>static npt shadow on a page the kernel writes every tick. instant MEMORY_MANAGEMENT bsod.</description>
  </item>
  <item>
    <title>GPU VRAM Overlay: Hiding in Video Memory</title>
    <link>https://visualstudioblyat.dev/09-gpu-vram.html</link>
    <guid>https://visualstudioblyat.dev/09-gpu-vram.html</guid>
    <pubDate>Sun, 15 Feb 2026 00:00:00 GMT</pubDate>
    <description>tiling formulas, swizzle patterns, hypervisor data invisible in gpu-addressable vram.</description>
  </item>
  <item>
    <title>From SMM to DMA: Alternative Paths to Arbitrary R/W</title>
    <link>https://visualstudioblyat.dev/10-dma.html</link>
    <guid>https://visualstudioblyat.dev/10-dma.html</guid>
    <pubDate>Tue, 17 Feb 2026 00:00:00 GMT</pubDate>
    <description>pcie bus mastering, envme on nanopc-t6, flashable i210 nics, iommu bypass from smm.</description>
  </item>
  <item>
    <title>NPT Deep Dive: Identity Mapping, Page Splitting, and the Hidden Page Table</title>
    <link>https://visualstudioblyat.dev/11-npt-deepdive.html</link>
    <guid>https://visualstudioblyat.dev/11-npt-deepdive.html</guid>
    <pubDate>Wed, 18 Feb 2026 00:00:00 GMT</pubDate>
    <description>4-level page tables, 2mb large pages, split_2mb_to_4kb(), find_pde(), the pages[] array.</description>
  </item>
  <item>
    <title>CPUID Masking: Becoming Microsoft Hyper-V</title>
    <link>https://visualstudioblyat.dev/12-cpuid-masking.html</link>
    <guid>https://visualstudioblyat.dev/12-cpuid-masking.html</guid>
    <pubDate>Thu, 19 Feb 2026 00:00:00 GMT</pubDate>
    <description>every leaf from 0x40000000 to 0x40000006. "microsoft hv" vendor string, feature flags, fake vbs.</description>
  </item>
  <item>
    <title>MSR Filtering: The Hypercall Page and Synthetic Timers</title>
    <link>https://visualstudioblyat.dev/13-msr-filter.html</link>
    <guid>https://visualstudioblyat.dev/13-msr-filter.html</guid>
    <pubDate>Sat, 21 Feb 2026 00:00:00 GMT</pubDate>
    <description>msrpm bitmap, hypercall vmmcall;ret stub, synthetic timers, synic, reference tsc page.</description>
  </item>
  <item>
    <title>LBRV: Hardware LBR Auto-Swap on VMRUN</title>
    <link>https://visualstudioblyat.dev/14-lbrv.html</link>
    <guid>https://visualstudioblyat.dev/14-lbrv.html</guid>
    <pubDate>Sun, 22 Feb 2026 00:00:00 GMT</pubDate>
    <description>one flag in the vmcb, zero code, entire lbr detection surface eliminated.</description>
  </item>
  <item>
    <title>PM Timer Emulation: The Other Timing Side-Channel</title>
    <link>https://visualstudioblyat.dev/15-pmtimer.html</link>
    <guid>https://visualstudioblyat.dev/15-pmtimer.html</guid>
    <pubDate>Mon, 23 Feb 2026 00:00:00 GMT</pubDate>
    <description>acpi pm timer at port 0x408, cross-reference detection, iopm intercept, aperf/mperf.</description>
  </item>
  <item>
    <title>HPET Emulation: Memory-Mapped Timing at 0xFED00000</title>
    <link>https://visualstudioblyat.dev/16-hpet.html</link>
    <guid>https://visualstudioblyat.dev/16-hpet.html</guid>
    <pubDate>Tue, 24 Feb 2026 00:00:00 GMT</pubDate>
    <description>npt page fault on hpet mmio, compensated counter, three clocks in agreement.</description>
  </item>
  <item>
    <title>TPM Emulation: Faking the Trusted Platform Module</title>
    <link>https://visualstudioblyat.dev/17-tpm.html</link>
    <guid>https://visualstudioblyat.dev/17-tpm.html</guid>
    <pubDate>Wed, 25 Feb 2026 00:00:00 GMT</pubDate>
    <description>pcr measurements, tpm mmio intercept, anti-cheats that check hardware attestation.</description>
  </item>
  <item>
    <title>The MMIO Emulation Framework</title>
    <link>https://visualstudioblyat.dev/18-mmio-framework.html</link>
    <guid>https://visualstudioblyat.dev/18-mmio-framework.html</guid>
    <pubDate>Fri, 27 Feb 2026 00:00:00 GMT</pubDate>
    <description>npt unmap, #npf dispatch, instruction decode. one framework for tpm, hpet, apic, and everything else.</description>
  </item>
  <item>
    <title>Virtual APIC ID Spoofing</title>
    <link>https://visualstudioblyat.dev/19-apic-spoof.html</link>
    <guid>https://visualstudioblyat.dev/19-apic-spoof.html</guid>
    <pubDate>Sat, 28 Feb 2026 00:00:00 GMT</pubDate>
    <description>guest cores 14/15 see apic id 0/1. acpi tables match, mp table matches, os boots multicore.</description>
  </item>
  <item>
    <title>Atomic SIPI Delivery: Waking Up Application Processors</title>
    <link>https://visualstudioblyat.dev/20-sipi.html</link>
    <guid>https://visualstudioblyat.dev/20-sipi.html</guid>
    <pubDate>Sun, 01 Mar 2026 00:00:00 GMT</pubDate>
    <description>bsp sets atomicbool flags, ap checks in hlt handler. kvm-style sipi without touching another core's vmcb.</description>
  </item>
  <item>
    <title>GIF=0: Running Exit Handlers with Interrupts Masked</title>
    <link>https://visualstudioblyat.dev/21-gif0-safety.html</link>
    <guid>https://visualstudioblyat.dev/21-gif0-safety.html</guid>
    <pubDate>Mon, 02 Mar 2026 00:00:00 GMT</pubDate>
    <description>no interrupts, no nmis, no smis. what you can and can't do at gif=0. the simpleSvm pattern.</description>
  </item>
  <item>
    <title>The Registry Write That Would Have Turned On Real Hyper-V</title>
    <link>https://visualstudioblyat.dev/22-dangerous-registry.html</link>
    <guid>https://visualstudioblyat.dev/22-dangerous-registry.html</guid>
    <pubDate>Tue, 03 Mar 2026 00:00:00 GMT</pubDate>
    <description>volatile vs persistent keys. one wrong write and next reboot launches real hyper-v.</description>
  </item>
  <item>
    <title>KERNEL_SECURITY_CHECK_FAILURE: Proof the Kernel Saw My Fake Bits</title>
    <link>https://visualstudioblyat.dev/23-kernel-security-check.html</link>
    <guid>https://visualstudioblyat.dev/23-kernel-security-check.html</guid>
    <pubDate>Thu, 05 Mar 2026 00:00:00 GMT</pubDate>
    <description>bsod 0x139 on devirt. the kernel enforced my fake g_CiOptions values. spoofing worked too well.</description>
  </item>
  <item>
    <title>WMI vs NtQuerySystemInformation: Which Check Surface Actually Matters</title>
    <link>https://visualstudioblyat.dev/24-wmi-vs-ntquery.html</link>
    <guid>https://visualstudioblyat.dev/24-wmi-vs-ntquery.html</guid>
    <pubDate>Fri, 06 Mar 2026 00:00:00 GMT</pubDate>
    <description>five ways windows reports vbs status. they don't agree. which ones i can fake, which ones i can't.</description>
  </item>
  <item>
    <title>0xC0000225: The Windows Boot Error That Took Two Weeks</title>
    <link>https://visualstudioblyat.dev/25-0xc0000225.html</link>
    <guid>https://visualstudioblyat.dev/25-0xc0000225.html</guid>
    <pubDate>Sat, 07 Mar 2026 00:00:00 GMT</pubDate>
    <description>bootmgfw loaded, winload loaded, progress bar 100%, then STATUS_NOT_FOUND. six bugs, two weeks of serial.</description>
  </item>
  <item>
    <title>GDT Patching: Fixing #GP in the Boot Path</title>
    <link>https://visualstudioblyat.dev/26-gdt-patching.html</link>
    <guid>https://visualstudioblyat.dev/26-gdt-patching.html</guid>
    <pubDate>Sun, 08 Mar 2026 00:00:00 GMT</pubDate>
    <description>winload expects specific gdt layout. uefi gdt had code segments where data was needed. #gp on mov ss.</description>
  </item>
  <item>
    <title>MTRR Shadow: Memory Type Emulation</title>
    <link>https://visualstudioblyat.dev/27-mtrr-shadow.html</link>
    <guid>https://visualstudioblyat.dev/27-mtrr-shadow.html</guid>
    <pubDate>Mon, 09 Mar 2026 00:00:00 GMT</pubDate>
    <description>shadow mtrr msrs so the guest sees cache attributes matching its own memory layout, not the host's.</description>
  </item>
  <item>
    <title>Deferred Disk I/O: Serving 40GB Through a Virtual NVMe</title>
    <link>https://visualstudioblyat.dev/28-deferred-io.html</link>
    <guid>https://visualstudioblyat.dev/28-deferred-io.html</guid>
    <pubDate>Wed, 11 Mar 2026 00:00:00 GMT</pubDate>
    <description>4gb in ram, rest via worker thread + zwreadfile. write bounds bug corrupted kernel pool.</description>
  </item>
  <item>
    <title>The 500 Million Exit Limit</title>
    <link>https://visualstudioblyat.dev/29-500m-exits.html</link>
    <guid>https://visualstudioblyat.dev/29-500m-exits.html</guid>
    <pubDate>Thu, 12 Mar 2026 00:00:00 GMT</pubDate>
    <description>safety limit calibrated against ovmf. windows boot generates 800M exits. my own code killed the guest.</description>
  </item>
  <item>
    <title>SMM Timer Callback: Why 50 Ticks Was Too Late</title>
    <link>https://visualstudioblyat.dev/30-smm-timing.html</link>
    <guid>https://visualstudioblyat.dev/30-smm-timing.html</guid>
    <pubDate>Fri, 13 Mar 2026 00:00:00 GMT</pubDate>
    <description>periodic smi fires every 64ms. 50 ticks = 3.2s. hvlphase0initialize already ran at 2.6s. missed the window.</description>
  </item>
  <item>
    <title>VirtualizeCore(): Hardcoded for Windows, Broken for UEFI</title>
    <link>https://visualstudioblyat.dev/31-virtualize-core.html</link>
    <guid>https://visualstudioblyat.dev/31-virtualize-core.html</guid>
    <pubDate>Sat, 14 Mar 2026 00:00:00 GMT</pubDate>
    <description>cr4, efer, segment registers all hardcoded from a running kernel. timer fires during uefi, crash.</description>
  </item>
  <item>
    <title>Parasitic Hyper-V Hook: The GetVariable Injection</title>
    <link>https://visualstudioblyat.dev/32-parasitic-hv.html</link>
    <guid>https://visualstudioblyat.dev/32-parasitic-hv.html</guid>
    <pubDate>Sun, 15 Mar 2026 00:00:00 GMT</pubDate>
    <description>hook efi getvariable from smm. when hvax64.exe reads a variable, i identify the caller and inject code.</description>
  </item>
  <item>
    <title>PSB Unfused: Why Consumer Boards Accept Any Firmware</title>
    <link>https://visualstudioblyat.dev/33-psb-unfused.html</link>
    <guid>https://visualstudioblyat.dev/33-psb-unfused.html</guid>
    <pubDate>Mon, 16 Mar 2026 00:00:00 GMT</pubDate>
    <description>amd platform secure boot is a hardware fuse. consumer boards never fuse it. q-flash accepts anything.</description>
  </item>
  <item>
    <title>Core Isolation Toggle Leaves Hyper-V Active in BCD</title>
    <link>https://visualstudioblyat.dev/34-core-isolation-bcd.html</link>
    <guid>https://visualstudioblyat.dev/34-core-isolation-bcd.html</guid>
    <pubDate>Tue, 17 Mar 2026 00:00:00 GMT</pubDate>
    <description>turned off core isolation in ui. hyper-v still in bcd. hvci still blocking my test-signed driver.</description>
  </item>
  <item>
    <title>V_INTR_MASKING: The Bit That Prevents CLOCK_WATCHDOG_TIMEOUT</title>
    <link>https://visualstudioblyat.dev/35-vintr-masking.html</link>
    <guid>https://visualstudioblyat.dev/35-vintr-masking.html</guid>
    <pubDate>Wed, 18 Mar 2026 00:00:00 GMT</pubDate>
    <description>must set bit 24 of vmcb v_intr for guest vms. without it, clock watchdog timeout on every boot.</description>
  </item>
  <item>
    <title>GuestRegs vs GuestGprs: The Layout Bug That Froze Everything</title>
    <link>https://visualstudioblyat.dev/36-guestregs-vs-gprs.html</link>
    <guid>https://visualstudioblyat.dev/36-guestregs-vs-gprs.html</guid>
    <pubDate>Thu, 19 Mar 2026 00:00:00 GMT</pubDate>
    <description>blue-pill asm saves r15..rcx. stage 8 asm saves rcx..r15. casting between them corrupts every register.</description>
  </item>
  <item>
    <title>The Swap Storm: VMEXIT_INTR Infinite Loop</title>
    <link>https://visualstudioblyat.dev/37-swap-storm.html</link>
    <guid>https://visualstudioblyat.dev/37-swap-storm.html</guid>
    <pubDate>Fri, 20 Mar 2026 00:00:00 GMT</pubDate>
    <description>guest yields on vmexit_intr, host re-arms guest immediately. infinite swap loop. 50-exit countdown fix.</description>
  </item>
  <item>
    <title>TLB_CONTROL: The Field Hardware Reads Fresh Every Time</title>
    <link>https://visualstudioblyat.dev/38-tlb-control.html</link>
    <guid>https://visualstudioblyat.dev/38-tlb-control.html</guid>
    <pubDate>Sat, 21 Mar 2026 00:00:00 GMT</pubDate>
    <description>tlb_control is never cached by hardware. don't overwrite handler-set flush values.</description>
  </item>
  <item>
    <title>Zen 3 to Zen 5: What Changes, What Doesn't</title>
    <link>https://visualstudioblyat.dev/39-zen3-to-zen5.html</link>
    <guid>https://visualstudioblyat.dev/39-zen3-to-zen5.html</guid>
    <pubDate>Sun, 22 Mar 2026 00:00:00 GMT</pubDate>
    <description>testing on epyc zen 5. svm behavior differences, new msrs, what breaks when you change microarchitecture.</description>
  </item>
  <item>
    <title>Features I Stripped for Stability</title>
    <link>https://visualstudioblyat.dev/40-stripped-features.html</link>
    <guid>https://visualstudioblyat.dev/40-stripped-features.html</guid>
    <pubDate>Mon, 23 Mar 2026 00:00:00 GMT</pubDate>
    <description>everything i removed during stability testing. sometimes less code is the fix.</description>
  </item>
  <item>
    <title>kov-lang: Building a Programming Language That Compiles to RISC-V</title>
    <link>https://visualstudioblyat.dev/41-kov-lang.html</link>
    <guid>https://visualstudioblyat.dev/41-kov-lang.html</guid>
    <pubDate>Tue, 24 Mar 2026 00:00:00 GMT</pubDate>
    <description>wrote a compiler from scratch. lexer, parser, codegen targeting rv64gc. runs on bare metal.</description>
  </item>
  <item>
    <title>This Blog: Generated by a Static Site Generator Written in My Own Language</title>
    <link>https://visualstudioblyat.dev/42-this-blog.html</link>
    <guid>https://visualstudioblyat.dev/42-this-blog.html</guid>
    <pubDate>Wed, 25 Mar 2026 00:00:00 GMT</pubDate>
    <description>the blog itself is compiled from kov-lang source. custom ssg, dot grid, viz panels, dark monochrome.</description>
  </item>
</channel>
</rss>
