Ensamblador - Leer eip y eflags?

 
Vista:

Leer eip y eflags?

Publicado por pernoctador (2 intervenciones) el 31/10/2014 02:02:11
Buenos días a todos :)

Estoy haciendo unas cosas horribles (bueno, no tanto) como imprimir un pequeño informe de los registros cuando salta una exepcion (assembler intel, estoy escribiendo/leyendo con permisos de nivel 0). El tema es que quiero imprimir entre otras cosas eip, eflags, cs, ds, es, ss, fs, etc.

La pregunta es: ¿Como leo eip y eflags? Obviamente mov eax, eip tira error "error: symbol `eip' undefined", y lo mismo con eflags
Tampoco se me ocurre como pasarlos a memoria, ya que son registros (pense en la tss pero va a tener un eip/eflags q no tiene porque coincidir con el que hay al momento de exepcion)

Bueno.. ideas? sugerencias? ayuda! :)
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Leer eip y eflags?

Publicado por Messias (2 intervenciones) el 11/11/2014 08:22:19
estas en nivel kernel dices o en nivel 3?

si es 3 puedes instalar un manejador global de excepciones para tu programa usando AddVectoredExceptionHandler y cuando suceda una excepcion el manejador te dará toda la información como el eip, los flags, etc.

si es a nivel kernel en windows, pues debe haber una función similar, pero no se cual es, podrías empezar viendo como AddVectoredExceptionHandler maneja las excepciones en su codigo y ver a que funciones llama a nivel 0.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Leer eip y eflags?

Publicado por pernoctador (2 intervenciones) el 11/11/2014 15:30:20
estoy en nivel 0, pero me interesaba la respuesta general :P
Voy a buscar ese manejador de exepciones :)

En cuanto a hacerlo a nivel 0, hacerlo con exepciones supongo que seria usando traps y int3, aunq puedo errarle. Estoy intentando armarlo cambiando de tarea y llendo a buscar la tss, pero suena mas facil de lo que es

Gracias :)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar