Пример #1
0
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
Пример #2
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