Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - Usuario887

#321
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 (asm) [Seleccionar]
mov al, [0b]

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

Código (asm) [Seleccionar]
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.
#322
Gracias por sus respuestas.
#323
Cita de: @XSStringManolo en  8 Agosto 2020, 18:12 PMUsa libros, son mejores que los cursos.

Like.

Cita de: BlowFlow04 en 27 Julio 2020, 15:09 PMaprender a programar con C++

Incluso mas eficiente que los libros, es que programes. Aprendes mejor programando que aprendiendo. Por ejemplo, ¿sabrias hacer el sistema operativo de un cajero? si la respuesta es no ¿por que no lo intentas? lograrlo implicaria conocer estructuras de datos, listas enlazadas, entre otras cosas interesantes. Si lo logras, entonces plantea un sistema para guardar en el disco los datos de los usuarios del cajero (si lo haces multi-usuario), tal vez con algo de alineamiento o criptografia... depende de tu creatividad aunque, claro, no te apures.

Saludos.
#324
Cita de: MCKSys Argentina en 20 Agosto 2020, 20:54 PM
Creo que se refiere al Integrity Level. Lo ideal es correr como High (Administrator) o System.

Bien, pero supone que tales procesos no tienen el mismo nivel de privilegio, ¿que es exactamente lo que evita que se acceda a la memoria? ¿algun algoritmo especifico en la deduccion de la direccion?
#325
Cita de: FFernandez en 20 Agosto 2020, 14:51 PM
El evento que produce tu instrucción, al escribir en una dirección de memoria  asignada a otra aplicación.

Para ser exacto, ese mismo evento es el que intento deducir.

Cita de: FFernandez en 20 Agosto 2020, 14:51 PM
Normalmente elevando tus permisos, podras hacerlo, pero la aplicacion de destino tambien puede
capturar dicho evento. y ?¿?¿?¿?¿

¿con elevando tus permisos te refieres a elevar el nivel de privilegio? porque yo hablo de dos procesos con el mismo nivel de privilegio (ring3).
#326
Windows / Acceso a memoria de otros procesos.
18 Agosto 2020, 18:29 PM
Hola,
Segun entiendo, la memoria se divide en los segmentos que describe la GDT y en ellos los desplazamientos que se especifican en la PDE y respectivas PTEs pero si, por ejemplo, un proceso A tiene asignado el segmento 0001 en la GDT mapeado como datos/lectura-escritura, y un proceso B accede a la dirrecion 0001:0  con intencion de escribir, ¿que lo detiene, si el DPL del proceso B es el mismo cual del proceso A?, quiero decir, ¿como el sistema operativo detecta un acceso a memoria que no corresponde a su memoria, si es un acceso a memoria al fin y al cabo? ¿hace el sistema operativo pruebas en cada acceso a memoria?

Saludos.
#327
Cita de: EdePC en  9 Agosto 2020, 17:52 PMEn Windows 10 he tenido problemas con la instalación de las herramientas, pero puedo preparar un portable y subir el curso original, dame una hora y lo preparo

Muchas gracias. Estaba buscando algo asi desde hace bastante aunque no se me habia ocurrido mencionarlo en el foro.

Gracias por tu respuesta y por tu esfuerzo. Saludos.
#328
Hola, me preguntaba si alguien conoce algun emulador parecido al conocido emu8086 de la arquitectura IA-32, ya que lo he estado buscando, sin embargo no encuentro mas que maquinas virtuales, cuando yo busco algo mas orientado a la depuracion y la versatilidad que ofrece esta herramienta.

Gracias de antemano y saludos.
#329
Otra buena razon para hacer un backup semanal.
#330
Cita de: BloodSharp en  7 Agosto 2020, 18:46 PM
Lo que hace es obtener el puntero a la estructura de IDT y luego añadir el offset de la interrupción deseada (HookExceptionNumber) para llegar a la subestructura de la interrupción.

Claro... pero, ¿no te paree curioso que añada 4 sin razon alguna?:
Código (asm) [Seleccionar]
add ebx, HookExceptionNumber*08h+04h
Tienes la base de la IDT en EBX. Le sumas cuantas IDTs hayan en el camino hasta el descriptor objetivo (cuantia que se expresa como HookExceptionNumber*8) y ya esta; no es necesario sumar 4. A partir de aqui comienza mi confusion.

Saludos.