elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Curso de javascript por TickTack


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  ¿Cómo puedo encontrar el TAMAÑO de una dirección de memoria de otro proceso?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: ¿Cómo puedo encontrar el TAMAÑO de una dirección de memoria de otro proceso?  (Leído 2,625 veces)
CCCoder

Desconectado Desconectado

Mensajes: 7


Ver Perfil
¿Cómo puedo encontrar el TAMAÑO de una dirección de memoria de otro proceso?
« 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?


« Última modificación: 6 Diciembre 2013, 08:29 am por CCCoder » En línea

ivancea96


Desconectado Desconectado

Mensajes: 3.412


ASMático


Ver Perfil WWW
Re: ¿Cómo puedo encontrar el TAMAÑO de una dirección de memoria de otro proceso?
« Respuesta #1 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


En línea

CCCoder

Desconectado Desconectado

Mensajes: 7


Ver Perfil
Re: ¿Cómo puedo encontrar el TAMAÑO de una dirección de memoria de otro proceso?
« Respuesta #2 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...
En línea

ivancea96


Desconectado Desconectado

Mensajes: 3.412


ASMático


Ver Perfil WWW
Re: ¿Cómo puedo encontrar el TAMAÑO de una dirección de memoria de otro proceso?
« Respuesta #3 en: 6 Diciembre 2013, 20:24 pm »

Nunca en mi vida vi un tipo aleatorio en el Cheat Engine.
Tú eliges el tipo siempre.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines