Ir al contenido


Foto

Escribir Correctamente dentro de un proceso?


  • Por favor identifícate para responder
1 respuesta en este tema

#1 c0lo

c0lo

    Advanced Member

  • Miembro Platino
  • PipPipPip
  • 241 mensajes
  • LocationLima-Peru

Escrito 04 septiembre 2009 - 02:22

Bueno como siempre yo y mis cositas que no entiendo bien...

Bueno es que tengo un pequeño problema ala hora que escribo dentro de un proceso el cual modifico..

Lo que hago es algo asi:



delphi
  1.   VirtualProtectEx(GetCurrentProcess,ptr(Adress),SIZE,PAGE_EXECUTE_READWRITE,nil);
  2.  
  3.   //Escribo en memoria



Pero ocurre que no deseo escribir solo en una direccion si no en X direcciones dentro de la memoria de distintas logintudes o tamaño...

Lo que se me viene a la mente es:



delphi
  1. VirtualProtectEx(GetCurrentProcess,ptr(Adress1),SIZE1,PAGE_EXECUTE_READWRITE,nil);
  2. VirtualProtectEx(GetCurrentProcess,ptr(Adress2),SIZE2,PAGE_EXECUTE_READWRITE,nil);
  3. VirtualProtectEx(GetCurrentProcess,ptr(Adress3),SIZE3,PAGE_EXECUTE_READWRITE,nil);
  4. VirtualProtectEx(GetCurrentProcess,ptr(Adress4),SIZE4,PAGE_EXECUTE_READWRITE,nil);
  5.   //Escribo en memoria Para Address1
  6.   //Escribo en memoria Para Address2
  7.   //Escribo en memoria Para Address3
  8.   //Escribo en memoria Para Address4



Pero luego el programa se me corrompe, Porque? e obviado algo o hecho algo que no debo... Como seria la forma correcta de modificar la memoria...

Es decir, entiendo que para escribir dentro de la memoria, primero tengo que cambiar la proteccion en el espacio a trabajar, luego escribo y al final restaura la proteccion en el lugar trabajado, imagino que no entiendo como restaurar la memoria en el lugar que trabaje luego de haber usado VirtualProtectEx.

Si alguien me puede explicar o ayudar. Gracias
  • 0

#2 c0lo

c0lo

    Advanced Member

  • Miembro Platino
  • PipPipPip
  • 241 mensajes
  • LocationLima-Peru

Escrito 04 septiembre 2009 - 06:28

Estaba pensando en algun manera distinta de escribir dentro de un proceso? Help me  :grin:
  • 0




IP.Board spam blocked by CleanTalk.