2009-11-25 14 views

Respuesta

15

no vi nada en las bibliotecas estándar de Python, pero me encontré con un ejemplo usando ctypes como usted sugiere en otro sitio:

from ctypes import * 
from ctypes.wintypes import * 

OpenProcess = windll.kernel32.OpenProcess 
ReadProcessMemory = windll.kernel32.ReadProcessMemory 
CloseHandle = windll.kernel32.CloseHandle 

PROCESS_ALL_ACCESS = 0x1F0FFF 

pid = 4044 # I assume you have this from somewhere. 
address = 0x1000000 # Likewise; for illustration I'll get the .exe header. 

buffer = c_char_p("The data goes here") 
bufferSize = len(buffer.value) 
bytesRead = c_ulong(0) 

processHandle = OpenProcess(PROCESS_ALL_ACCESS, False, pid) 
if ReadProcessMemory(processHandle, address, buffer, bufferSize, byref(bytesRead)): 
    print "Success:", buffer 
else: 
    print "Failed." 

CloseHandle(processHandle) 
0

Sí, ctypes (o win32all) y ReadProcessMemory son exactamente de la manera que ir. ¿Estabas buscando algo extra/diferente? ¿Qué, en particular?

+0

puede ser que él quiera hacer el clon de ArtMoney: P – YOU

+0

Supongo que estaba buscando algo en las bibliotecas de Python que era esencialmente un envoltorio para esto en un intento de evitar el uso de ctypes. Gracias por la info! –

Cuestiones relacionadas