Español | English
rss facebook linkedin Twitter

Si no quieres caldo...

N.A.: Para quién se perdiera el capítulo anterior puede ser interesante leer la entrada de hace unos meses.

Siguiendo con nuestro afán normalizador de la documentación de Microsoft (nótese el énfasis sarcástico) voy a contar el problemilla que tuve unos días atrás.

Me encontraba arreglando unos temas de un objeto WebBrowser, para ello necesitaba modificar el evento FileDownload, la sintaxis de dicho evento según la documentación oficial de Microsoft es la siguiente:



Como se puede apreciar al manejador de dicho evento se le envían 2 parámetros, concretamente 2 punteros a VARIANT_BOOL, uno indica si el documento es un documento activo (¿vida propia?) y el otro se utiliza para cancelar la aparición de la ventana de diálogo de descarga de ficheros.

En realidad ya estábamos utilizando el evento FileDownload pero sólo para cancelar la ventana de diálogo de fichero y ahora queríamos ver si el documento que generaba el evento era activo o no.

Bien, una vez visto esto activamos la visualización del valor de los parámetros, lo probamos y siempre que se recibía el evento FileDownload nos saltaba una excepción.

¿Qué ocurría? No lo sabíamos pero en lugar de empezar a desensamblar con nuestro querido IDA (como hicimos en la vez anterior) optamos por utilizar la herramienta que viene con el entorno Visual Studio llamada oleview.exe.

Veamos que nos dice oleview.exe sobre el evento FileDownload:


¡Vaya! Resulta que FileDownload sólo contempla el parámetro de Cancelación...

Buscando en Google encontré que a la gente de 48bits le ocurrió algo muy parecido. ¡Menos mal! Pensaba que sólo me pasaba a mí (de nuevo énfasis sarcástico).


Hasta la siguiente taza...

Alfredo Andrés

S21Sec Labs

(+34 902 222 521)


24 horas / 7 días a la semana



© Copyright S21sec 2013 - Todos los derechos reservados


login