Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: Fixxed en 10 Agosto 2015, 01:56 am



Título: Strings en C++
Publicado por: Fixxed en 10 Agosto 2015, 01:56 am
Bueno, estaba tratando de hacer una .dll para modificar la memoria de un programa. Hasta que me tope con la siguiente duda.

Como hago para modificar una dirección de memoria que aloja un string? Para modificar enteros usaba esto:

*(DWORD*)(0x4D2E17) = 2;

Pero no encuentro que poner para un string. Probé de mil formas y me arroja error al compilar.

Como sería?


Título: Re: Strings en C++
Publicado por: ivancea96 en 11 Agosto 2015, 22:20 pm
Un entero tiene un tamaño fijo (4 bytes, por ejemplo). Pero una string, una de dos: o acaba con el caracter nulo '\0', o guarda su tamaño en otro lugar. Eso para saber el tamaño.

Si ya sabes el tamaño, pues:

Código
  1. char *cadena = (char*)(0x4D2E17);
  2. cadena[0] = 'a';
Bueno, y a partir de la segunda línea ya haces lo que quieras.