ionescu007/hdk

GitHub: ionescu007/hdk

基于 TLFS 5.0c 规范更新的非官方 Hyper-V 开发头文件,为虚拟化和安全研究提供完整的类型定义与结构。

Stars: 244 | Forks: 34

# hdk -- (非官方) Hyper-V® 开发工具包

HDK 是作为 Singularity Research Kernel 的一部分根据 MSR-LA 发布的 HvGdk.h 头文件的更新版本。它已更新,增加了 Microsoft Hypervisor 顶层功能规范 (TLFS) 5.0c(2018 年 6 月发布)中描述的最新定义、结构和定义。

_Windows® 和 Hyper-V® 是 Microsoft® Corporation 的注册商标。本存储库及其内容未由此处提及的公司赞助或认可。_ ## 动机

在没有符号的情况下针对 Hyper-V® 进行开发已经相当困难,我们很幸运至少 HvGdk.H “泄露”过一次,而且 TLFS 5.0c 也是存在的。不幸的是,HvGdk.h 相当陈旧,而且 TLFS 总是延迟大约一年,并且不包含现成的可用于编程的定义。

## 方法 原始的 `HvGdk.h` 通过以下信息进行了修改: * Windows 7 的 Windows Driver Kit 中附带的 HvGdk.h 中定义的公开可用的定义/结构 * TLFS 中定义的公开可用的定义/结构 —— 目前高达 5.0c 版本 * 这也包括从 TLFS 推断出的数据 —— 例如,hypercall 是通过其原始参数/寄存器映射来记录的,但 HvGdk.h 包含了每个调用的数据结构 —— 这些数据结构根据 TLFS 中的参数文档进行了更新。 * 内核和某些用户模式二进制文件中公开可用的符号数据(如果存在) ## 贡献

这是一个持续更新的头文件,我可能遗漏了许多内容或犯了转录错误。只要您保持在 MSR-LA 的范围内,欢迎贡献和 Pull Requests。

请勿添加任何专有或知识产权信息,因为这会污染存储库。所有 PR 都将检查“来源”信息,并验证其是否公开可用。

## 许可证 / 法律声明

根据我对 MSR-LA 的解读,只要保留版权(已保留),修改清晰、有注释并注明日期(已注明),并且您同意原始许可证(仅限学术/研究使用),重新分发修改后的原始头文件是完全合法的。我不是律师,因此如果您打算以任何方式使用它,请咨询律师 —— 但本存储库和我的更改似乎属于 MSR-LA 的涵盖范围。

请查看 `LICENSE.MD` 以获取完整的许可证。
标签:C/C++, HDK, Hyper-V, Hypervisor, Microsoft, TLFS, UML, WDK, Web报告查看器, Windows内核, 事务性I/O, 云资产清单, 头部文件, 子域名枚举, 客户端加密, 开发工具包, 白帽子, 系统安全, 系统底层, 网络安全监控, 虚拟化, 虚拟机监控程序, 逆向工程, 驱动开发