Получаете серийный номер процессора или материнской платы?

StackOverflow https://stackoverflow.com/questions/4216009

Вопрос

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

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

Это было полезно?

Решение

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

Поперечный

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

Другие советы

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

Вы можете получить 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

В 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...as вы можете посмотреть здесь.

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top