MAIN BRANCH / DEVELOPMENT SNAPSHOT

主线最新开发变化

截至 2026-09-08,当前快照为 KSwordDEV/KSword@e3d8106。自上一次同步(848b6bb,2026-08-16)以来主线新增 297 个提交,绝大部分集中在硬件虚拟化。本页整理 main 的开发状态,不把未发布内容写成新的正式版本。

01 / SCOPE

这是 main 开发快照,不是新的版本号

快照 HEAD

e3d8106e2bdb5bba2421627b52b9491c5c3fdebb

时间

提交时间 2026-09-07 23:20(-04:00)。当前页面基于该提交及其祖先。

本轮提交

848b6bb..e3d8106 共 297 个提交,时间跨度 2026-08-16 至 2026-09-08。下文只整理能影响用户理解的功能和边界变化。

版本边界

已发布的最新资产是 5.1.4.3(2026-08-28)与 5.1.4.3Pre(2026-08-27);main 比 5.1.4.3 多 98 个提交,不能用单个 EXE 或 SYS 替换发行包。

需要稳定资产时使用 Releases。

主程序、KswordARK.sys、共享 IOCTL、语言包、DynData profiles、Launcher 和插件必须来自同一构建链;混用文件会产生 Unsupported、协议不匹配或字段缺失。

02 / VIRTUALIZATION

常驻 VMM 活下来了,R-1 层的能力建立在它之上

这一轮之前,RESIDENT_VMM 能力位证明的只是「能正确进出 VMX non-root」:进入 non-root 后第一次 MSR 访问就会让 hypervisor 自我撤销。地基工作把它补齐了——MSR bitmap 落地(primary bit 28 + VMCS 0x2004)、exit 引擎把可代执行的退出直接判为已处理、非私有 VMCALL 注入 #UD(此前任何用户态代码一条指令就能掀掉 hypervisor),再加上 SOAK 保持自检。

强制与策略
  • EPT 规则新增 ENFORCE 持久拒绝:命中注入 #PF 并继续常驻,不再「命中即撤虚拟化」。
  • MSR 策略引擎:按需在位图上开洞,支持记录后放行 / 拒绝 #GP / 伪造读值。
  • CR/DR 策略:CR0、CR4 通过 guest/host 掩码钉住,MOV-CR 的四种 access type 全覆盖(含 CLTS 与 LMSW)。
  • 事件环接入 UI,可逐行读取退出证据。
隐藏与隔离
  • EPT 分离视图:HOOK(执行走影子页、读取见原字节)与 CLOAK(执行照常、读写见影子)。
  • EPTP 切换后端:缺 Monitor Trap Flag 的机器上唯一能用的后端。
  • 每处理器私有 EPT 层次(按需分叉),解除了视图与规则的单处理器限制。
  • EPT 执行域与 VMFUNC;#VE 已实现但两道保险默认挡死实际投递。

AMD 上不再谎称「不支持的 CPU」:能力探测会如实报告 SVM、NPT、nRIP、decode assists、flush-by-ASID 与 VM_CR.SVMDIS 固件锁,并返回 BACKEND_NOT_IMPLEMENTED——硬件行,是软件还没做。SVM 后端本身刻意未写,因为在 Intel 机器上写两千行永远跑不起来的后端只会制造「看着完整、从没运行过」的代码。

阅读虚拟化能力路线图 →

03 / NESTED

可以作为 L1 在嵌套环境里运行,降级是显式的

原路线图假设「验证要在裸机上做」。实测推翻了它:开着内存完整性的开发机由 HVCI 拉起 Hyper-V,Hyper-V 对根分区隐藏 CPUID.1:ECX[5],于是连 VT-x 都探测不到,PREPARE 阶段就失败。所以常驻启动改成显式 opt-in:检测到外层 hypervisor 而请求里没带 ALLOW_NESTED 时直接拒绝,成功时打上 RESIDENT_NESTED 并在界面标注「作为 L1 运行,性能与可用能力均降级」。

跨核 TLB 失效是本轮最重要的修复。

转发给 L0 的 flush hypercall 只失效 L0 认为的那个 L1 VP,兄弟核上的陈旧翻译不会被清掉——这个缺陷只在「我们插在 Windows 和 Hyper-V 中间」时存在。用 VirtualProtect 返回语义做确定性判据量到违规率 97%,修复后三轮复测归零,同时取样量级从 1.8 亿回落到与基线同量级的 600–700 万。它还解释了此前三种没有归因的崩溃:0x139 (0x1D)、0x0A 与 0x50。

修法是私有 VMX-root IDT + 广播 NMI,而私有 IDT 是发 NMI 的前提不是优化:第一次只加 NMI 广播就撞了 0x80 NMI_HARDWARE_FAILURE。这条修法依赖「未启用 VPID」,一旦为性能启用 VPID 会静默失效,因此两件事必须一起改。

看 Nested HVM 拓扑变化演示 → 阅读嵌套虚拟化架构 →

04 / R-1

R-1 进程处置与内存通道

「用 R-1 结束进程」在 hypervisor 层没有直接对应物——它不认识进程,只看得见 CR3 与客户物理页。这条通路做的事是在目标地址空间里拒绝执行,两个操作的差别只在拒绝时给客户机注入什么。

冻结

注入 #PF(present)。故障指令永不退休,进程状态一个字节没变,撤销后从原地继续。可逆是它与结束的本质区别,不是程度差别。

结束

注入 #UD。用户态未处理异常,Windows 走自己的进程拆除路径——不调任何内核 API,进程是被客户机自己收掉的。

作用域

靠 CR3-load exiting 选层次,不是逐页判 CR3。按地址空间选层次之后,非目标进程从不在受限层次下运行。

R-1 内存通道

驱动预留一页私有窗口,运行时改写自己的页表项指向目标物理页。价值不在「能读内存」,而在不调用可能被 Hook 的内存管理器导出例程;窗口不可用时读退化为 MmCopyMemory、写直接不可用,响应里如实报告走了哪条路。

这些不是安全边界。

隐蔽 Hook、分离视图与 R-1 处置同源:失败即放行。目标若能让代码页换一个客户物理页,就不在被拒绝的那一页上了。这是 R0 之外的一条处置通路,不是用来对抗一个知道它存在的对手。

05 / KERNEL

内核、驱动与诊断

新增或增强
  • 窗口层与 Z-order 诊断,接入窗口详情。
  • 内核 IoTimer 清单与控制。
  • 进程终止时按精确镜像文件删除。
  • 内核回调监控页与对应的 CLI 查询、启停命令。
  • 内核知识中心:12 类、71 个专题,含 R3/R0 现场证据查询与只读证据页路由。
修复与加固
  • R0 抓包生命周期控制、网络协议校验的国际化覆盖。
  • 声音模块拒绝不可验证的进程身份。
  • 系统时间重置时保持计数器连续性。
  • 驱动功能矩阵 CI:新 IOCTL 必须有确定处置,崩溃即失败。
  • HVM 算术单元测试 70 项接入 source-integrity。

这些页面仍然受 Driver Status、Capability、DynData 和目标身份门禁约束;按钮可见不代表对应 R0 能力已就绪。

06 / LIGHT

KswordARKLight 变成一套调查工作台

Light 这一轮从「若干只读页」重构为带工作区状态的调查流程:新增证据会话检查器、可版本化的窗口状态、有界的注册表搜索工作区、静态导航面板,以及内存的只读快照、暂存写入计划与受控的差量回写。窗口、启动项、服务、系统工具、句柄、驱动和 ETW 各页补齐了「跳到持有者进程详情」的路由,并把回调文件事件关联到实体。

涉及写入、删除、恢复或放弃记录的动作继续使用显式确认、代次校验和结果回填;导出路径统一为可见结果的快照导出。

07 / UI & RUNTIME

界面与运行时

标题栏权限按钮排右侧新增 KVM 按钮,三态显示常驻状态并作为所有 R-1 能力的统一入口(左键切换常驻,右键菜单含保持自检、写权限门、内存操作与故障重置);按钮名称可在设置中改叫 KVM / HVM / R-1,权限按钮也可逐级隐藏。

其余:ADS 标签栏可横向滚动并修复被压成零宽的问题、详情报告改用统一结构化报告组件、进程页新增单核心 CPU 利用率归因与可展开图表、线程 CPU 亲和性设置、动态历史快照与表格快照比对、启动项多选,以及蓝屏诊断页面重构与「显式安装」改造。

08 / EVIDENCE

验收状态:哪些有证据,哪些没有

本轮在 2 vCPU 嵌套 Hyper-V 靶机上取得了第一批运行期读数:跨核 TLB 违规 97% → 0;CLOAK 方向的内核态读被 EPTP 切换透明重定向到影子页且常驻未掉;R-1 冻结让心跳停在 tick 15 并保持、解除后从 16 继续(不是从 0 重启);R-1 结束后进程消失;常规 SOAK 30 秒仍 OK。

仍然欠缺的部分不记 PASS。

HOOK 方向(执行被重定向到影子)未实测;未对已知函数下 hook;用户态 ReadProcessMemory 路径未验证(用户态触发 fail-closed 会带 ring-3 的 RSP/RIP 在 ring 0 返回,实测蓝屏);「关闭后逐位复原」未比对;裸机验收整体未做。上面的读数来自嵌套靶机,不能当作裸机结论。

更早的下一阶段验收报告同样保持诚实计数:116 条里 2 条 PASS、114 条 NOT_RUN,六种目标环境一次都没跑过。阅读验收最终报告 →

09 / OPERATOR NOTES

在 main 上测试前的最低检查

  1. 1
    整套构建必须来自同一提交。

    不要只替换 EXE、SYS、语言包、profiles 或插件。

  2. 2
    先看 Driver Status、DynData 和 Capability。

    Unsupported 表示协议、驱动或能力不匹配,不等于页面没有数据。

  3. 3
    常驻 HVM 只在授权且可回滚的环境启动。

    每次启动前保存工作。常驻期间 sc stop 会返回 1052——卸载守卫在拦,必须先停常驻。EPT 规则、分离视图和 R-1 处置也只能在常驻停着时安装。

  4. 4
    高风险动作只在授权和可回滚环境测试。

    系统时间、磁盘写入、驱动卸载、内核修改、进程保护和删除动作都应准备快照或恢复路径。

  5. 5
    保留修改前证据。

    导出目标身份、地址、来源模块、配置和时间戳;动作后刷新并保存新旧结果。

10 / COMMIT INDEX

关键提交索引