Здравствуйте, Эмонов Андрей Петрович!
1) ID - (Identifier) идентификатор. Т.е. "метка" чего-либо по определенному признаку.
2) Ну и напрасно "привязывают". Я поддерживаю мнения в Рунете, что здесь "собственное" превалирует над уважением общественного: при малейшем "апгрейде" ПК (замена жесткого диска, процессора и пр.) Вы получите неработающую программу и проблемы с поддержкой. Кроме того, эмуляцию никто не отменял и многие способы привязки довольно легко (хотя и с определенными усилиями) обходятся (если не идентификатор собственно жесткого диска, то - функции, его определяющие). Это направление не подлежит обсуждению согласно Правил портала.
Идентификатор жёсткого диска (Globally Unique Identifiers или GUID) записан в главной загрузочной записи диска (Master Boot Record, MBR). Это 4 байта информации, посмотреть и изменить которые можно программным путем с помощью редакторов диска. (например необходимо при переносе системы на другой жесткий диск путём копирования всех каталогов и файлов из-под другой системы без использования специализированного программного обеспечения). Это нужно, потому что GUID жёсткого диска используется в описании смонтированных устройств в разделе реестра
HKEY_LOCAL_MACHINE\SYSTEM\MountedDevices и при другом значении система (клон) не запустится. Т.о. или меняем GUID, или правим реестр. (при использовании Acronis True Image или Ghost они проделают это автоматически за Вас).
Теперь коротко по сути:
а-б) Скорее всего - программно, если Вы полно указали все в вопросе. Корпорацией Майкрософт во время обновления также собираются сведения об установленном ПО и "железе" и Вас не удивляет, что Вас об этом никто не спрашивает и не просит предоставить их. Вас просто уведомляют и не более. А между тем, собираются следующие сведения (официально) чисто программным путем (не зря просят включить ActiveX, к примеру и удаленный реестр по умолчанию включен):
- Производитель и модель компьютера
- Номер версии Windows
- Номер версии обозревателя Internet Explorer
- Номера версий других программ корпорации Майкрософт, для которых предоставляются обновления
- Идентификационные номера устройств Plug and Play
- Языковые параметры и регион
- Глобально уникальный идентификатор (GUID)
- Идентификационный номер и ключ продукта
- Название BIOS, номер и дата редакции.
Наиболее полную картину дает BIOS ID (в единичном применении). Он дает возможность определения чипсета, производителя и модели материнской платы. Этот идентификатор используется в Award и AMI BIOS (в Phoenix встречается очень редко), помогает точно определить чипсет, производителя и модель материнской платы. После включения ПК, во время прохождения тестов BIOS, справа внизу экрана высвечиваются символы, которые и помогут нам определить необходимую информацию. Все что останется, это нажать кнопку Pause и переписать BIOS ID.
Источник и подробности>>. Вот еще один сервис, позволяющий узнавать все о ПК по ID
ID_HardWare >>/
Зачем, спрОсите, я все это написал? Да потому что путь реализации привязки к железу примерно таков: берется HDD ID, создается генератор, который на основе всей этой информации генерирует какой-либо ID (шифруется, преобразуется, хешируется.... придумать можно что-угодно, способов масса и зависят от фантазии и умения создателя). Этот ID пользователь передаёт автору программы, а уже на его основе генерируется ключ регистрации, который отсылается купившему.
А вот к чему именно "привязался" автор - Вы не узнаете просто так. Иначе к чему все это? Здесь нужен довольно кропотливый процесс изучения, преобразования и нужно умение работать с кодами или(и) ассемблером, применять декомпиляцию и пр. Т.е. - можно,
НО... Такие обсуждения здесь запрещены.