Windows¶
与 Linux 服务器镜像侧重网络行为不同,取证比赛中的 Windows 检材更常考察使用痕迹、浏览器历史、恶意文件、聊天缓存与日志等内容。
因此需要熟练掌握文件提取、数据恢复、系统仿真、脚本处理与逆向分析等能力。
磁盘结构¶
从物理层面,一个磁盘通常可拆成以下层次:
磁盘组合 -> 单个磁盘 -> 盘面 (platter) -> 磁道 (track) -> 扇区 (sector)
文件占用磁盘空间时,基本单位不是字节而是簇。簇大小与磁盘规格有关:软盘每簇通常为 1 个扇区,硬盘每簇扇区数则取决于容量和分区格式,常见有 4、8、16、32、64 等。
Windows 平台最常见的文件系统如下:
- FAT:分区由固定大小的簇组成,簇数受 16 位索引限制,理论上不超过 65536 个簇。
- FAT32:结构与 FAT 类似,但入口扩展为 32 位,容量上限更高。
- NTFS:以主文件表(MFT)为核心,小文件甚至可以直接驻留在 MFT 记录中。
信息提取与分析¶
比赛里最常用的两类图形化工具如下:
取证大师的优势在于广度。时间线、软件使用痕迹、浏览器与小程序等模块较全,自动取证结果通常能快速给出第一轮筛查线索。

火眼更适合补足数据库、备份文件和手机备份解析等细节。遇到 PC 与手机备份联动题时,往往比单纯文件浏览更直观。

系统仿真¶
系统仿真是指把镜像或对象计算机硬盘模拟为虚拟机,在可交互环境中直接检查系统状态、登录痕迹和应用行为。
火眼仿真常用于快速锁定系统版本、尝试绕过开机口令并调用 VMware 完成启动。

成功拉起后,可以从用户视角核对桌面、最近文档、浏览器状态与可疑程序行为。

知识整理¶
磁盘容量¶
首先需要理解 4K 对齐 的原理。传统机械硬盘的物理扇区一般为 512 字节,后来的高级格式磁盘多为 4096 字节扇区。由于 NTFS 默认分配单元通常也是 4096 字节,逻辑分区需要与 4K 扇区对齐以保证读写效率。
例(2019 美亚杯个人赛第 4 题):

通过取证大师查看分区信息:

可知 D 盘为系统盘,扇区数为 961099776。再确认逻辑扇区大小:

这里需要先预留 4096 / 512 = 8 个扇区的对齐空间,再计算最终容量。
时间戳¶
数据库和日志中常见 Unix 时间戳,需要能在时间戳与标准时间间互相转换。
例(2019 美亚杯个人赛第 41 题):

先在工具中确认标准时间:

再用脚本转换为时间戳:

import time
time_str = "2019-10-31 15:22:31"
time_array = time.strptime(time_str, "%Y-%m-%d %H:%M:%S")
timestamp = int(time.mktime(time_array))
other_style_time = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(timestamp))
print(timestamp)
print(other_style_time)
转换结果示意如下:

动态链接库¶
例(2019 美亚杯个人赛第 15 题):

镜像内直接追 DLL 调用链往往比较慢。更常见的思路是先提取可疑 exe 到本地环境,再配合进程监控工具观察其调用行为。
