Получение серийного номера процессора или материнской платы? - PullRequest
4 голосов
/ 18 ноября 2010

Я пытаюсь получить CPU serial или motherboard serial, используя C или Python для целей лицензирования. Возможно ли это?

Я использую Linux.

Ответы [ 5 ]

7 голосов
/ 18 ноября 2010

В Linux вы можете использовать "lshw -quiet -xml" и проанализировать его вывод.Вы найдете здесь много системной информации: cpuid, идентификатор материнской платы и многое другое.

3 голосов
/ 19 ноября 2010

Вы можете получить CPUID. Возможно, команда linux 'dmidecode' может вам помочь. Вы можете выполнить эту команду или загрузить исходный код «dmidecode». Далее вывод «процессора dmidecode -t»:

>dmidecode -t processor
# dmidecode 2.7
SMBIOS 2.2 present.

Handle 0x0004, DMI type 4, 32 bytes.
Processor Information
        Socket Designation: Socket 478
        Type: Central Processor
        Family: Pentium 4
        Manufacturer: Intel
        ID: 27 0F 00 00 FF FB EB BF
        Signature: Type 0, Family 15, Model 2, Stepping 7
        Flags:
                FPU (Floating-point unit on-chip)
                VME (Virtual mode extension)
                DE (Debugging extension)
                PSE (Page size extension)
                TSC (Time stamp counter)
                MSR (Model specific registers)
                PAE (Physical address extension)
                MCE (Machine check exception)
                CX8 (CMPXCHG8 instruction supported)
                APIC (On-chip APIC hardware supported)
                SEP (Fast system call)
                MTRR (Memory type range registers)
                PGE (Page global enable)
                MCA (Machine check architecture)
                CMOV (Conditional move instruction supported)
                PAT (Page attribute table)
                PSE-36 (36-bit page size extension)
                CLFSH (CLFLUSH instruction supported)
                DS (Debug store)
                ACPI (ACPI supported)
                MMX (MMX technology supported)
                FXSR (Fast floating-point save and restore)
                SSE (Streaming SIMD extensions)
                SSE2 (Streaming SIMD extensions 2)
                SS (Self-snoop)
                HTT (Hyper-threading technology)
                TM (Thermal monitor supported)
                PBE (Pending break enabled)
        Version: Intel(R) Pentium(R) 4 CPU
        Voltage: 1.5 V
        External Clock: 133 MHz
        Max Speed: 3066 MHz
        Current Speed: 2800 MHz
        Status: Populated, Enabled
        Upgrade: ZIF Socket
        L1 Cache Handle: 0x0008
        L2 Cache Handle: 0x0009
        L3 Cache Handle: No L3 Cache
3 голосов
/ 18 ноября 2010

Вам необходимо использовать инструкцию CPUID.

CPUID

Большинство компиляторов Си имеют некоторую поддержку встроенной сборки, но вам нужно будет знать, что вы делаете.

2 голосов
/ 22 декабря 2011

В Linux информацию о материнской плате можно найти в / sys / class / dmi, например,

$ sudo grep '' /sys/class/dmi/id/board_*
/sys/class/dmi/id/board_asset_tag:
/sys/class/dmi/id/board_name:30AD
/sys/class/dmi/id/board_serial:
/sys/class/dmi/id/board_vendor:Hewlett-Packard
/sys/class/dmi/id/board_version:KBC Version 56.34

... но не все материнские платы предоставляют серийный номер через dmi ... как вы можете видеть здесь.

0 голосов
/ 19 ноября 2010

Процессоры больше не получают серийный номер, и вот уже какое-то время так.Для CPUID - уникален для каждой модели CPU, поэтому не помогает с лицензированием.

...