def allocate_null_page(size=0x1000): address = ctypes.c_void_p(1) if platform.architecture()[0] == '64bit': page_size = ctypes.c_uint64() else: page_size = ctypes.c_uint32() page_size.value = size result = m_ntdll.NtAllocateVirtualMemory( -1, ctypes.byref(address), 0, ctypes.byref(page_size), flags('MEM_RESERVE | MEM_COMMIT | MEM_TOP_DOWN'), flags('PAGE_EXECUTE_READWRITE')) return result == 0
def allocate_null_page(size=0x1000): if platform.architecture()[0] == '64bit': address = ctypes.c_uint64() page_size = ctypes.c_uint64() else: address = ctypes.c_uint32() page_size = ctypes.c_uint32() address.value = 1 page_size.value = size result = m_ntdll.NtAllocateVirtualMemory( -1, ctypes.byref(address), 0, ctypes.byref(page_size), flags('MEM_RESERVE | MEM_COMMIT | MEM_TOP_DOWN'), flags('PAGE_EXECUTE_READWRITE') ) return result == 0