[工具] 旧版 BIOS Boot Manager 编辑器

终于有时间编写了一个旧版 BIOS Boot Manager 编辑器。在旧版 BIOS Boot Manager 变得太大而无法装入 640kb 的初始内存后,Microsoft 开始压缩它,如果您出于任何原因想修改它,那会很烦人。

压缩并不是最糟糕的事情。一个压缩的 Boot Manager 可以分为 4 个部分 – 16 位加载程序、数据位置结构、PE stub 和压缩的数据。有一些工具可以帮助您重新压缩数据,但它们都无法纠正 PE stub 的 PE 校验和。这意味着即使您重新压缩修改后的 Boot Manager,Windows 安装程序也会拒绝安装它,因为它没有有效的校验和。

这是我的 Boot Manager 编辑器,它允许您提取和替换 16 位加载程序、PE stub 和实际的 Boot Manager 可执行文件,您还可以用它从头开始创建一个压缩的 Boot Manager。

继续阅读

[工具] 下载 UUP 中的应用包——AppXMLParser

2022年5月19日更新:AppXMLParser v1.2现已支持25115以上的版本。

从build 22563开始,UUP中不再有ModernApps ESD,取而代之的是散装的appx包。之前默认情况下UUP Dump不会下载散装appx包,于是很长一段时间内从UUP转制的ISO镜像缺少预装App,同时大量依赖UWP运行库的系统组件无法正常工作,给全新安装带来了困难。

为了保证收藏beta镜像的完整性,我对新的推送格式进行了研究,在build 22563推送的第二天完成了AppXMLParser工具的编写,并成功完成了散装appx包的下载和安装操作。由于个人原因我一直没有时间为这个工具编写使用说明,这里将会介绍该工具的使用方式。

继续阅读

[工具] 虚拟机 UUP Dump 服务器搭建教程

2022年5月16日更新:UUP Dump在GitHub的源码库被“不明人士”下架。R.I.P

UUP Dump用于下载微软在Windows Update上推送的部分更新,然而出于种种原因,我们需要在本地搭建一个UUP Dump服务器,而不使用uupdump.net网站。有时候网站难以在国内访问,有时候我们需要发送大量请求(会被CDN拦截),还有的时候我们甚至可能需要修改UUP Dump的代码来达成某些目的。

本文将默认读者有基本使用虚拟机的能力,简单介绍虚拟机搭建UUP Dump服务器的过程。

继续阅读

[工具] PSFExtractor

PSFExtractor 是用于将 CAB + PSF 格式补丁转换为可安装格式的工具。

从 build 21382 开始,微软推送的 LCU 都只有 PSFX 格式。当时我保存 21390.1000 的时候发现 LCU CAB 无法正常安装,于是通过摸索发现了 PSF,并专门为 21390 写了这个工具。一个月后 build 22000.51 推送,仍是 PSFX 格式,于是这个工具就派上了用场。它从 5 月起就被集成到了 uupdump 的 UUP 转换脚本中。但是当时的版本还有一些未解决的 bug,导致无法生成 ARM64 版本集成补丁的镜像。经过长时间的修改和测试,这个版本已经较为完善,可以正确处理目前微软发布的全部 22 个只有 CAB + PSF 格式的 LCU 补丁。新的版本将会很快集成到 UUP 转换脚本中,不需要 SxSExpand.exe 依赖,支持在 Windows 7 以上版本运行。

继续阅读