from ctypes import *
from sys import builtin_module_names
_names = set(builtin_module_names)

x86 = create_string_buffer(
	'\x8B\x44\x24\x04'	# mov	 eax, DWORD PTR [esp+4]
	'\x0F\xA2'		# cpuid
	'\xC3'			# ret	 0
)
address = addressof(x86)
if 'posix' in _names: cdll['libc.so.6'].mprotect(address & ~0xFFF,0x1000,0xF)
elif 'nt' in _names: windll.kernel32.VirtualProtect(address,sizeof(x86),0x40,byref(c_ulong()))
else:raise NotImplementedError
print CFUNCTYPE(c_char * 4,c_int)(address)(0x80000002).raw
