# Phantom-V **Repository Path**: lithtech123_admin/Phantom-V ## Basic Information - **Project Name**: Phantom-V - **Description**: Phantom-V 是一个基于Hyper-V 的轻量级虚拟机监视器(VMM)开发框架。项目通过 EFI 程序将自定义的 DLL 注入到 Hyper-V 运行环境中,从而实现对虚拟机监视器的接管,并利用 VMM 层的权限实现对 Guest OS(Windows)内存的深度管理与控制。 - **Primary Language**: Unknown - **License**: GPL-3.0 - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-01-20 - **Last Updated**: 2026-03-16 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # hyper-reV hyper-reV 是一个基于 **Hyper-V** 的轻量级虚拟机监视器(VMM)开发框架。项目通过 EFI 程序将自定义的 DLL 注入到 Hyper-V 运行环境中,从而实现对虚拟机监视器的接管,并利用 VMM 层的权限实现对 Guest OS(Windows)内存的深度管理与控制。 ## 核心功能:HWID 欺骗 (hwid) 本项目重点提供了一套基于 Hyper-V 技术的 **HWID (硬件 ID) 欺骗方案**。与传统的驱动层欺骗不同,本项目利用 Hyper-V 提供的内核级内存访问权限,直接在物理内存层面进行特征码搜索与替换,具有极高的隐蔽性和绕过能力。 ### 主要特性: - **SMBIOS 欺骗 (SMBIOS Spoofing)**: 基于种子的确定性随机化方案,自动修改系统、主板、机箱及内存相关序列号与 UUID。 - **磁盘欺骗 (Disk Spoofing)**: 自动扫描内核内存,识别并替换磁盘序列号(支持 ANSI 和 Wide 编码)。 - **显卡欺骗 (GPU Spoofing)**: 针对显卡 UUID 进行内存层面的清洗与替换。 - **网卡欺骗 (NIC Spoofing)**: 动态修改网络适配器的物理地址等关键标识。 - **内存特征搜索**: 内置高性能的内核内存扫描引擎,支持跨页搜索与替换。 - **Hyper-V 通讯**: 通过自定义 Hypercalls 与虚拟化层进行高效通讯,确保操作的原子性与安全性。 ### 技术实现细节: - **SMBIOS 修改**: 在 `uefi-boot` 阶段通过 `EFI_SMBIOS_PROTOCOL` 进行确定性随机化,利用持久化种子确保 ID 稳定性。 - **内核范围确定**: 通过 `ntoskrnl.exe` 导出函数 `ExAcquirePushLockExclusiveEx` 定位内核特定的 VA 类型数组 **`MiVaNonPagedPool`**。结合 CR3 进行页表翻译校验(GVA -> GPA),确保内存修改的安全隐蔽。 --- ## 项目组件简介 - **uefi-boot**: 核心加载器,在 UEFI 阶段运行。负责劫持加载链并将自定义模块注入 Hyper-V,在 VMM 启动前完成监控植入。 - **hyperv-attachment**: 核心虚拟机监视器模块。作为注入 Hyper-V 的核心,负责处理 VM Exit、实现 SLAT (EPT/NPT) 钩子、内存隐藏以及直接的物理内存管理。 - **hwid**: HWID 欺骗核心逻辑模块。利用 `hyperv-attachment` 提供的内存管理能力,实现对各类硬件标识符的扫描与替换。 - **log-extractor**: 日志提取工具,通过自定义 Hypercall 从虚拟化层实时获取底层运行日志。 --- ## 快速开始 ### 1. 克隆项目 请务必使用 `--recurse-submodules` 参数以包含所有依赖库: ```bash git clone --recurse-submodules https://gitee.com/lithtech123_admin/Phantom-V.git ``` ### 2. 编译与使用 #### **环境准备** - 安装 **Visual Studio 2022**(包含 C++ 开发组件)。 - 安装 [NASM](https://nasm.us) 并将其路径添加到系统环境变量。 - 配置 **EDK II** 环境: 1. 在 EDK2 目录下运行 `edksetup.bat` 初始化。 2. 根据需要配置 `Conf/target.txt`。 #### **构建步骤** 1. **uefi-boot (EDK2)**: - 作为 EDK2 包进行构建:`build -p uefi-boot/uefi-boot.dsc -a X64`。 2. **核心模块 (Visual Studio)**: - 使用 VS2022 打开 `hyper-reV.sln`。 - 依次编译 `hyperv-attachment`、`hwid` 及 `log-extractor`。 #### **部署** - 编译生成的 `.efi` 文件与相关二进制文件需按照各模块子目录下的说明进行部署。 --- ## 技术致谢 本项目参考并集成了多个优秀开源项目与技术分享,感谢以下开发者: - [John / @Iraq1337](https://github.com/vmp38): 提供了关于 AMD 嵌套分页映射及 Hyper-V 补丁的宝贵建议。 - [@papstuc](https://github.com/papstuc): 在多核 EPT/NPT 缓存同步及 PE 解析方面提供了核心思路。 - [VisualUefi](https://github.com/ionescu007/VisualUefi): 简化的 UEFI 开发框架。 --- *注:本项目仅供学习与技术研究使用。*