据我了解,Windows驱动程序(ftdisk)为它在系统上找到的每个卷创建对象“HardDiskVolume”并为其创建注册表记录:
HKEY_LOCAL_MACHINE\SYSTEM\MountedDevices\
\??\Volume{GUID} = BINARY_DATA
从那一刻起,音量就安装为
\??\Volume{GUID}
BINARY_DATA
用于将此驱动器映射到同一注册表配置单元中的\DosDevices\<DISK_NAME>
,以便磁盘具有字母。BINARY_DATA对于卷必须是唯一的,即使将磁盘放入另一台PC也不应更改它,对吗?
我的问题是:
我已经使用
lpVolumeSerialNumber
阅读了GetVolumeInformation
。它只是一个长整数,看起来不像这个BINARY_DATA
。我相信
BINARY_DATA
是lpVolumeSerialNumber
(由OS在卷格式化时生成的)提供的功能,还有其他功能:BINARY_DATA= F(VolumeSerialNumber, SOMETHING).
什么是东西?
我已经读过MSDN和Russinovich/Solomon的书,但仍然听不懂。
哦,我发现了。
它说:“注册表存储在基本磁盘卷驱动器号和卷名的值中的数据是Windows NT 4样式的磁盘签名以及与该卷关联的第一个分区的起始偏移量”。
但是什么是“Windows NT 4样式的磁盘签名”?
从这里:
http://www.microsoft.com/resources/documentation/windowsnt/4/server/reskit/en-us/resguide/diskover.mspx?mfr=true
那就是“每个硬盘的第一个扇区中的四字节磁盘签名”
所以我使用HxD工具,并从我的BINARY_DATA中找到了这四个字节
我在行1B0和列08至0B中找到了它。
看起来互联网上还有一个知道这一点的人:
http://www.pcreview.co.uk/forums/image-copy-drive-wont-boot-properly-t3761034.html))
因此,如果我更改磁盘上的MBR,则会丢失其字母:)
最佳答案
当我在一家可以读写硬盘的前62个扇区的公司工作时,这已经回溯了几年。我们必须小心,不要覆盖所有62个扇区,否则Windows激活会出现问题。通常,好东西存储在此处,但这并不是什么 secret 。
确保在FAT上-MBR之前的62个扇区“未被使用”且可被任何程序使用。我从下面链接的法务页面复制了文本,您会发现其唯一标识符可能存储在前62个扇区中。法医分析师可以使用注册表中的数据来确定您已卸下硬盘,然后可以进行查找。我假设标识符是Windows在Windows上以格式写的。二进制数据是时间戳记,它是按格式创建的,并且所有这些都是确凿的证据,您应该会发现二进制数据有望不在某个地方的前62个分区上编码。
其实没错,我确实找到了!这个WinHex是炸弹!您想从0到(62 * 512)的物理驱动器之一上读取(非逻辑)。我认为除了改变激活方式之外,您不会有任何其他问题,这可能是一个老问题,而且我相信它们已经停止了,因为人们现在经常在固态硬盘崩溃时更新它们的固态硬盘。
来自http://www.forensicfocus.com/a-forensic-analysis-of-the-windows-registry