x86 - serial - windows 10 product key 2018
Número de serie de la CPU (11)
Algunos detalles más por favor: sistema operativo, idioma.
Por ejemplo, en Windows puede obtenerlo utilizando WMI y leyendo Win32_Processor.ProcessorId .
¿Cómo obtengo el número de serie de la CPU en una PC?
En Windows, estoy seguro de que hay una llamada al sistema, en Linux uno podría probar "sudo lshw", pero la mayoría de los núcleos no parecen soportar los números de serie de la CPU, y las investigaciones preliminares parecen indicar que la indignación general contra las computadoras identificables significa que hay no es una respuesta perfecta.
¿Que estás tratando de hacer? Casi con certeza, alguien lo ha hecho antes y puede ser prudente reutilizar o emular lo que han hecho.
Esto es un hilo viejo. Pero tuve el mismo problema, pero obtuve la siguiente lógica que funciona sin demasiados ifs, ands o peros.
El problema con el número de serie de la CPU es que no siempre funciona en un entorno virtualizado.
Hice la siguiente lógica con un conjunto de servidores basados en Windows:
Win32_BIOS
puede proporcionarle un número de serie de la BIOS. Debemos tener en cuenta que si el sistema está virtualizado, puede terminar con el mismo número de serie BIOS para todos los servidores.
Win32_NetworkAdapter
puede proporcionarle un MAC que puede usar también. En los casos en que tenga múltiples NIC, terminará con múltiples MAC.
Combinando estos dos IDs, tuve todo un conjunto único en un conjunto de 6000 servidores que abarcan todo el ámbito físico y virtual. Esto fue realmente simple de implementar usando ManagementClass
y ManagementObject
.
Pero solo una advertencia: cuando intente obtener la instancia de MO
remotamente, le tomará más de unos pocos segundos en una red óptica de <5 ms de latencia a 10 Gbps. Entonces, si haces los cálculos, tardé más de 3 horas en una operación de un solo hilo. Como esto se parece más a un tráfico de baja prioridad, no quería enviar correo no deseado a mi red para recopilar datos WMI
en llamadas de subprocesos múltiples.
Incluso con el CPUID habilitado, ¿hay realmente un número de serie disponible en los procesadores modernos? Recuerdo que hubo una gran protesta en el Pentium 3 días cuando se planteó todo el número de serie.
Puede usar el comando CPUID .
Recuerde que la mayoría de las computadoras actualmente incluyen una ID de CPU deshabilitada en el BIOS. Ver CPUID en Wikipedia
Según la etiqueta de "licencia" que haya utilizado para su pregunta, es posible que obtenga mejores resultados al leer la dirección MAC de la red . La identificación de la PC mediante una dirección MAC no es un método totalmente irrompible para la protección contra copia, aunque a veces se usa.
Supongo que bastantes compiladores ofrecen algún contenedor o similar en torno al comando mencionado. Aquí hay un ejemplo
#include <stdlib.h>
#include <string.h>
#include <intrinsics.h>
_CPUID cpuinfo;
int main(void) {
_cpuid(&cpuinfo);
printf("Vendor: %s/n", cpuinfo.Vendor);
return 0;
}
Salida:
Vendor: GenuineIntel
Tengo la última respuesta para esto sin ninguna biblioteca externa. Simplemente escribe esto:
wmic bios obtiene serial number
Esto le dará el número de serie en el chasis de la PC;) (se encuentra en la base de conocimiento de Microsoft)
¡Saludos!
Use la herramienta CPUZ: http://www.cpuid.com/cpuz.php
__get_cpuid (unsigned int __level, unsigned int *__eax, unsigned int *__ebx, unsigned int *__ecx, unsigned int *__edx);
- Encabezado:
#include <cpuid.h>
Nota: El número de serie del procesador se introdujo en Intel Pentium III, pero debido a problemas de privacidad, esta característica ya no se implementa en los modelos posteriores.
Fuente: wikipedia