Вопрос или проблема
Я думаю, это связано с этим вопросом, но я хотел бы знать, есть ли способ предотвратить доступ приложений “третьих сторон” к аппаратным идентификаторам (материнская плата, жесткие диски и другие), или же дать им фальшивые значения, на реальных ОС, не используя виртуальную машину. Меня интересуют современные десктопные ОС, особенно Windows 7 и Windows 8 для x86-64.
Существует способ сделать это через Google Native Client. Однако исполняемые файлы необходимо явно компилировать для этой среды.
Иначе это трудно осуществить (т.е. без песочницы). DEP не может сделать это за вас, так как он только предотвращает выполнение сегментов памяти без флага исполняемого файла.
Просто подумайте о чтении CPUID, что является простой инструкцией, предотвратить выполнение которой вы обычно не можете.
Тем не менее, могут существовать программы, которые делают это, используя отладочные функции, но я о таких не знаю.
Используемый на аппаратном уровне DEP может предотвратить это, но не уверен, что может вернуть ложные значения.
Спасибо за информацию, но моя проблема не в отпечатке. Я живу в стране, где высокий уровень санкций, и даже самые простые повседневные задачи, которые вы делаете, мы не можем выполнять. Много раз VPN не решает нашу проблему.
Ответ или решение
Предотвращение доступа программного обеспечения к аппаратным идентификаторам является сложной задачей, особенно в современных настольных операционных системах, таких как Windows 7 и Windows 8. Вот несколько методов и подходов, которые могут помочь в этой области:
-
Использование программных средств: Существуют программные решения, которые могут помочь скрыть или изменить аппаратные идентификаторы. Примеры таких программ включают "AntiCheat" приложения, предназначенные для игр, которые пытаются скрыть информацию о аппаратном обеспечении, а также утилиты для изменения системных идентификаторов.
-
Настройки системы: Некоторые версии Windows позволяют изменять настройки конфиденциальности, которые могут ограничить доступ программ к определённой информации о системе. Необходимо проверить все параметры конфиденциальности в настройках Windows, чтобы минимизировать доступ к аппаратным данным.
-
Изменение реестра: В некоторых случаях изменение ключей реестра в Windows может помочь в ограничении доступа к аппаратным идентификаторам. Однако этот метод требует осторожности, так как неверные изменения в реестре могут повредить систему.
-
Использование режима совместимости: Запуск программ в режиме совместимости с более старыми версиями Windows может иногда ограничить их доступ к современным аппаратным функциям и идентификаторам, хотя этот метод не гарантирован.
-
Изоляция приложений: Если есть возможность, изоляция приложений через контейнерные технологии (например, Docker, хотя это менее распространено для десктопных ОС) или использование песочниц может снизить риски доступа к аппаратным идентификаторам.
-
Виртуализация: Хотя вы упомянули, что не хотите использовать виртуальные машины, стоит отметить, что они предоставляют наилучший способ для контроля доступа к аппаратным идентификаторам, создавая абстракцию между программным обеспечением и физическим оборудованием.
-
Защита с помощью аппаратных технологий: Некоторые технологии, такие как TPM (Trusted Platform Module), могут защитить конфиденциальность данных и удостоверяющих идентификаторов, но они требуют поддержки со стороны оборудования и операционной системы.
-
Программирование: Если у вас есть навыки программирования, вы можете рассмотреть возможность создания собственных приложений, которые могут ограничить доступ к определённой информации о системе.
К сожалению, полностью предотвратить доступ программ к аппаратным идентификаторам в реальных условиях, не прибегая к виртуализации, практически невозможно. Учитывая вашу ситуацию с высокими уровнями санкций, возможно, стоит рассмотреть использование VPN или прокси-серверов для защиты вашей конфиденциальности, хотя это тоже имеет свои ограничения.