machineguid что это в реестре

Получение серийного номера Windows (было: Получение MachineGuid из реестра)

Я пытаюсь получить MachineGuid из реестра, чтобы создать некоторый уровень привязки к ОС для моей системы лицензирования. Из документации я могу использовать

Обновление : при использовании reg.exe у меня нет проблем с получением значения.

Обновление : я обновил заголовок, поэтому сюда попадают и люди, которые ищут уникальный способ определения установки Windows.

3 ответа

Как уже отмечали другие люди, вы не должны получать это значение непосредственно из реестра (вероятно, поэтому оно не работает надежно в разных версиях Windows).

Небольшой поиск привел меня к Win32_OperatingSystem класс WMI. Используя этот класс, вы действительно можете получить серийный номер Windows. Мне потребовались некоторые поиски и эксперименты, чтобы понять это правильно, но вот как использовать его в C #.

Убедитесь, что в вашем проекте есть ссылка на System.Management.dll :

вероятно, поэтому он не работает надежно в разных версиях Windows

Нет, причина не в этом. Эта проблема вызвана выбором целевой платформы для вашего EXE-проекта. Проект + Свойства, вкладка «Сборка», поле со списком «Целевая платформа». У вас установлен x86 вместо AnyCPU. В VS2012 флажок «Предпочитать 32-разрядный» имеет значение. Этот параметр заставляет вашу программу работать в 32-битном режиме в 64-битной версии Windows. У этого есть ряд побочных эффектов, один из которых здесь имеет значение, так это то, что доступ к разделам реестра перенаправляется. Ваша программа фактически считывает значение HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \ Microsoft \ Cryptography \ MachineGuid. Кого не существует.

Выбор x86 является значением по умолчанию для VS2010 и выше, ранее по умолчанию использовался AnyCPU. Microsoft предпочитает x86, Visual Studio лучше работает с процессами в 32-битном режиме. В частности, при отладке VS сам по себе является 32-битным процессом, поэтому требуется удаленный отладчик, если ваша программа выполняется в 64-битном режиме. У которого есть несколько ограничений, например, не поддерживается отладка в смешанном режиме. А функция Edit + Continue работает только для 32-битного кода. Однако сама ваша программа работает «лучше», если у вас есть настройки на AnyCPU, включая отсутствие укусов файловой системы и функций appcompat перенаправления реестра, встроенных в Windows.

Конечно, можно обойтись с помощью WMI. Просто имейте в виду, что вы не читаете ту же информацию, когда используете Win32_OperatingSystem.SerialNumber. Мне не совсем ясно, до какой степени этот ключ надежно случайен на разных машинах, скажем так, что это значение является довольно привлекательной целью для тех пользователей, которые не очень заинтересованы в оплате лицензионного сбора за ваш продукт.

И последнее, но не менее важное: учтите, что довольно легко создать свой собственный уникальный идентификатор, который вообще не зависит от Windows. Со значительным преимуществом в том, что вы не разозлите своего клиента, когда он обновит Windows на своей машине. Просто используйте Guid.NewGuid () один раз и сохраните значение в файле. Это будет потеряно, когда диск выйдет из строя, но обычно это также выводит из строя ваш продукт.

РЕДАКТИРОВАТЬ: Кто-то ошибочно заявил, что код x64 бесполезен.
В 64-битной ОС именно здесь находится правильный ключ.

Таким образом, это единственный ответ, который удовлетворяет поставленный вопрос.

Источник

Machineguid что это в реестре

Здравствуйте, Дон Педро, Вы писали:

ДП>Ребяты, подскажите к чему можно привязать лицензию на конкретном компе?
ДП>1. Если к железу, то по каким параметрам обычно с оставляется «железный ID» компа?
ДП>2. Если не к железу, то наверное можно к особенности операционки? Есть ли какой-то уникальный GUID операционки? Или может дата установки + имя компа + что-то еще?

От: ov barcode generator
Дата: 20.02.11 14:51
Оценка: +1

если требуется надежная привязка — я бы порекомендовал аппаратные ключи.
если требуется хоть как-то привязаться, для виду, то имя компа вполне прокатит.

а вообще привязка это в первую очередь гемор легальному пользователю. лучше ее избегать.

От: Brice Tribbiani http://vzaguskin.github.io
Дата: 20.02.11 15:03
Оценка: 8 (2)

Здравствуйте, Дон Педро, Вы писали:

ДП>Ребяты, подскажите к чему можно привязать лицензию на конкретном компе?
ДП>1. Если к железу, то по каким параметрам обычно с оставляется «железный ID» компа?
ДП>2. Если не к железу, то наверное можно к особенности операционки? Есть ли какой-то уникальный GUID операционки? Или может дата установки + имя компа + что-то еще?

Там есть тонкость на 64 битных системах, чтобы работало везде надо делать так:

От: Дон Педро
Дата: 20.02.11 15:09
Оценка:

Привязка требуется легкая. Но имя компа не катит, его же вполне могут поменять. Или возможно тогда имя компа + дата установки винды, есть такая дата?
А что за нюансы с CPUID? Легальных пользователей это не коснется.

Читайте также:  что делать если кот ест наполнитель для лотка
От: Дон Педро
Дата: 20.02.11 15:12
Оценка:

Здравствуйте, Brice Tribbiani, Вы писали:

BT>HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Cryptography\MachineGuid

Спасибо, погуглю че такое.

От: ov barcode generator
Дата: 20.02.11 15:17
Оценка:
От: sj3.1415
Дата: 20.02.11 15:28
Оценка:
От: Дон Педро
Дата: 20.02.11 15:36
Оценка:

Здравствуйте, ov, Вы писали:

ДП>>Привязка требуется легкая. Но имя компа не катит, его же вполне могут поменять. Или возможно тогда имя компа + дата установки винды, есть такая дата?
ov>да все могут поменять, включая комп. тебе полюбому придется думать как перепривязывать таких пользователей снова.

Мне не надо их перепривязывать. Речь идет о халявных пользователях, ключи халявные будут работать только с момента установки и переустановки не предусмотрено, т.е. пока винду не снесут можно работать с прогой. Ключи эти должны содержать инфу о компе, чтобы в случае его утечки он не работал. Одного имени компа мало, их меняют не так уж и редко, тут не поймешь то ли это ключ на другой машине запустили то ли просто юзер имя компа сменил. Надо что-то еще дополнительно.

От: ov barcode generator
Дата: 20.02.11 15:51
Оценка:
От: baranovda
Дата: 20.02.11 20:51
Оценка:

Здравствуйте, Brice Tribbiani, Вы писали:

BT>HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Cryptography\MachineGuid

В Vista/7 на подступах к HKLM заботливо расставили растяжки. Например, непривилегированному пользователю нельзя считать HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\Registration, где лежит ProductID. Только через WMI.

От: TheCreator
Дата: 20.02.11 21:07
Оценка:

Здравствуйте, baranovda, Вы писали:

B>В Vista/7 на подступах к HKLM заботливо расставили растяжки. Например, непривилегированному пользователю нельзя считать HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\Registration, где лежит ProductID. Только через WMI.

От: Brice Tribbiani http://vzaguskin.github.io
Дата: 20.02.11 21:12
Оценка:

Здравствуйте, baranovda, Вы писали:

B>В Vista/7 на подступах к HKLM заботливо расставили растяжки. Например, непривилегированному пользователю нельзя считать HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\Registration, где лежит ProductID. Только через WMI.

Только что проверил свой код на семерке, все прекрасно работает.

От: Дон Педро
Дата: 20.02.11 22:34
Оценка:

А этот MachineGuid нельзя изменить? И после переустановки системы он меняется?

Нашел еще интересный способ идентификации:

Можно попробовать сделать так:
1. Берем для системного диска, например С, из ключа реестра «HKEY_LOCAL_MACHINE\SYSTEM\MountedDevices\» значение параметра «\DosDevices\C:». Например значение равно «19 F5 19 F5 00 7E 00 00 00 00 00 00»

2. Делаем последовательный перебор всех значений из указанного ключа, которые равны этому числу. Находим их всего два:
\DosDevices\C:
\??\Volume

Из второго параметра берем GUID = 441fa896-4530-11d9-b0a1-806d6172696f — вот нам и уникальный идентификатор.
Этот идентификатор меняется при переустановке винды, при переключении харда в другой комп, при клонировании на другой комп — вобщем при любой операции удаления/установки данного дискового устройства.

От: Kubyshev Andrey
Дата: 21.02.11 04:20
Оценка:
От: Matrix_Failure http://matrixfailure.wordpress.com/
Дата: 21.02.11 06:33
Оценка:

Здравствуйте, Kubyshev Andrey, Вы писали:

KA>я привязываюсь к имени компьютера. сменил имя — покупай заново. никто не жалуется.

Круто. Красота в простоте!

От: out-of-the-way www.tehnoromantik.net
Дата: 21.02.11 06:40
Оценка:

Здравствуйте, Дон Педро, Вы писали:

ДП>Ребяты, подскажите к чему можно привязать лицензию на конкретном компе?
ДП>1. Если к железу, то по каким параметрам обычно с оставляется «железный ID» компа?
ДП>2. Если не к железу, то наверное можно к особенности операционки? Есть ли какой-то уникальный GUID операционки? Или может дата установки + имя компа + что-то еще?

MAC — адрес. Поменять могут всё, надо предо смотреть для пользователь процедуру «переезда».

От: okman
Дата: 21.02.11 08:46
Оценка:

Здравствуйте, Дон Педро, Вы писали:

ДП>Ребяты, подскажите к чему можно привязать лицензию на конкретном компе?
ДП>1. Если к железу, то по каким параметрам обычно с оставляется «железный ID» компа?
ДП>2. Если не к железу, то наверное можно к особенности операционки? Есть ли какой-то уникальный GUID операционки? Или может дата установки + имя компа + что-то еще?

Можно, кстати, к ключу активации Windows привязаться.
Только захэшировать его как следует, чтобы не «вычислили».

От: Дон Педро
Дата: 21.02.11 12:22
Оценка:

Здравствуйте, Matrix_Failure, Вы писали:

M_F>Здравствуйте, Kubyshev Andrey, Вы писали:

KA>>я привязываюсь к имени компьютера. сменил имя — покупай заново. никто не жалуется.

M_F>Круто. Красота в простоте!

А где смайлик? Я думаю это мягко говоря нехорошо.

Источник

Изменение MachineGuid C#

Но это не работает. он не удаляет значение MachineGuid, которое автоматически восстанавливается примерно через секунду.

Ошибка говорит о том, что он не находит значение.. этого MachineGuid не существует. но когда я иду в regedit, это происходит?

Если я не запускаю приложение от имени администратора, оно говорит, что значение было удалено, но если я это делаю, оно говорит, что оно не существует.

Читайте также:  что делает отдел социальной защиты населения

1 ответ

Похожие вопросы:

На этой странице говорится следующее: В реестре Windows есть ключ под названием MachineGUID, который имеет UUID который создается Windows во время установки и теоретически должен быть уникальным для.

У меня есть программа, которая нуждается в установке OS отпечатков пальцев, как один в MSW хранится в HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Cryptography\MachineGuid В Microsoft Windows он уже готов.

Я пытаюсь извлечь MachineGuid из реестра, чтобы создать некоторый уровень привязки с OS для моей лицензионной системы. Из документации, которую я могу использовать string key =.

Я создал простую функцию: std::wstring GetRegKey(const std::string& location, const std::string& name)< const int valueLength = 10240; auto platformFlag = KEY_WOW64_64KEY; HKEY key; TCHAR.

В настоящее время я использую следующий код C++, чтобы получить MachineGuid из реестра windows и использовать эту информацию для моего алгоритма лицензирования: std::wstring key =.

Вот мой код: RegistryKey reg = Registry.LocalMachine; var HKLM = reg.OpenSubKey(@Software\\Microsoft\\Cryptography); HKLM.DeleteValue(MachineGuid); Проблема: даже когда я запускаю его от имени.

Итак, сегодня я пытался получить значение MachineGuid из реестра в C++ через RegGetValue. RegGetValue отлично работает для меня почти на каждом другом значении, которое я пытаюсь прочитать в.

Источник

Как скачать и исправить MachineGuid.txt (3-х шаговое руководство)

Последнее обновление: 07/04/2021 [Время на прочтение:

Файлы TXT, такие как MachineGuid.txt, классифицируются как файлы Текст (Plain Text). Как файл Plain Text он был создан для использования в Office 2010 от компании Microsoft.

Первая версия MachineGuid.txt для Windows XP была представлена 10/25/2001 в Windows XP. Последнее обновление для Office 2010 состоялось 06/15/2010 [версия файла 2010]. Файл MachineGuid.txt входит в состав Windows 10, Windows 8 и Windows 7.

Продолжайте читать, чтобы найти загрузку правильной версии файла MachineGuid.txt (бесплатно), подробные сведения о файле и порядок устранения неполадок, возникших с файлом TXT.

Рекомендуемая загрузка: исправить ошибки реестра в WinThruster, связанные с MachineGuid.txt и (или) Office.

Совместимость с Windows 10, 8, 7, Vista, XP и 2000

Средняя оценка пользователей

Обзор файла

Общие сведения ✻
Имя файла: MachineGuid.txt
Расширение файла: расширение TXT
Тип файла: Текст
Описание: Plain Text
Пользовательский рейтинг популярности:
Сведения о разработчике и ПО
Программа: Office 2010
Разработчик: Microsoft
Программное обеспечение: Office
Версия ПО: 2010
Сведения о файле
Размер файла (байты): 76
Дата первоначального файла: 04/24/2017
Дата последнего файла: 05/10/2017
Информация о файле Описание
Размер файла: 76 bytes
Дата и время изменения файла: 2017:05:10 21:47:54+00:00
Дата и время изменения индексного дескриптора файлов: 2018:05:23 20:26:27+00:00
Ошибка: Unknown file type

✻ Фрагменты данных файлов предоставлены участником Exiftool (Phil Harvey) и распространяются под лицензией Perl Artistic.

Что такое сообщения об ошибках MachineGuid.txt?

Общие ошибки выполнения MachineGuid.txt

Ошибки файла MachineGuid.txt часто возникают на этапе запуска Office, но также могут возникать во время работы программы. Эти типы ошибок TXT также известны как «ошибки выполнения», поскольку они возникают во время выполнения Office. К числу наиболее распространенных ошибок выполнения MachineGuid.txt относятся:

Программа: C:\WINDOWS\system32\Restore\MachineGuid.txt

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

В большинстве случаев причинами ошибок в TXT являются отсутствующие или поврежденные файлы. Файл MachineGuid.txt может отсутствовать из-за случайного удаления, быть удаленным другой программой как общий файл (общий с Office) или быть удаленным в результате заражения вредоносным программным обеспечением. Кроме того, повреждение файла MachineGuid.txt может быть вызвано отключением питания при загрузке Office, сбоем системы при загрузке или сохранении MachineGuid.txt, наличием плохих секторов на запоминающем устройстве (обычно это основной жесткий диск) или заражением вредоносным программным обеспечением. Таким образом, крайне важно, чтобы антивирус постоянно поддерживался в актуальном состоянии и регулярно проводил сканирование системы.

Как исправить ошибки MachineGuid.txt — 3-шаговое руководство (время выполнения:

Если вы столкнулись с одним из вышеуказанных сообщений об ошибке, выполните следующие действия по устранению неполадок, чтобы решить проблему MachineGuid.txt. Эти шаги по устранению неполадок перечислены в рекомендуемом порядке выполнения.

Шаг 1. Восстановите компьютер до последней точки восстановления, «моментального снимка» или образа резервной копии, которые предшествуют появлению ошибки.

Чтобы начать восстановление системы (Windows XP, Vista, 7, 8 и 10):

Если на этапе 1 не удается устранить ошибку MachineGuid.txt, перейдите к шагу 2 ниже.

Шаг 2. Если вы недавно установили приложение Office (или схожее программное обеспечение), удалите его, затем попробуйте переустановить Office.

Чтобы удалить программное обеспечение Office, выполните следующие инструкции (Windows XP, Vista, 7, 8 и 10):

После полного удаления приложения следует перезагрузить ПК и заново установить Office.

Если на этапе 2 также не удается устранить ошибку MachineGuid.txt, перейдите к шагу 3 ниже.

Шаг 3. Выполните обновление Windows.

Когда первые два шага не устранили проблему, целесообразно запустить Центр обновления Windows. Во многих случаях возникновение сообщений об ошибках MachineGuid.txt может быть вызвано устаревшей операционной системой Windows. Чтобы запустить Центр обновления Windows, выполните следующие простые шаги:

Если Центр обновления Windows не смог устранить сообщение об ошибке MachineGuid.txt, перейдите к следующему шагу. Обратите внимание, что этот последний шаг рекомендуется только для продвинутых пользователей ПК.

Если эти шаги не принесут результата: скачайте и замените файл MachineGuid.txt (внимание: для опытных пользователей)

Если этот последний шаг оказался безрезультативным и ошибка по-прежнему не устранена, единственно возможным вариантом остается выполнение чистой установки Windows 7.

Источник

Получение серийного номера Windows (было: получение MachineGuid из реестра)

Я пытаюсь получить MachineGuid из реестра, чтобы создать некоторый уровень привязки с ОС для моей лицензионной системы. Из документации я могу использовать

чтобы получить его. Кроме того, врачи говорят мне, что я получаю «default» когда имя не найдено, или null Если ключ не существует. Я должен получить исключение безопасности, если у меня нет доступа.

обновление при использовании reg.exe у меня нет проблем с получением значения.

обновление: я обновил название, поэтому люди, которые ищут уникальный способ определения установки Windows, также попадают сюда.

3 ответов

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

небольшой поиск привел меня к Win32_OperatingSystem класс WMI. Используя этот класс, вы можете получить серийный номер Windows. Мне потребовались некоторые поиски и эксперименты, чтобы получить его правильно, но вот как использовать его в C#.

убедитесь, что вы есть System.Management.dll ссылка в вашем проекте:

С помощью [] оператора, вы можете получить любое свойство в классе.

вероятно, поэтому он не работает надежно среди разных версий Windows

нет, это не причина. Эта проблема вызвана выбором целевой платформы для вашего EXE-проекта. Проект + свойства, вкладка сборки, платформа целевой combobox. У вас установлено значение x86 вместо AnyCPU. На VS2012 имеет значение флажок «предпочесть 32-бит». Этот параметр заставляет программу работать в 32-разрядном режиме на 64-разрядной версии Windows. Который имеет номер из побочных эффектов здесь имеет значение то, что доступ к разделам реестра перенаправляется. Ваша программа фактически считывает значение HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Cryptography\MachineGuid. Которого не существует.

выбор x86 является значением по умолчанию для VS2010 и выше, ранее AnyCPU был значением по умолчанию. Microsoft предпочитает x86, Visual Studio лучше работает с 32-разрядными режимными процессами. В частности, при отладке VS является 32-разрядным процессом, поэтому требуется удаленный отладчик, если программа выполняется в 64-разрядном режиме. Который имеет несколько ограничений, таких как не поддерживается отладка в смешанном режиме. И функция Edit + Continue работает только для 32-битного кода. Однако ваша программа работает «лучше», если у вас есть настройка в AnyCPU, в том числе не укусить файловую систему и функции перенаправления реестра appcompat, встроенные в Windows.

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

и последнее, но не менее важное: считайте, что довольно легко создать свой собственный уникальный идентификатор, который вообще не зависит от Windows. Со значительным преимуществом, что вы не будете злить своего клиента, когда он обновления Windows на своей машине. Просто используйте Guid.NewGuid () один раз и сохраните значение в файле. Это будет потеряно, когда диск пойдет плохо, но это обычно уничтожает и ваш продукт.

Я мое скромное мнение ни один из ответов не удовлетворяет вопросу; довольно прямолинейно просит способ прочитать MachineGuid из реестра. Итак, вот мой ответ: вам нужно будет добавить ссылку на «Microsoft.Для Win32». Этот код был написан в демонстрационных целях и должен быть соответствующим образом адаптирован. EDIT: кто-то ошибочно заявил, что код x64 бесполезен. В 64-битной ОС, где находится ключ correcty. Таким образом, этот ответ является единственным, который отвечает на вопрос.

Источник

Сказочный портал