Pythonでネイティブコード(x86バイトコードなど)を実行する方法のメモ。 ctypesモジュールをインポートし、次のような関数を定義すればよい。 import ctypes def native_func(bytecode): libc = ctypes.CDLL('libc.so.6') libc.mmap.restype = ctypes.c_void_p buf = libc.mmap(None, len(bytecode), 7, 0x22, -1, 0) libc.memcpy(ctypes.c_void_p(buf), ctypes.c_char_p(bytecode), len(bytecode)) return ctypes.CFUNCTYPE(ctypes.c_void_p)(buf) rdrand = native_func('\x48\x0f\xc7\xf0\x