#pas function rewritedata(processhandle: thandle; address:ptrUint; buffer: pointer; var size:dword): boolean; var original,a: dword; s: PtrUInt; begin //make writable, write, restore, flush VirtualProtectEx(processhandle, pointer(address),size,PAGE_EXECUTE_READWRITE,original); result:=writeprocessmemory(processhandle,pointer(address),buffer,size,s); size:=s; VirtualProtectEx(processhandle,pointer(address),size,original,a); end;