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...
BYTE tmp[50];
ReadProcessMemory(hProcess,(LPCVOID)(0x123456), &tmp, 50, 0);
Supuse que para pasarlo a memcopy seria algo asi:
memcpy (&tmp, (PVOID)(0x123456), 50);
Pero me crashea constantemente...
Alguna idea? Gracias y saludos!
Cita de: 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...
BYTE tmp[50];
ReadProcessMemory(hProcess,(LPCVOID)(0x123456), &tmp, 50, 0);
Supuse que para pasarlo a memcopy seria algo asi:
memcpy (&tmp, (PVOID)(0x123456), 50);
Pero me crashea constantemente...
Alguna idea? Gracias y saludos!
memcpy (
&tmp, (PVOID)(0x123456), 50);
x64Core gracias por tu respuesta, ahora no crashea pero no me copia nada...
Sera porque el STRING puede que sea unicode?
memcpy (tmp, (PVOID)(0x123456), 50);
Si intento con wmemcpy, como sería? Asi no me funciona:
wmemcpy (tmp, (PVOID)(0x123456), 50);
Saludos y gracias!
Cita de: 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?
memcpy (tmp, (PVOID)(0x123456), 50);
Si intento con wmemcpy, como sería? Asi no me funciona:
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.