1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| import ctypes
from mem_edit import Process
coucou = (ctypes.c_byte * 12)(0x63, 0x00, 0x6f, 0x00, 0x75, 0x00, 0x63, 0x00, 0x6f, 0x00, 0x75, 0x00)
poupou = (ctypes.c_byte * 12)(0x70, 0x00, 0x6f, 0x00, 0x75, 0x00, 0x70, 0x00, 0x6f, 0x00, 0x75, 0x00)
pid = Process.get_pid_by_name('notepad.exe')
with Process.open_process(pid) as p:
addrs = p.search_all_memory(coucou)
# on teste si il y a une ou plusieurs réponses
if len(addrs) >= 1:
print('adresses trouvées:')
for addr in addrs:
# on affiche l'adresse en hexa
print("adresse : " + str(hex(addr)))
# on affiche 32 octets (en décimal) à partir de la première adresse trouvée
dump = p.read_memory(addr, (ctypes.c_byte * 32)())
print(*dump)
# on écrit poupou à la place de coucou à la première adresse
p.write_memory(addrs[0], poupou)
elif len(addrs) == 0:
print("séquence d'octets non trouvée!") |
Partager