В дополнение к ответу DrJokepu . Код Python, использующий модули ctypes
, реализует следующий код C (/ hack):
char *CPUID = "\x53\x31\xc0\x40\x0f\xa2\x5b\xc3"; // x86 code
unsigned int (*cpuid)() = (unsigned int (*)()) CPUID; // CPUID points to first instruction in above code; cast it to a function pointer
printf("%u",cpuid()); // calling cpuid() effectively executes the x86 code.
Также обратите внимание, что это возвращает только информацию в EAX, и код x86, вероятно, должен был также выдвинуть / вытолкнуть значения ECX и EDX для безопасности.