Título: problemas al intentar reemplazar string en la memoria. Publicado por: Destro- en 26 Noviembre 2011, 17:17 pm Holas :).
Estoy intentando reemplazar un string de otra aplicacion en memoria pero no logre nada :\. Me podrian decir los orrores que tiene esto xd. Código: int main() La direccion de memoria la saque con el ida. .rdata:00405254 00000018 C No hay nuevas verciones Trank :). @EDIT me olvidaba,el ultimo printf lo manda bien,pero en la otra aplicacion el msgbox sigue siendo el mismo "No hay nuevas verciones". Título: Re: problemas al intentar reemplazar string en la memoria. Publicado por: naderST en 26 Noviembre 2011, 22:21 pm Un detalle la dirección que encontraste es decimal u octal? Porque cuando llamas a WriteProcessMemory le estas pasando una dirección en octal OJO, si es decimal quita todos los ceros a la izquierda que tengas.
EDIT: Estoy casi seguro que tu problema es que estas poniendo la dirección en octal, y de igual manera escribirá en la memoria del proceso solo que en una dirección que no quieres escribir. Código Título: Re: problemas al intentar reemplazar string en la memoria. Publicado por: Eternal Idol en 26 Noviembre 2011, 23:57 pm En PC las direcciones se anotan en hexadecimal casi siempre, 0x405254 en este caso.
Título: Re: problemas al intentar reemplazar string en la memoria. Publicado por: Destro- en 27 Noviembre 2011, 01:52 am Ahora no escribe en la memoria :\.
Error 998 El acceso a la dirección de memoria no es válido. Gracias :). Título: Re: problemas al intentar reemplazar string en la memoria. Publicado por: Unbr0ken en 27 Noviembre 2011, 06:55 am Copia la dirección que estás intentando escribir, busca algún debugger o programa para mostrar la memoria de un proceso y dirígete a esa parte, entonces mira las banderas de acceso y revisa si tiene datos esa dirección.
Título: Re: problemas al intentar reemplazar string en la memoria. Publicado por: Eternal Idol en 27 Noviembre 2011, 11:40 am Tenes que llamar a VirtualProtectEx para darte permisos de escritura.
Título: Re: problemas al intentar reemplazar string en la memoria. Publicado por: Unbr0ken en 27 Noviembre 2011, 11:41 am Tenes que llamar a VirtualProtectEx para darte permisos de escritura. Que directo tío xDDDDDDDDDDDDDDDDD. Título: Re: problemas al intentar reemplazar string en la memoria. Publicado por: Destro- en 27 Noviembre 2011, 15:43 pm ok,en un rato pruebo y les cuento,gracias :).
Título: Re: problemas al intentar reemplazar string en la memoria. Publicado por: Destro- en 29 Noviembre 2011, 00:10 am we,no lo pudo hacer ;(.
esto es lo ultim que probe (probe como 20 cosas mas u.u). Código: int main() Título: Re: problemas al intentar reemplazar string en la memoria. Publicado por: Eternal Idol en 29 Noviembre 2011, 01:10 am ¿Te fijaste que devuelve VirtualProtectEx? En la MSDN dice expresamente:
lpflOldProtect [out] A pointer to a variable that receives the previous access protection of the first page in the specified region of pages. If this parameter is NULL or does not point to a valid variable, the function fails. ¿1|2? ¿Que intentabas hacer con esa mascara? ¿PAGE_NOACCESS y PAGE_READONLY? Deberias pasarle PAGE_READWRITE. Título: Re: problemas al intentar reemplazar string en la memoria. Publicado por: Destro- en 29 Noviembre 2011, 02:39 am Ahora me fijo.Eso de 1|2 fue lo ultimo que probe xd,lo saque de un modulo de amxmodx que escribe/lee datos en la memoria del motor del juego.
@EDIT Hay anda :),gracias idolo :P. Título: Re: problemas al intentar reemplazar string en la memoria. Publicado por: Eternal Idol en 29 Noviembre 2011, 08:59 am De nadas ::)
|