Pregunta

Estoy intentando conseguir el CPU serial o motherboard serial usando C o Python de concesión de licencias propósitos. ¿Es posible?

Estoy usando Linux.

¿Fue útil?

Solución

Es necesario utilizar la instrucción CPUID.

CPUID

La mayoría de los compiladores de C tienen una cierta ayuda para el montaje en línea, pero se necesita saber lo que está haciendo.

Otros consejos

En Linux, se podría utilizar "lshw -quiet -xml" y analizar su producción. Encontrarás un montón de información del sistema aquí: cpuid, Identificación placa base y mucho más.

Usted puede obtener el CPUID. Tal vez comandos de Linux 'dmidecode' puede ayudar. Puede exec este comando, o cargar el código fuente de "dmidecode". Lo siguiente es la salida de "procesador -t dmidecode":

>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

En Linux, la información de la placa base se pueden encontrar bajo / sys / class / DMI por ejemplo

$ 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

... pero no todas las placas base proporcionan el número de serie a través de DMI ... como se puede ver aquí.

CPU ya no es obtener un número de serie y que ha sido así desde hace un tiempo. Para el CPUID - que es único para cada modelo de CPU por lo que no ayuda con la concesión de licencias

.
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top