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

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


+  Foro de elhacker.net
|-+  Sistemas Operativos
| |-+  Windows
| | |-+  ¿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 614 veces)
marax

Desconectado Desconectado

Mensajes: 189


Women; an alias for "Fully-automatic weapon."


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

"Durante diez años has venido a mi cueva: estarías harto de tu luz y de este camino sin mí, sin mi águila y sin mi serpiente."
Randomize
Colaborador
***
Desconectado Desconectado

Mensajes: 20.000


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

marax

Desconectado Desconectado

Mensajes: 189


Women; an alias for "Fully-automatic weapon."


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

"Durante diez años has venido a mi cueva: estarías harto de tu luz y de este camino sin mí, sin mi águila y sin mi serpiente."
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

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