Информация о компьютере.

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by Mushtat, 9 Oct 2010.

  1. Mushtat

    Mushtat New Member

    Joined:
    24 Sep 2010
    Messages:
    13
    Likes Received:
    0
    Reputations:
    0
    Добрый день уважаемые форумчане!
    Обращаюсь к вам со следующей проблемой:
    Проблема такая - нужно получить информацию о компьютере, такую что:
    - при любых действиях с комьютером она не менялась;
    - у любых двух разных комьютерах она была разная;
    Для Windows начиная с XP и кончая текущими версиями.

    Чем может быть данная информация?
    Скажу немного, для чего это - делается клиент для игры, для еффективных наказаний будет генериться оригинальный для каждой машины айди.
    Нужна привязка программы к аппаратной части компьюеров.
    Подскажите пожалуйста, на основе каких данных можно подобное организовать.
    Это делается на с++

    Заранее спасибо.
     
  2. GRRRL Power

    GRRRL Power Elder - Старейшина

    Joined:
    13 Jul 2010
    Messages:
    823
    Likes Received:
    185
    Reputations:
    84
    И то, и то меняется. Да и вообще, есть софт, меняющий многие "неперебиваемые" параметры. А так - серийники bios, харда например.
     
  3. Mushtat

    Mushtat New Member

    Joined:
    24 Sep 2010
    Messages:
    13
    Likes Received:
    0
    Reputations:
    0
    Хорошо. Подобные данные можно как-то программно получить, т.к. я с этим не сталкивался. Может кто знает?
     
  4. GRRRL Power

    GRRRL Power Elder - Старейшина

    Joined:
    13 Jul 2010
    Messages:
    823
    Likes Received:
    185
    Reputations:
    84
    Можно, читай про WMI.
     
  5. Mushtat

    Mushtat New Member

    Joined:
    24 Sep 2010
    Messages:
    13
    Likes Received:
    0
    Reputations:
    0
    или хотя бы узнать где вышеуказанные параметры хранятся, что бы прочитать из файла

    Спасибо, GRRRL Power
     
  6. Mushtat

    Mushtat New Member

    Joined:
    24 Sep 2010
    Messages:
    13
    Likes Received:
    0
    Reputations:
    0
    он по умолчанию много где не стоит + работает очень медленно - опрос системы может длиться несколько секунд
    по опыту работы - довольно глючная.
    Не подходит. Если кто-то может что-то посоветовать иное, другой способ решения подобной задачи - буду признателен.
     
  7. GRRRL Power

    GRRRL Power Elder - Старейшина

    Joined:
    13 Jul 2010
    Messages:
    823
    Likes Received:
    185
    Reputations:
    84
    WMI - Windows Management Instrumentation - есть везде, это встроенная вплоть до уровня ядра фича. Опрос драйверов через WMI быстр, вы, видимо, не то прочитали.

    http://ru.wikipedia.org/wiki/WMI
     
    #7 GRRRL Power, 9 Oct 2010
    Last edited: 9 Oct 2010
  8. Mushtat

    Mushtat New Member

    Joined:
    24 Sep 2010
    Messages:
    13
    Likes Received:
    0
    Reputations:
    0
    Вики это одно, а опыт работы с этой службой это другое :)
    Но всё равно спасибо :)
     
  9. GRRRL Power

    GRRRL Power Elder - Старейшина

    Joined:
    13 Jul 2010
    Messages:
    823
    Likes Received:
    185
    Reputations:
    84
    Видимо, фиговый опыт был, судя по фразе, что "он не везде установлен" и "довольно глючен"... WMI прост в плане получения серийных номеров оборудования, примеров на MSDN предостаточно, да и вообще по всему интернету.

    Второй способ получить серийный номер, например, жесткого диска - использовать DeviceIoControl, только вот ни виста, ни семерка вам этого сделать не позволят, если приложение не от имени администратора запущено.
     
    #9 GRRRL Power, 9 Oct 2010
    Last edited: 9 Oct 2010
  10. Mushtat

    Mushtat New Member

    Joined:
    24 Sep 2010
    Messages:
    13
    Likes Received:
    0
    Reputations:
    0
    На данный момент мы используем параметры харда и проца, используя смарт (GUID основного харда) и специальную команду процессора, берущую его описание.

    Но эти параметры можно поменять.
    требуеться что-то, что неискушенный пользователь поменять не будет иметь возможности, и что-бы это что-то узнавалось без помощи wmi и дотнета
     
  11. GRRRL Power

    GRRRL Power Elder - Старейшина

    Joined:
    13 Jul 2010
    Messages:
    823
    Likes Received:
    185
    Reputations:
    84
    Поменять все можно, насколько я знаю. Есть софт, который способен подменить информацию при опросе. Другое дело, что неискушенный пользователь не будет этим заморачиваться, а если и будет, то не дойдет до цели. Специальная команда процессора - cpuid?)
    И, кстати, WMI и дотнет никак не связаны.


    Вот вам примерчик программы, получающей некоторую информацию о системе и оборудовании:http://zalil.ru/29790422
    Написана мной как-то на ассемблере, использует WMI.
     
    #11 GRRRL Power, 9 Oct 2010
    Last edited: 9 Oct 2010
  12. crypt0n

    crypt0n Member

    Joined:
    20 Feb 2010
    Messages:
    40
    Likes Received:
    5
    Reputations:
    0
    вспомните как шифровался Rustock.C
     
  13. Mushtat

    Mushtat New Member

    Joined:
    24 Sep 2010
    Messages:
    13
    Likes Received:
    0
    Reputations:
    0
    про проц - да мы cpuid и используем, а wmi и дотнет никак не связаны, но дотнет через вимиай дает всю инфу о железе.

    Если кто-то знает или найдёт оригинальное решение - буду рад выслушать.
    Пока всё функционирует и в таком виде, но надо возможности шире.
    Спасибо тебе, GRRRL Power.
     
  14. Mushtat

    Mushtat New Member

    Joined:
    24 Sep 2010
    Messages:
    13
    Likes Received:
    0
    Reputations:
    0
    А как он шифровался? :)
    Я например подробностей этого не знаю :)
     
  15. GRRRL Power

    GRRRL Power Elder - Старейшина

    Joined:
    13 Jul 2010
    Messages:
    823
    Likes Received:
    185
    Reputations:
    84
    Да не за что...

    Но вот по этому поводу я в шоке просто... Инфу о железе можно получить через WMI на ЛЮБОМ языке. В предыдущем посте я дал ссылку на программу на ассемблере, которая делает это.
     
  16. crypt0n

    crypt0n Member

    Joined:
    20 Feb 2010
    Messages:
    40
    Likes Received:
    5
    Reputations:
    0
    2Mushtat:
    русток обращался PCI шине, извлекал оттуда параметры моста PCI/ISA, формируя rc4 ключ на основе Device ID и Vendor ID
     
  17. GRRRL Power

    GRRRL Power Elder - Старейшина

    Joined:
    13 Jul 2010
    Messages:
    823
    Likes Received:
    185
    Reputations:
    84
    Только вот не с уровня ли ядра это происходило? Предлагаете уже писать клиент игры с драйверами?)
     
  18. Mushtat

    Mushtat New Member

    Joined:
    24 Sep 2010
    Messages:
    13
    Likes Received:
    0
    Reputations:
    0
    crypt0n, очень оригинальное решение. Как это описать в коде - не знаешь? :D
     
  19. crypt0n

    crypt0n Member

    Joined:
    20 Feb 2010
    Messages:
    40
    Likes Received:
    5
    Reputations:
    0
    :)) драйвер может извлекать данные и посылать их юзермодному приложению
     
  20. GRRRL Power

    GRRRL Power Elder - Старейшина

    Joined:
    13 Jul 2010
    Messages:
    823
    Likes Received:
    185
    Reputations:
    84
    Я в курсе. Но вопрос в силе - вы предлагаете писать еще дополнительно к юзер-модному клиенту игры вспомогательный драйвер? И это ли маленькие трудозатраты - под каждую операционку, под x86 и x64, а под x64 еще и подписывать его в обязательном порядке придется, покупать сертификат...