¿Dónde apunta el SEH handler con SAFESEH?

Iniciado por Lodos76, 21 Julio 2014, 21:44 PM

0 Miembros y 1 Visitante están viendo este tema.

Lodos76

Buenos días.

Cuando se compila el propio ejecutable con SAFESEH, entonces el SEH handler de las excepciones que programamos no pueden apuntar al propio ejecutable (ha sido compilado con SAFESEH), pero si el SEH handler y el SEH chain son punteros, entonces, en una ejecución normal de cualquier programa, ¿dónde apunta el SEH handler? La cuestión es esa, que apunta al propio ejecutable y NO se puede.

Muchas gracias ;).

MCKSys Argentina

Hasta donde entiendo, cuando compilas con SAFESEH, el compilador crea una tabla con todos los SEH chains que has declarado en tu codigo.

Luego, si ocurre una excepcion que tenga SEH, el SO comprobara que la direccion del SEH Handler al momento de la excepcion, este en la tabla creada. Si no esta, entonces no ejecutara el SEH handler.

Esto previene los exploits que sobreescriben el SEH handler.

Saludos!

EDIT: La tabla que te menciono, esta en tu exe.
MCKSys Argentina

"Si piensas que algo está bien sólo porque todo el mundo lo cree, no estás pensando."