Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: Cromatico en 24 Mayo 2014, 01:41 am



Título: readprocessmemory to memcopy
Publicado por: Cromatico en 24 Mayo 2014, 01:41 am
Hola compañeros, estoy teniendo un problema...
Yo usaba readprocessmemory para obtener un STRING de un proceso, ahora me inyecto al proceso, asi que quiero utilizar memcpy y hacerlo solo en una linea sin hProcess...

Leía un String de 50...

Código:
BYTE tmp[50];
ReadProcessMemory(hProcess,(LPCVOID)(0x123456), &tmp, 50, 0);

Supuse que para pasarlo a memcopy seria algo asi:
Código:
memcpy (&tmp, (PVOID)(0x123456), 50);

Pero me crashea constantemente...

Alguna idea? Gracias y saludos!


Título: Re: readprocessmemory to memcopy
Publicado por: x64core en 24 Mayo 2014, 03:57 am
Hola compañeros, estoy teniendo un problema...
Yo usaba readprocessmemory para obtener un STRING de un proceso, ahora me inyecto al proceso, asi que quiero utilizar memcpy y hacerlo solo en una linea sin hProcess...

Leía un String de 50...

Código:
BYTE tmp[50];
ReadProcessMemory(hProcess,(LPCVOID)(0x123456), &tmp, 50, 0);

Supuse que para pasarlo a memcopy seria algo asi:
Código:
memcpy (&tmp, (PVOID)(0x123456), 50);

Pero me crashea constantemente...

Alguna idea? Gracias y saludos!
memcpy (&tmp, (PVOID)(0x123456), 50);


Título: Re: readprocessmemory to memcopy
Publicado por: Cromatico en 24 Mayo 2014, 19:26 pm
x64Core gracias por tu respuesta, ahora no crashea pero no me copia nada...
Sera porque el STRING puede que sea unicode?

Código:
memcpy (tmp, (PVOID)(0x123456), 50);

Si intento con wmemcpy, como sería? Asi no me funciona:
Código:
wmemcpy (tmp, (PVOID)(0x123456), 50);

Saludos y gracias!


Título: Re: readprocessmemory to memcopy
Publicado por: x64core en 24 Mayo 2014, 19:45 pm
x64Core gracias por tu respuesta, ahora no crashea pero no me copia nada...
Sera porque el STRING puede que sea unicode?

Código:
memcpy (tmp, (PVOID)(0x123456), 50);

Si intento con wmemcpy, como sería? Asi no me funciona:
Código:
wmemcpy (tmp, (PVOID)(0x123456), 50);

Saludos y gracias!
sea unicode o no eso a la hora de copiar no importa son simplemente bytes en todos los casos
lo que te refieres quizas es a la hora de representarlos o mostrarlos de alguna manera lo mejor seria saber
si es UNICODE o ASCII simplemente abrir el proceso con algun virtualizador por ejemplo cheat engine vas a dirección de memoria
y compruebas luego en código validas la longitud con wcslen/strlen luego copias wcscpy/strcpy.