Добрый день уважаемые форумчане! Обращаюсь к вам со следующей проблемой: Проблема такая - нужно получить информацию о компьютере, такую что: - при любых действиях с комьютером она не менялась; - у любых двух разных комьютерах она была разная; Для Windows начиная с XP и кончая текущими версиями. Чем может быть данная информация? Скажу немного, для чего это - делается клиент для игры, для еффективных наказаний будет генериться оригинальный для каждой машины айди. Нужна привязка программы к аппаратной части компьюеров. Подскажите пожалуйста, на основе каких данных можно подобное организовать. Это делается на с++ Заранее спасибо.
И то, и то меняется. Да и вообще, есть софт, меняющий многие "неперебиваемые" параметры. А так - серийники bios, харда например.
Хорошо. Подобные данные можно как-то программно получить, т.к. я с этим не сталкивался. Может кто знает?
или хотя бы узнать где вышеуказанные параметры хранятся, что бы прочитать из файла Спасибо, GRRRL Power
он по умолчанию много где не стоит + работает очень медленно - опрос системы может длиться несколько секунд по опыту работы - довольно глючная. Не подходит. Если кто-то может что-то посоветовать иное, другой способ решения подобной задачи - буду признателен.
WMI - Windows Management Instrumentation - есть везде, это встроенная вплоть до уровня ядра фича. Опрос драйверов через WMI быстр, вы, видимо, не то прочитали. http://ru.wikipedia.org/wiki/WMI
Видимо, фиговый опыт был, судя по фразе, что "он не везде установлен" и "довольно глючен"... WMI прост в плане получения серийных номеров оборудования, примеров на MSDN предостаточно, да и вообще по всему интернету. Второй способ получить серийный номер, например, жесткого диска - использовать DeviceIoControl, только вот ни виста, ни семерка вам этого сделать не позволят, если приложение не от имени администратора запущено.
На данный момент мы используем параметры харда и проца, используя смарт (GUID основного харда) и специальную команду процессора, берущую его описание. Но эти параметры можно поменять. требуеться что-то, что неискушенный пользователь поменять не будет иметь возможности, и что-бы это что-то узнавалось без помощи wmi и дотнета
Поменять все можно, насколько я знаю. Есть софт, который способен подменить информацию при опросе. Другое дело, что неискушенный пользователь не будет этим заморачиваться, а если и будет, то не дойдет до цели. Специальная команда процессора - cpuid?) И, кстати, WMI и дотнет никак не связаны. Вот вам примерчик программы, получающей некоторую информацию о системе и оборудовании:http://zalil.ru/29790422 Написана мной как-то на ассемблере, использует WMI.
про проц - да мы cpuid и используем, а wmi и дотнет никак не связаны, но дотнет через вимиай дает всю инфу о железе. Если кто-то знает или найдёт оригинальное решение - буду рад выслушать. Пока всё функционирует и в таком виде, но надо возможности шире. Спасибо тебе, GRRRL Power.
Да не за что... Но вот по этому поводу я в шоке просто... Инфу о железе можно получить через WMI на ЛЮБОМ языке. В предыдущем посте я дал ссылку на программу на ассемблере, которая делает это.
2Mushtat: русток обращался PCI шине, извлекал оттуда параметры моста PCI/ISA, формируя rc4 ключ на основе Device ID и Vendor ID
Я в курсе. Но вопрос в силе - вы предлагаете писать еще дополнительно к юзер-модному клиенту игры вспомогательный драйвер? И это ли маленькие трудозатраты - под каждую операционку, под x86 и x64, а под x64 еще и подписывать его в обязательном порядке придется, покупать сертификат...