windows如何计算卷唯一ID?

时间:2011-10-28 12:49:19

标签: windows volume

据我所知,Windows驱动程序(ftdisk)为在系统上找到的每个卷创建对象“HardDiskVolume”并为其创建注册表记录:

HKEY_LOCAL_MACHINE\SYSTEM\MountedDevices\
\??\Volume{GUID} = BINARY_DATA

从那时起,音量被装载为\??\Volume{GUID}

BINARY_DATA用于将此驱动器映射到同一注册表配置单元中的\DosDevices\<DISK_NAME>,因此磁盘上有字母。

BINARY_DATA必须对于该卷是唯一的,即使我将此磁盘放入另一台PC也不应该更改,对吗?

我的意思是:

  1. GUID在这里是什么?是每次windows启动时由ftdisk生成的随机数吗?
  2. Windows如何计算BINARY_DATA?
  3. 我使用lpVolumeSerialNumber阅读了GetVolumeInformation。它只是长整数,看起来不像BINARY_DATA

    我相信BINARY_DATA是来自lpVolumeSerialNumber的函数(当卷格式化时由OS生成)和其他内容:

    BINARY_DATA= F(VolumeSerialNumber, SOMETHING).
    

    什么是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,它将丢失其信件:)

3 个答案:

答案 0 :(得分:1)

以下是Wikipedia的答案(主要部分):

  

&#34;序列号是由日期和时间确定的32位数字   在磁盘发生时当前计算机上的实时时钟   。格式化&#34;

答案 1 :(得分:0)

这可以追溯到几年前,因为我在一家公司工作,这家公司会读写前62个硬盘区。我们必须小心不要覆盖所有62个扇区,否则我们会遇到Windows激活问题。通常好吃的东西存放在那里,但这并不是什么秘密。

肯定在FAT-62扇区之前MBR“未使用”并且可由任何程序使用。我从下面链接的取证页面复制了文本,你会发现它可能是唯一的标识符存储在前62个扇区中。取证分析师可以使用注册表中的数据来确定您删除了硬盘,然后可以查找它。我认为标识符是由Windows格式化的。二进制数据是时间戳,是在格式上创建的,所有这些都是非常有力的证据,你应该发现二进制数据有望在前面的62个分区上编码。

实际上我确实找到了!这个WinHex就是炸弹!你想在其中一个物理驱动器上读取0到(62 * 512)(非逻辑)。我不认为你会有任何改变这个问题,除了可能激活的问题,这是一个老问题,我相信他们停止了,因为人们现在经常更新他们的SSD,因为他们融化了。

enter image description here

FROM http://www.forensicfocus.com/a-forensic-analysis-of-the-windows-registry

  

Windows注册表的法医分析

     

Derrick J. Farmer Champlain College伯灵顿,佛蒙特州   dfarmer03@gmail.com

     

已安装的设备

     

注册表中有一个键可以查看每个键   与系统相关的驱动器。关键是   HKLM \ SYSTEM \ MountedDevices,它存储已装入卷的数据库   由NTFS文件系统使用。每个的二进制数据   \ DosDevices \ x:value包含用于标识每个卷的信息。   这在图7中进行了演示,其中\ DosDevice \ F:是已安装的   数量并列为“存储可移动媒体”。

     

图7卷的识别\ DosDevice \ F:

     

此信息对于数字取证审查员来说非常有用   显示应连接到系统的硬件设备。   因此,如果设备显示在MountedDevices列表中,那么   设备在物理上不在系统中,它可能表示用户   移除了驱动器以试图隐藏证据。在这种情况下,   审查员会知道他们还有其他证据需要   检。

     

行业1-62引自   http://www.beginningtoseethelight.org/fat16/index.htm扇区1 - 62(&gt; = 31,744字节)

     

扇区1 - 62包含通常是空的。应用程序   使用它包括:多启动加载器,如ranish高级启动   经理。安全程序,如reflex-magnetics disknet。病毒   将自己复制到主引导记录,以便它们可以加载   每次,有时将真正的mbr移动到这个区域,再加上   病毒代码。全盘加密程序和磁盘转换   非常大的硬盘的软件也可能驻留在这里。

答案 2 :(得分:-1)

首先,GUID是GUID。它们只是一个随机生成的数字序列,具有重复输入的可能性非常低。我怀疑每次Windows启动时都会生成它,但我承认它是可能的。我从来没有注意到它的变化,因为我没有经常看到我的硬盘的GUID

另外,你是在引用lpVolumeSerialNumber吗?如果没有,您可能正在获取内存地址。匈牙利语符号“lp”==“长指针...”卷序列号本身看起来像一个DWORD,一个32位整数