Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: CCCoder en 6 Diciembre 2013, 07:02 am



Título: ¿Cómo puedo encontrar el TAMAÑO de una dirección de memoria de otro proceso?
Publicado por: CCCoder en 6 Diciembre 2013, 07:02 am
Hola usuario,
El actual problema que tengo es que no sé como saber el tamaño de la direccion de memoria de otro proceso.
El Cheat Engine (CE) te señaliza que tipo de dato es (2/4/8Byte). Me podrían decir como calcular eso?... He escuchado de HeapSize con CreateHeap y VirtualAllocEx(Este queda descartado, porque lo reserva y lo inicializa a cero.)

Saludos,
Espero sus respuestas.


EDIT----

Posible Soluciòn
Código:
DWORD N;
DWORD ByteT;
HWND hWnd = FindWindowA(0, "Buscaminas");
DWORD PID;
GetWindowThreadProcessId(hWnd,&PID);
HANDLE proceso = OpenProcess(PROCESS_ALL_ACCESS, false, PID);
ReadProcessMemory(proceso,(LPCVOID)0x000102C2, &N, sizeof(N), &ByteT);
printf("%d",ByteT);

Porque siempre me devuelve 4..
Creo que es porque sizeof(DWORD)=4 bytes.
Como halarrìan el tamaño de bytes de la direccion 0x000102C2 que es 2 bytes?


Título: Re: ¿Cómo puedo encontrar el TAMAÑO de una dirección de memoria de otro proceso?
Publicado por: ivancea96 en 6 Diciembre 2013, 11:29 am
Mira, la memoria no tiene un tamaño fijo. Es el programa que lo lee con un tamaño específico.

Una dirección: F5 26 AB CB

Se puede leer como entero, y leemos todo.
Se puede leer como string, y leemos (F5) (26) (AB) (CB). (Cada byte un caracter)
Se puede leer como coma flotante.
Se puede leer como double? También, pero para ello, habría que coger 4 bytes más.

Con el CE, puedes ver quién lee de esa memoria. Sabiendo quién lee, sabrás lo que es. Recuerda, que el CE puede leer una misma dirección de memoria como tipo de dato que tú le digas.

En definitiva, no hay una regla (que yo sepa), que te diga cómo se lee cada dirección.

Suerte


Título: Re: ¿Cómo puedo encontrar el TAMAÑO de una dirección de memoria de otro proceso?
Publicado por: CCCoder en 6 Diciembre 2013, 19:20 pm
O sea que los tipos de dato que sale en el cheat engine cuando selecciones un ADDRESS es aletorio? No lo creo...


Título: Re: ¿Cómo puedo encontrar el TAMAÑO de una dirección de memoria de otro proceso?
Publicado por: ivancea96 en 6 Diciembre 2013, 20:24 pm
Nunca en mi vida vi un tipo aleatorio en el Cheat Engine.
Tú eliges el tipo siempre.