Как windows рассчитывает объем уникального идентификатора? - PullRequest
15 голосов
/ 28 октября 2011

Насколько я понимаю, драйвер Windows (ftdisk) создает объект "HardDiskVolume" для каждого тома, который находит в системе, и создает для него запись реестра:

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

С этого момента объем устанавливается как \??\Volume{GUID}

BINARY_DATA используется для сопоставления этого диска с \DosDevices\<DISK_NAME> в том же кусте реестра, чтобы на диске была буква.

BINARY_DATA должен быть уникальным для тома и не должен изменяться, даже если я вставлю этот диск в другой ПК, верно?

Мой вопрос:

  1. что такое GUID здесь? Это случайное число, генерируемое ftdisk каждый раз при загрузке Windows?
  2. Как Windows рассчитывает BINARY_DATA?

Я прочитал lpVolumeSerialNumber, используя GetVolumeInformation. Это просто длинное целое число и выглядит не так BINARY_DATA.

Я полагаю, BINARY_DATA - это функция из lpVolumeSerialNumber (которая генерируется ОС при форматировании тома) и что-то еще:

BINARY_DATA= F(VolumeSerialNumber, SOMETHING).

Что ЧТО-ТО?

Я уже читал книгу MSDN и Руссиновича / Соломона и до сих пор не могу ее получить ..


О, я нашел.

В нем говорится «Данные, которые реестр хранит в значениях для букв дисков и имен томов базового диска, - это подпись диска в стиле 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 ]

1 голос
/ 19 апреля 2014

Вот (основная часть) ответ из Википедии :

"Серийный номер представляет собой 32-разрядное число, определяемое датой и временем на часах реального времени на текущем компьютере во время диска форматирование. "

0 голосов
/ 20 апреля 2014

Это происходит несколько лет назад, когда я работал в компании, которая читала и писала на первые 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

Деррик Дж. Фармер, Чамплейнский колледж, Берлингтон, Вермонт dfarmer03@gmail.com

Установленные устройства

В реестре есть ключ, который позволяет просматривать каждый диск, связанный с системой.Ключ - HKLM \ SYSTEM \ MountingDevices, и он хранит базу данных подключенных томов, которая используется файловой системой NTFS.Двоичные данные для каждого \ DosDevices \ x: value содержат информацию для идентификации каждого тома.Это показано на рисунке 7, где \ DosDevice \ F: является подключенным томом и указан в списке как «Съемный носитель».

Рисунок 7 Идентификация тома \ DosDevice \ F:

Эта информацияможет быть полезным для эксперта по цифровой экспертизе, поскольку он показывает аппаратные устройства, которые должны быть подключены к системе.Следовательно, если устройство отображается в списке MountingDevices, а это устройство физически отсутствует в системе, это может означать, что пользователь удалил диск в попытке скрыть улики.В этом случае экзаменатор будет знать, что у него есть дополнительные доказательства, которые необходимо изъять.

СЕКТОРЫ 1-62, ЗАЯВЛЕННЫЕ ОТ
http://www.beginningtoseethelight.org/fat16/index.htm секторов 1 - 62 (> = 31 744 байта)

секторов 1 - 62 включительно обычно оставляют пустыми.приложения, которые его используют, включают в себя: мультизагрузочные устройства, такие как расширенный менеджер загрузки.программы безопасности, такие как рефлекс-магнитная дискета.Вирусы, которые копируют себя в основную загрузочную запись, чтобы они могли загружаться каждый раз, иногда перемещают настоящий mbr в эту область, плюс любой другой вирусный код.здесь также могут находиться программы полного шифрования дисков и программы перевода дисков для очень больших жестких дисков.

0 голосов
/ 23 октября 2012

Во-первых, GUID - это GUID. Они представляют собой просто случайно сгенерированную числовую последовательность, которая имеет очень низкую вероятность наличия дублированной записи. Я сомневаюсь, что он будет генерироваться каждый раз при загрузке Windows, хотя я признаю, что это возможно. Я никогда не замечал, что это меняется, так как я не вижу GUID моего жесткого диска, который часто

Кроме того, вы защищаете lpVolumeSerialNumber? Если нет, вы, вероятно, получаете адрес памяти. Венгерская нотация "lp" == "Длинный указатель на ..." Серийный номер тома выглядит как DWORD, 32-разрядное целое число

...