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

 

 


Tema destacado: Tutorial básico de Quickjs


+  Foro de elhacker.net
|-+  Sistemas Operativos
| |-+  Windows (Moderador: Randomize)
| | |-+  ¿como Windows detecta fallos de alineamiento?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: ¿como Windows detecta fallos de alineamiento?  (Leído 2,584 veces)
Usuario887


Desconectado Desconectado

Mensajes: 310


Ver Perfil
¿como Windows detecta fallos de alineamiento?
« en: 24 Agosto 2020, 23:56 pm »

Como los accesos a memoria pueden ser de 8, 16 y 32 bits, y una direccion limite es especifica, podria establecerse, para un programa:

direccion base de su unica pagina (usando este modelo descriptivo de paginacion): 0
direccion limite: 0a

Si, por ejemplo, un programa accede, de esta forma, al byte que se encuentra en la direccion de memoria 0b:

Código
  1. mov al, [0b]

El sistema operativo pude indentificar que es un acceso a memoria ilegal. Sin embargo, ¿y en este caso?:

Código
  1. mov eax, [08]

Se esta accediendo a la direccion 0b, sin embargo, la direccion que se esta especificando es 08. Se que Windows detecta este acceso a memoria ilegal porque lo acabo de intentar, sin embargo, ¿alguien sabe como lo hace? se que nadie es ingeniero de Microsoft pero me pregunto si existe una aplicacion general en sistemas operativos y asi...

Saludos y gracias de antemano por la respuesta.


En línea

Randomize
Moderador
***
Desconectado Desconectado

Mensajes: 20.599


Beautiful Day


Ver Perfil
Re: ¿como Windows detecta fallos de alineamiento?
« Respuesta #1 en: 26 Septiembre 2020, 17:17 pm »

¿Te has fijado como cuando iniciamos una aplicación por segunda vez ésta va más rápida que en la primera vez?

Se guardan espacios de memoria y se vuelven a leer, todo eso según tú es ilegal, hay que joderse...


¡Qué le vamos a hacer!


En línea

Usuario887


Desconectado Desconectado

Mensajes: 310


Ver Perfil
Re: ¿como Windows detecta fallos de alineamiento?
« Respuesta #2 en: 3 Diciembre 2020, 13:00 pm »

Hola, Randomize. Gracias por tu respuesta, pero no has entendido mi pregunta:

Imagina que la quanta de datos de un sistema son 32 bits (quiero decir, imagina la realidad actual para la arquitectura x86).

Ahora, imagina que a partir de la direccion de memoria 10, el programa en cuestion estaria accediendo a una parte ilegal de la memoria. Sin embargo, si haces un acceso de tipo DWORD (32 bits y en Windows) en la direccion de memoria 0f, estarias accediendo a 0f, 10, 11 y 12, sin embargo, el acceso se esta especifcando como un acceso a 0f, una direccion legal de memoria.

¿como el Memory Management de Windows deduce que a partir de 0f, el acceso de un DWORD seria ilegal? Es una deduccion inteligente, y Windows es un sistema mecanico.

Saludos.
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