De Wikipedia, la enciclopedia libre
Saltar a navegación Saltar a búsqueda

Windows Metafile ( WMF ) es un formato de archivo de imagen diseñado originalmente para Microsoft Windows en la década de 1990. El formato de metarchivo de Windows original no era independiente del dispositivo (aunque podría hacerse más con los encabezados de ubicación) y puede contener tanto gráficos vectoriales como componentes de mapa de bits . Actúa de manera similar a los archivos SVG . Los archivos WMF fueron reemplazados más tarde por Metarchivos mejorados (archivos EMF) que proporcionaron independencia del dispositivo. Los archivos EMF se mejoraron a través de archivos EMF + .

Básicamente, un metarchivo almacena una lista de registros que consta de comandos de dibujo, definiciones de propiedades y objetos gráficos para mostrar una imagen en la pantalla. [1] Los comandos de dibujo utilizados están estrechamente relacionados con los comandos de la API de interfaz de dispositivo gráfico (GDI) que se utiliza para dibujar en Microsoft Windows.

Hay tres tipos principales de metarchivos: un WMF es un formato de 16 bits introducido en Windows 3.0 . Es el formato vectorial nativo para aplicaciones de Microsoft Office como Word , PowerPoint y Publisher . A partir de 2017, la revisión 14 de la especificación del formato de metarchivo de Windows está disponible para lectura en línea o descargar como PDF. [2] Los archivos EMF, que reemplazaron a los archivos WMF, funcionan con el mismo principio, solo que es un formato de archivo de 32 bits que también permite la incrustación de datos privados dentro de los registros de "comentarios". [3]EMF + es una extensión de los archivos EMF y está incrustado en estos registros de comentarios, lo que permite imágenes y texto utilizando comandos, objetos y propiedades similares a Windows GDI + . [4]

Historia [ editar ]

El formato de archivo WMF original de 16 bits se especificó completamente en el volumen 4 de la documentación del SDK de Windows 3.1 de 1992 [5] (al menos si se combina con las descripciones de las funciones y estructuras individuales en los otros volúmenes), pero esa especificación era vaga sobre un pocos detalles. Estos manuales se publicaron como libros impresos disponibles en las librerías sin hacer clic en el CLUF u otras restricciones de licencia inusuales (solo una advertencia general de que si se compra como parte de un paquete de software, el software estaría sujeto a una).

Con el tiempo, la existencia de esa especificación histórica se olvidó en gran medida y algunas implementaciones alternativas recurrieron a la ingeniería inversa para averiguar el formato de archivo a partir de archivos WMF existentes, lo cual era difícil y propenso a errores. [6] En septiembre de 2006, Microsoft volvió a publicar la especificación del formato de archivo WMF en una forma más completa [7] en el contexto de Microsoft Open Specification Promise , prometiendo no hacer valer los derechos de patente a los implementadores del formato de archivo. [8]

Más tarde, Microsoft dejó de lado los archivos WMF en favor de los archivos EMF de 32 bits, ya que los archivos WMF tenían problemas reales con la independencia del dispositivo, a pesar del uso de un encabezado de archivo "ubicable" que proporcionaba una independencia básica del dispositivo. Microsoft descubrió que los desarrolladores que usaban el formato estaban "[incrustando] comentarios de aplicación, ubicación o escalado en los metarchivos ... Otros agregaron encabezados al metarchivo que proporcionaban información específica de la aplicación", lo que provocaba importantes problemas de compatibilidad. [9] Así, en 1992 con Windows NT 3.1 , Microsoft introdujo el formato de metarchivo mejorado (EMF) [10] , un formato que se basaba en la API de Win32 y con el que incorporaron la independencia del dispositivo. [11] [9]- estos también se conocen como metarchivos NT. [12] Con el lanzamiento de Windows XP y GDI +, el conjunto de registros tuvo que incrementarse significativamente y, por lo tanto, Microsoft lanzó EMF + como una extensión del formato de archivo EMF existente. [10] [13]

Estructura de metarchivo [ editar ]

Comparación de metarchivos de Windows: tenga en cuenta que los archivos WMF pueden incluir registros EMF +

Los archivos WMF, EMF y EMF + consisten en una serie de registros que se reproducen para producir una salida gráfica. Algunos registros definen objetos que pueden especificar objetos gráficos utilizados para determinar cómo se deben dibujar los gráficos (por ejemplo, los bolígrafos especifican el color y el ancho de las líneas). Cada uno de estos objetos se almacena en metarchivos y se coloca en una tabla de objetos, que rastrea el uso de objetos gráficos mientras procesa el metarchivo. La tabla de objetos es una matriz asociativa de índices a estructuras de objetos gráficos definidas dentro del metarchivo.

Los archivos WMF y EMF manejan el procesamiento de objetos de manera diferente a los registros EMF + en archivos EMF. A medida que se procesa un archivo WMF y EMF, los registros se leen en una tabla de objetos una vez que se define un objeto. Si se elimina un objeto, el objeto se libera de la tabla y el identificador se puede reutilizar. En particular, un objeto no se utilizará hasta que se seleccione específicamente durante la reproducción de la grabación. [14] [15] Esto es diferente para los archivos EMF +, que también usan una matriz asociativa a través de un mapa de hash.que registra el objeto junto con un identificador de objeto. Sin embargo, a diferencia de los archivos WMF y EMF que pueden eliminar un objeto, cuando se crea un nuevo objeto que tiene el mismo índice que un objeto existente, la entrada en la tabla se reemplaza con el nuevo objeto. Un archivo EMF tampoco necesita seleccionar específicamente un objeto antes de su uso. [dieciséis]

WMF [ editar ]

Estructuras de metarchivos de Windows originales y colocables [17]

Los archivos WMF no se diseñaron originalmente para ser independientes del dispositivo, lo que significa que no se puede reproducir el archivo en dispositivos de salida que difieran del dispositivo original en el que se grabó el archivo. Aldus Corporation inventó una solución parcial a este problema , quien agregó un encabezado "ubicable" adicional, llamado "encabezado APM", [18] que agregó un rectable delimitador, una versión de metarchivo, tamaño de metarchivo, número de objetos en el metarchivo y el tamaño del registro individual más grande del metarchivo. [19] [20] Posteriormente, Microsoft lo incorporó al formato WMF, a partir de Windows 2000. [21]

Los archivos WMF están estructurados por una serie de registros, comenzando con un número de registros de control: el registro de encabezado, [19] [22] el registro colocable opcional antes mencionado, [23] y terminan con un registro de fin de archivo . [19] [24]

Encapsulados por los registros de control están los registros que componen la propia imagen. Estos registros funcionan dentro de lo que se conoce como el contexto del dispositivo de reproducción , que es la colección de propiedades y objetos que componen el entorno gráfico de un dispositivo mientras el metarchivo se "reproduce" en este dispositivo de salida. [25]

Los registros que no sean de control se pueden agrupar en gran medida en registros de mapa de bits, registros de dibujo, registros de objetos, registros de estado y registros de escape.

Registros de mapa de bits [ editar ]

Los registros de mapa de bits administran y generan imágenes de mapa de bits .

Dibujar registros [ editar ]

Los registros de dibujo producen una salida de gráficos.

Registros de objetos [ editar ]

Los registros de objetos crean y administran objetos gráficos. En los archivos WMF hay dos categorías amplias de objetos: objetos gráficos y objetos de estructura. Los objetos de estructura no se crean ni eliminan explícitamente en un WMF, sino que son estructuras complejas. Por ejemplo, BitmapCoreHeader contiene información sobre las dimensiones y el formato de color de un mapa de bits independiente del dispositivo, [52] que es en sí mismo parte de un objeto DeviceIndependentBitmap. [53] Un objeto gráfico, sin embargo, especifica parámetros para la salida de gráficos y durante la reproducción del WMF configura el contexto del dispositivo de reproducción. [54]

Los objetos gráficos pueden ser pinceles (define el estilo, color y patrón de un pincel que define cómo pintar un área del gráfico), fuentes (define propiedades que afectan cómo se muestra el texto), paletas (especifica colores como valores independientes del dispositivo, definido por una aplicación), bolígrafos (especifica los atributos gráficos de una línea) y regiones (que especifican segmentos de línea y curva que definen una forma). [54]

Registros estatales [ editar ]

Los registros de estado administran las propiedades gráficas del contexto del dispositivo de reproducción. [67]

Registros de escape [ editar ]

Registro de escape genérico de WMF

Los registros de escape son un medio para ampliar la funcionalidad de metarchivo a través de registros que no se definen de otra manera como un tipo de registro WMF. Cada registro de escape contiene una función de registro, una función de escape y potencialmente datos de escape.

Los siguientes registros de escape forman un archivo WMF.

Se encontró una vulnerabilidad importante en los registros de escape en torno al registro de escape Abort, que almacena el código del procedimiento de aborto dentro del propio registro. Esto afectó a los sistemas Windows (ver CVE - 2005-4560 ) y al proyecto Wine (ver CVE - 2006-0106 ). Según Secunia , "La vulnerabilidad se debe a un error en el manejo de archivos de metarchivo de Windows ('.wmf') que contienen registros SETABORTPROC 'Escape' especialmente diseñados. Estos registros permiten que se ejecute una función arbitraria definida por el usuario cuando se procesa falla un archivo WMF ". [142]Según la documentación del SDK de Windows 3.1, el escape SETABORTPROC quedó obsoleto y fue reemplazado por la función del mismo nombre en Windows 3.1, mucho antes de que se descubriera la vulnerabilidad de WMF. [143] Sin embargo, el código de escape obsoleto se retuvo por compatibilidad con programas de 16 bits escritos para (o al menos compatibles con versiones anteriores) Windows 3.0. Este cambio ocurrió aproximadamente al mismo tiempo que Microsoft estaba creando la reimplementación de 32 bits de GDI para Windows NT, y es probable que la vulnerabilidad se haya producido durante este esfuerzo.

Después de que Steve Gibson de Gibson Research Corporation acusó a Microsoft de implementar deliberadamente una puerta trasera en su código, [144] [145] Mark Russinovich proporcionó una refutación y declaró que:

... las cosas eran diferentes cuando se diseñó el formato. En el modelo de memoria "grande" de Windows 3.1, el código es intrínsecamente independiente de la ubicación y Windows nunca fue parcheado, por lo que tanto Windows como una aplicación podrían simplemente copiar una función de la aplicación en el archivo WMF y asumir que funcionaría cuando la misma aplicación la reproduzca en una sesión de ejecución posterior. En cualquier caso, no está claro que los desarrolladores imaginaran aplicaciones creando metarchivos en disco con procedimientos de cancelación. Además, como Stephen Toulouse de Microsoft señaló en la refutación de Microsoft a las afirmaciones de Steve, el panorama de seguridad a principios de la década de 1990 era muy diferente al actual y todo el código, incluido el almacenado en un archivo WMF, era de confianza inherente. [146]

Peter Ferrie de Symantec Security Response, EE. UU. También estuvo en desacuerdo con Gibson y señaló que:

Gibson afirmó que se crea un hilo para ejecutar el controlador SetAbortProc. De hecho, no se crea ningún hilo para ejecutar el controlador: es una devolución de llamada, que es llamada por el analizador, y el analizador tiene que esperar hasta que la devolución de llamada regrese, de lo contrario, se pierde todo el punto de la función (para abortar la impresión). . Por su propia admisión, Gibson no leyó la documentación (de hecho, afirmó que no pudo encontrarla, aunque está disponible gratuitamente en el sitio web de Microsoft), y afirmó que el contexto del dispositivo no está disponible para el controlador de funciones. . Por supuesto, el contexto del dispositivo está disponible para el manejador de funciones; es uno de los dos parámetros que se le pasa (ver arriba), y es necesario para abortar la impresión. Finalmente, Gibson afirmó que el flujo de control no podía regresar a Windows.Es simplemente una cuestión de que la función devuelva y descarte los parámetros que se pasaron a la pila. Si el registro está bien formado, Windows continuará analizando el archivo, como antes. ... Gibson admite que estaba adivinando varias cosas. Desafortunadamente, adivinó mal. Supongo que ahora lo sabemos mejor.[147]

EMF [ editar ]

Encabezados de metarchivo mejorado de Windows

Los archivos EMF tienen tres versiones posibles de encabezados. Los encabezados originales son solo un contenedor para imágenes, la segunda y tercera versión encapsula el encabezado original y contiene un registro de formato de píxel y soporte para registros OpenGL, y la tercera versión encapsula la segunda extensión del encabezado y aumenta la precisión EMF y la escalabilidad de los EMF a medida que avanza. agrega la capacidad de medir distancias de superficies de dispositivos usando el sistema métrico. [148]

Cada encabezado EMF comienza con un registro EMR_HEADER y registra las propiedades relevantes del dispositivo en el que se grabó la imagen del metarchivo. El encabezado EMF original tiene un encabezado de 80 bytes y una cadena de descripción de longitud variable opcional. [149] Otros metarchivos contienen campos de extensión, que encapsulan el encabezado original. EmfMetafileHeaderExtension1es un registro que se inserta directamente después del encabezado EMF original, especifica si hay un descriptor de formato de píxel y el desplazamiento al objeto descriptor dentro del encabezado, así como un campo que especifica si existen registros OpenGL en el metarchivo. [150] El descriptor de formato de píxel especifica las capacidades de la superficie de dibujo y si un píxel está codificado en RGBA.o es un índice en una tabla de colores. [151] EmfMetafileHeaderExtension2 es un registro que se inserta directamente después del EmfMetafileHeaderExtension1registro y contiene dos campos con los valores X e Y para medir la superficie del dispositivo en micrómetros. [152]

Al igual que los archivos WMF, los registros se pueden clasificar por función; sin embargo, hay más tipos de registros en los archivos EMF que en los archivos WMF. Los registros se pueden clasificar como control, mapa de bits, recorte, comentario, dibujo, escape, creación de objetos, manipulación de objetos, OpenGL, paréntesis de ruta, registros de estado y transformación.

EMF + [ editar ]

Con el lanzamiento de Windows XP , se introdujo el formato Enhanced Metafile Format Plus Extensions (EMF +). EMF + proporciona una forma de serializar llamadas a la API de GDI + de la misma manera que WMF / EMF almacena las llamadas a GDI.

También hay versiones comprimidas de metarchivos de Windows conocidas como metarchivos de Windows comprimidos (WMZ) y metarchivos mejorados de Windows comprimidos (EMZ), [153] que son básicamente archivos WMF y EMF comprimidos con gzip correspondientemente.

Implementaciones [ editar ]

El formato WMF fue diseñado para ser ejecutado por la capa GDI de Windows con el fin de restaurar la imagen , pero como los archivos binarios WMF contienen la definición de las primitivas gráficas GDI que constituyen esta imagen, es posible diseñar bibliotecas alternativas que rendericen WMF binario. archivos o convertirlos a otros formatos gráficos.

Ver también [ editar ]

  • Posdata
  • Lenguaje de marcado de vectores (VML)
  • Gráficos vectoriales escalables (SVG)

Referencias [ editar ]

  1. ^ Formato de metarchivo de Windows (PDF) , Microsoft, p. dieciséis
  2. ^ "[MS-WMF]: formato de metarchivo de Windows" . MSDN . 2015-06-30 . Consultado el 26 de julio de 2015 .
  3. ^ [MS-EMF]: formato de metarchivo mejorado (PDF) , Microsoft, p. 17
  4. ^ [MS-EMFPLUS]: Formato de metarchivo mejorado más extensiones (PDF) , Microsoft, p. 19
  5. ^ Referencia de programadores de Microsoft Windows 3.1, Recursos del volumen 4, Microsoft Press 1992, ISBN 1-55615-494-1 , capítulo 3 págs. 21-45 
  6. ^ Caolan McNamara. "Referencia de metarchivo de ventana (wmf)" . Consultado el 1 de junio de 2008 . Estos códigos de operación no están implementados, por la razón que no sé cuáles son, no hay documentación conocida.
  7. ^ "[MS-WMF]: Especificación de formato de metarchivo de Windows" . Consultado el 1 de junio de 2008 .
  8. ^ "Promesa de especificación abierta de Microsoft" . Consultado el 1 de junio de 2008 .
  9. ^ a b Metarchivos mejorados en Win32 , Grupo de tecnología de red de desarrolladores de Microsoft, 10 de junio de 1993
  10. ↑ a b Leonard, Sean (septiembre de 2016). "Metarchivos de Windows" . Tipos de medios de imagen de Windows . IETF . pag. 1. doi : 10.17487 / RFC7903 . ISSN 2070-1721 . RFC 7903 . Consultado el 8 de febrero de 2020 . 
  11. ^ "EMF" , FileFormat , Aspose Pty Ltd , consultado el 20 de enero de 2020
  12. ^ Petzold, Charles (11 de octubre de 1994), "NT Metafiles and GDI Objects" , PC Magazine , págs. 343–347
  13. ^ Polyakov, Alex; Brusentsev, Vitaly (2005). Programación de gráficos con GDI + y DirectX . Publicación de lista A. pag. 68. ISBN 1-931769-39-7.
  14. ^ "3.1.4.1 Tabla de objetos WMF", [MS-WMF]: Formato de metarchivo mejorado (PDF) , Microsoft, p. 187
  15. ^ "3.1.1.1 Tabla de objetos EMF", [MS-EMF]: Especificación de formato de metarchivo de Windows (PDF) , Microsoft, p. 212-214
  16. ^ [MS-EMFPLUS]: Formato de metarchivo mejorado más extensiones (PDF) , Microsoft, págs. 204–205
  17. ^ "Figura 1: Estructuras de metarchivos de Windows originales y colocables", formato de metarchivo de Windows (PDF) , Microsoft, p. 17
  18. ^ Q66949: INFORMACIÓN: Funciones de metarchivo de Windows y metarchivos ubicables de Aldus , Microsoft - a través de KnowledgeBase Archive: un archivo de las primeras bases de conocimiento de Microsoft
  19. ^ a b c "1.3.1 Estructura de metarchivo", formato de metarchivo de Windows (PDF) , Microsoft, p. 17
  20. ^ "2.3.2.3 Registro META_PLACEABLE", formato de metarchivo de Windows (PDF) , Microsoft, p. 115
  21. ^ Formato de metarchivo de Windows (PDF) , Microsoft, p. 55, <55> Sección 2.3.2.3: Windows NT 3.1, Windows NT 3.5, Windows NT 3.51 y Windows 95: esta función no es compatible.
  22. ^ "2.3.2.2 Registro MTF_HEADERRECORD", formato de metarchivo de Windows (PDF) , Microsoft, p. 114
  23. ^ "2.3.2.2 Registro MTF_HEADERRECORD", formato de metarchivo de Windows (PDF) , Microsoft, p. 114
  24. ^ "2.3.2.1 Registro MTF_EOF", formato de metarchivo de Windows (PDF) , Microsoft, p. 114
  25. ^ "1.1 Glosario", [MS-WMF]: Especificación de formato de metarchivo de Windows (PDF) , Microsoft, p. 13 , consultado el 24 de enero de 2020
  26. ^ "2.3.1.1 Registro META_BITBLT", [MS-WMF]: Especificación de formato de metarchivo de Windows (PDF) , págs. 101-103 , consultado el 24 de enero de 2020
  27. ^ "2.3.1.2 Registro META_DIBBITBLT", [MS-WMF]: Especificación de formato de metarchivo de Windows (PDF) , Microsoft, p. 103-106 , consultado el 24 de enero de 2020
  28. ^ "2.3.1.3 Registro META_DIBSTRETCHBITBLT", [MS-WMF]: Especificación de formato de metarchivo de Windows (PDF) , Microsoft, p. 106-108 , consultado el 24 de enero de 2020
  29. ^ "2.3.1.4 Registro META_SETDIBTODEV", [MS-WMF]: Especificación de formato de metarchivo de Windows (PDF) , Microsoft, p. 108-109 , consultado el 24 de enero de 2020.
  30. ^ "2.3.1.5 Registro META_STRETCHBLT", [MS-WMF]: Especificación de formato de metarchivo de Windows (PDF) , Microsoft, p. 109-110 , consultado el 24 de enero de 2020
  31. ^ "2.3.1.6 Registro META_STRETCHDIB", [MS-WMF]: Especificación de formato de metarchivo de Windows (PDF) , Microsoft, p. 103-106 , consultado el 24 de enero de 2020
  32. ^ "2.3.3.1 Registro META_ARC", [MS-WMF]: Especificación de formato de metarchivo de Windows (PDF) , págs. 101-103 , consultado el 24 de enero de 2020
  33. ^ "2.3.3.2 Registro META_CHORD", [MS-WMF]: Especificación de formato de metarchivo de Windows (PDF) , págs. 117-118 , consultado el 24 de enero de 2020
  34. ^ "2.3.3.3 Registro META_ELLIPSE", [MS-WMF]: Especificación de formato de metarchivo de Windows (PDF) , p. 119 , consultado el 24 de enero de 2020
  35. ^ "2.3.3.4 Registro META_EXTFLOODFILL", [MS-WMF]: Especificación de formato de metarchivo de Windows (PDF) , págs. 119–120 , consultado el 24 de enero de 2020
  36. ^ "2.3.3.5 Registro META_EXTTEXTOUT", [MS-WMF]: Especificación de formato de metarchivo de Windows (PDF) , págs. 119–120 , consultado el 24 de enero de 2020
  37. ^ "2.3.3.6 Registro META_FILLREGION", [MS-WMF]: Especificación de formato de metarchivo de Windows (PDF) , p. 121 , consultado el 24 de enero de 2020
  38. ^ "2.3.3.7 Registro META_FLOODFILL", [MS-WMF]: Especificación de formato de metarchivo de Windows (PDF) , págs. 119–120 , consultado el 24 de enero de 2020
  39. ^ "2.3.3.8 Registro META_FRAMEREGION", [MS-WMF]: Especificación de formato de metarchivo de Windows (PDF) , págs. 122-123 , consultado el 24 de enero de 2020
  40. ^ "2.3.3.9 Registro META_INVERTREGION", [MS-WMF]: Especificación de formato de metarchivo de Windows (PDF) , p. 123 , consultado el 24 de enero de 2020
  41. ^ "2.3.3.10 Registro META_LINETO", [MS-WMF]: Especificación de formato de metarchivo de Windows (PDF) , págs. 123-124 , consultado el 24 de enero de 2020
  42. ^ "2.3.3.11 Registro META_PAINTREGION", [MS-WMF]: Especificación de formato de metarchivo de Windows (PDF) , p. 124 , consultado el 24 de enero de 2020
  43. ^ "2.3.3.12 Registro META_PATBLT", [MS-WMF]: Especificación de formato de metarchivo de Windows (PDF) , págs. 124-125 , consultado el 24 de enero de 2020
  44. ^ "2.3.3.13 Registro META_PIE", [MS-WMF]: Especificación de formato de metarchivo de Windows (PDF) , págs. 125-126 , consultado el 24 de enero de 2020
  45. ^ "2.3.3.14 Registro META_POLYLINE", [MS-WMF]: Especificación de formato de metarchivo de Windows (PDF) , p. 126 , consultado el 24 de enero de 2020
  46. ^ "2.3.3.15 Registro META_POLYGON", [MS-WMF]: Especificación de formato de metarchivo de Windows (PDF) , p. 127 , consultado el 24 de enero de 2020
  47. ^ "2.3.3.16 Registro META_POLYPOLYGON", [MS-WMF]: Especificación de formato de metarchivo de Windows (PDF) , págs. 127-128 , consultado el 24 de enero de 2020
  48. ^ "2.3.3.17 Registro META_RECTANGLE", [MS-WMF]: Especificación de formato de metarchivo de Windows (PDF) , págs. 127-128 , consultado el 24 de enero de 2020
  49. ^ "2.3.3.18 Registro META_ROUNDRECT", [MS-WMF]: Especificación de formato de metarchivo de Windows (PDF) , págs. 128-129 , consultado el 24 de enero de 2020
  50. ^ "2.3.3.19 Registro META_SETPIXEL", [MS-WMF]: Especificación de formato de metarchivo de Windows (PDF) , págs. 129–130 , consultado el 24 de enero de 2020
  51. ^ "2.3.3.20 Registro META_TEXTOUT", [MS-WMF]: Especificación de formato de metarchivo de Windows (PDF) , p. 130 , consultado el 24 de enero de 2020
  52. ^ "2.2.2.2. Objeto BitmapCoreHeader", [MS-WMF]: Especificación de formato de metarchivo de Windows (PDF) , p. 85 , consultado el 25 de enero de 2020
  53. ^ "2.2.2.9. Objeto de mapa de bits independiente del dispositivo", [MS-WMF]: Especificación de formato de metarchivo de Windows (PDF) , p. 91 , consultado el 25 de enero de 2020
  54. ^ a b "2.2.1. Objetos gráficos", [MS-WMF]: Especificación de formato de metarchivo de Windows (PDF) , p. 79 , consultado el 25 de enero de 2020
  55. ^ "2.3.4.1 Registro META_CREATEBRUSHINDIRECT", [MS-WMF]: Especificación de formato de metarchivo de Windows (PDF) , págs. 131-132 , consultado el 25 de enero de 2020
  56. ^ "2.3.4.2 Registro META_CREATEFONTINDIRECT", [MS-WMF]: Especificación de formato de metarchivo de Windows (PDF) , p. 132 , consultado el 25 de enero de 2020
  57. ^ "2.3.4.4 Registro META_CREATEPATTERNBRUSH", [MS-WMF]: Especificación de formato de metarchivo de Windows (PDF) , págs. 133-135 , consultado el 25 de enero de 2020
  58. ^ "2.3.4.3 Registro META_CREATEPALETTE", [MS-WMF]: Especificación de formato de metarchivo de Windows (PDF) , págs. 132-133 , consultado el 25 de enero de 2020
  59. ^ "2.3.4.5 Registro META_CREATEPENINDIRECT", [MS-WMF]: Especificación de formato de metarchivo de Windows (PDF) , págs. 134-135 , consultado el 25 de enero de 2020
  60. ^ "2.3.4.6 Registro META_CREATEREGION", [MS-WMF]: Especificación de formato de metarchivo de Windows (PDF) , p. 135 , consultado el 25 de enero de 2020
  61. ^ "2.3.4.7 Registro META_DELETEOBJECT", [MS-WMF]: Especificación de formato de metarchivo de Windows (PDF) , p. 135 , consultado el 25 de enero de 2020
  62. ^ "2.3.4.8 Registro META_CREATEBRUSHINDIRECT", [MS-WMF]: Especificación de formato de metarchivo de Windows (PDF) , págs. 135-136 , consultado el 25 de enero de 2020
  63. ^ "2.3.4.9 Registro META_DIBCREATEPATTERNBRUSH", [MS-WMF]: Especificación de formato de metarchivo de Windows (PDF) , págs. 136-137 , consultado el 25 de enero de 2020
  64. ^ "2.3.4.10 Registro META_SELECTCLIPREGION", [MS-WMF]: Especificación de formato de metarchivo de Windows (PDF) , p. 137 , consultado el 25 de enero de 2020
  65. ^ "2.3.4.11 Registro META_SELECTOBJECT", [MS-WMF]: Especificación de formato de metarchivo de Windows (PDF) , págs. 137-138 , consultado el 25 de enero de 2020
  66. ^ "2.3.4.11 Registro META_SELECTPLAETTE", [MS-WMF]: Especificación de formato de metarchivo de Windows (PDF) , p. 139 , consultado el 25 de enero de 2020
  67. ^ "2.3.5 Tipos de registros de estado", [MS-WMF]: Especificación de formato de metarchivo de Windows (PDF) , p. 138 , consultado el 28 de enero de 2020
  68. ^ "2.3.5.1 Registro META_ANIMATEPALETTE", [MS-WMF]: Especificación de formato de metarchivo de Windows (PDF) , p. 140 , consultado el 28 de enero de 2020
  69. ^ "2.3.5.2 Registro META_EXCLUDECLIPRECT", [MS-WMF]: Especificación de formato de metarchivo de Windows (PDF) , págs. 140–141 , consultado el 28 de enero de 2020
  70. ^ "2.3.5.3 Registro META_INTERSECTCLIPRECT", [MS-WMF]: Especificación de formato de metarchivo de Windows (PDF) , págs. 141-142 , consultado el 28 de enero de 2020
  71. ^ "2.3.5.1 Registro META_MOVETO", [MS-WMF]: Especificación de formato de metarchivo de Windows (PDF) , p. 142 , consultado el 28 de enero de 2020
  72. ^ "2.3.5.4 Registro META_OFFSETCLIPRGN", [MS-WMF]: Especificación de formato de metarchivo de Windows (PDF) , págs. 142–143 , consultado el 28 de enero de 2020
  73. ^ "2.3.5.5 Registro META_OFFSETVIEWPORTORG", [MS-WMF]: Especificación de formato de metarchivo de Windows (PDF) , p. 143 , consultado el 28 de enero de 2020
  74. ^ "2.3.5.6 Registro META_OFFSETWINDOWORG", [MS-WMF]: Especificación de formato de metarchivo de Windows (PDF) , págs. 131-132 , consultado el 28 de enero de 2020
  75. ^ "2.3.5.7 Registro META_REALIZEPALETTE", [MS-WMF]: Especificación de formato de metarchivo de Windows (PDF) , págs. 143–144 , consultado el 28 de enero de 2020
  76. ^ "2.3.5.8 Registro META_RESIZEPALETTE", [MS-WMF]: Especificación de formato de metarchivo de Windows (PDF) , p. 144 , consultado el 28 de enero de 2020
  77. ^ "2.3.5.9 Registro META_RESTOREDC", [MS-WMF]: Especificación de formato de metarchivo de Windows (PDF) , p. 145 , consultado el 28 de enero de 2020
  78. ^ "2.3.5.10 Registro META_SAVEDC", [MS-WMF]: Especificación de formato de metarchivo de Windows (PDF) , p. 145 , consultado el 28 de enero de 2020
  79. ^ "2.3.5.11 Registro META_SCALEVIEWPORTEXT", [MS-WMF]: Especificación de formato de metarchivo de Windows (PDF) , págs. 145–146 , consultado el 28 de enero de 2020
  80. ^ "2.3.5.12 Registro META_SCALEWINDOWEXT", [MS-WMF]: Especificación de formato de metarchivo de Windows (PDF) , págs. 146–147 , consultado el 28 de enero de 2020
  81. ^ "2.3.5.13 Registro META_SETBKCOLOR", [MS-WMF]: Especificación de formato de metarchivo de Windows (PDF) , p. 147 , consultado el 28 de enero de 2020
  82. ^ "2.3.5.14 Registro META_SETBKMODE", [MS-WMF]: Especificación de formato de metarchivo de Windows (PDF) , págs. 147–148 , consultado el 28 de enero de 2020
  83. ^ "2.3.5.15 Registro META_SETLAYOUT", [MS-WMF]: Especificación de formato de metarchivo de Windows (PDF) , p. 148 , consultado el 28 de enero de 2020
  84. ^ "2.3.5.16 Registro META_SETMAPMODE", [MS-WMF]: Especificación de formato de metarchivo de Windows (PDF) , págs. 148-149 , consultado el 28 de enero de 2020
  85. ^ "2.3.5.17 Registro META_SETMAPPERFLAGS", [MS-WMF]: Especificación de formato de metarchivo de Windows (PDF) , págs. 131-132 , consultado el 28 de enero de 2020
  86. ^ "2.3.5.18 Registro META_ANIMATEPALETTE", [MS-WMF]: Especificación de formato de metarchivo de Windows (PDF) , p. 149 , consultado el 28 de enero de 2020
  87. ^ "2.3.5.19 Registro META_SETPALENTRIES", [MS-WMF]: Especificación de formato de metarchivo de Windows (PDF) , págs. 149-150 , consultado el 28 de enero de 2020
  88. ^ "2.3.5.20 Registro META_SETRELABS", [MS-WMF]: Especificación de formato de metarchivo de Windows (PDF) , p. 150 , consultado el 28 de enero de 2020
  89. ^ "2.3.5.21 Registro META_SETROP2", [MS-WMF]: Especificación de formato de metarchivo de Windows (PDF) , p. 151 , consultado el 28 de enero de 2020
  90. ^ "2.3.5.1 Registro META_SETSTRETCHBLTMODE", [MS-WMF]: Especificación de formato de metarchivo de Windows (PDF) , págs. 151-152 , consultado el 28 de enero de 2020
  91. ^ "2.3.5.22 Registro META_SETTEXTALIGN", [MS-WMF]: Especificación de formato de metarchivo de Windows (PDF) , p. 152 , consultado el 28 de enero de 2020
  92. ^ "2.3.5.1 Registro META_SETTEXTCHAREXTRA", [MS-WMF]: Especificación de formato de metarchivo de Windows (PDF) , págs. 152-153 , consultado el 28 de enero de 2020
  93. ^ "2.3.5.23 Registro META_SETTEXTCOLOR", [MS-WMF]: Especificación de formato de metarchivo de Windows (PDF) , p. 153 , consultado el 28 de enero de 2020
  94. ^ "2.3.5.24 Registro META_SETTEXTJUSTIFICATION", [MS-WMF]: Especificación de formato de metarchivo de Windows (PDF) , págs. 153-154 , consultado el 28 de enero de 2020
  95. ^ "2.3.5.25 Registro META_SETVIEWPORTEXT", [MS-WMF]: Especificación de formato de metarchivo de Windows (PDF) , p. 154 , consultado el 28 de enero de 2020
  96. ^ "2.3.5.26 META_SETVIEWPORTORG Record", [MS-WMF]: Especificación de formato de metarchivo de Windows (PDF) , págs. 154-155 , consultado el 28 de enero de 2020
  97. ^ "2.3.5.27 Registro META_SETWINDOWEXT", [MS-WMF]: Especificación de formato de metarchivo de Windows (PDF) , p. 155 , consultado el 28 de enero de 2020
  98. ^ "2.3.5.28 Registro META_SETWINDOWORG", [MS-WMF]: Especificación de formato de metarchivo de Windows (PDF) , p. 155 , consultado el 28 de enero de 2020
  99. ^ "2.3.6.2. Registro ABORTDOC", [MS-WMF]: Especificación de formato de metarchivo de Windows (PDF) , págs. 158-159 , consultado el 28 de enero de 2020
  100. ^ "2.3.6.3. Registro BEGIN_PATH", [MS-WMF]: Especificación de formato de metarchivo de Windows (PDF) , p. 159 , consultado el 28 de enero de 2020
  101. ^ "2.3.6.4. Registro CHECK_JPEGFORMAT", [MS-WMF]: Especificación de formato de metarchivo de Windows (PDF) , págs. 159–160 , consultado el 28 de enero de 2020
  102. ^ "2.3.6.5. Registro CHECK_PNGFORMAT", [MS-WMF]: Especificación de formato de metarchivo de Windows (PDF) , p. 160 , consultado el 28 de enero de 2020
  103. ^ "2.3.6.6. Registro CLIP_TO_PATH", [MS-WMF]: Especificación de formato de metarchivo de Windows (PDF) , p. 160 , consultado el 28 de enero de 2020
  104. ^ "2.3.6.7. Registro CLOSE_CHANNEL", [MS-WMF]: Especificación de formato de metarchivo de Windows (PDF) , p. 162 , consultado el 28 de enero de 2020
  105. ^ "2.3.6.8. DOWNLOAD_FACE Record", [MS-WMF]: Especificación de formato de metarchivo de Windows (PDF) , págs. 162-163 , consultado el 28 de enero de 2020
  106. ^ "2.3.6.9. DOWNLOAD_HEADER Record", [MS-WMF]: Especificación de formato de metarchivo de Windows (PDF) , págs. 158-159 , consultado el 28 de enero de 2020
  107. ^ "2.3.6.10. Registro DRAW_PATTERNRECT", [MS-WMF]: Especificación de formato de metarchivo de Windows (PDF) , págs. 163-164 , consultado el 28 de enero de 2020
  108. ^ "2.3.6.11. Registro ENCAPSULATED_POSTSCRIPT", [MS-WMF]: Especificación de formato de metarchivo de Windows (PDF) , p. 164 , consultado el 28 de enero de 2020
  109. ^ "2.3.6.12. END_PATH Record", [MS-WMF]: Especificación de formato de metarchivo de Windows (PDF) , págs. 164-165 , consultado el 28 de enero de 2020
  110. ^ "2.3.6.13. Registro ENDDOC", [MS-WMF]: Especificación de formato de metarchivo de Windows (PDF) , p. 165 , consultado el 28 de enero de 2020
  111. ^ "2.3.6.14. EPS_PRINTING Record", [MS-WMF]: Especificación de formato de metarchivo de Windows (PDF) , págs. 165-166 , consultado el 28 de enero de 2020
  112. ^ "2.3.6.15. EXTTEXTOUT Record", [MS-WMF]: Especificación de formato de metarchivo de Windows (PDF) , págs. 166-167 , consultado el 28 de enero de 2020
  113. ^ "2.3.6.16. Registro GET_COLORTABLE", [MS-WMF]: Especificación de formato de metarchivo de Windows (PDF) , págs. 167-168 , consultado el 28 de enero de 2020
  114. ^ "2.3.6.17. Registro GET_DEVICEUNITS", [MS-WMF]: Especificación de formato de metarchivo de Windows (PDF) , p. 168 , consultado el 28 de enero de 2020
  115. ^ "2.3.6.18. Registro GET_EXTENDED_TEXTMETRICS", [MS-WMF]: Especificación de formato de metarchivo de Windows (PDF) , págs. 168–169 , consultado el 28 de enero de 2020
  116. ^ "2.3.6.19. Registro GET_FACENAME", [MS-WMF]: Especificación de formato de metarchivo de Windows (PDF) , p. 169 , consultado el 28 de enero de 2020
  117. ^ "2.3.6.20. Registro GET_PAIRKERNTABLE", [MS-WMF]: Especificación de formato de metarchivo de Windows (PDF) , págs. 169-170 , consultado el 28 de enero de 2020
  118. ^ "2.3.6.21. GET_PHYSPAGESIZE Record", [MS-WMF]: Especificación de formato de metarchivo de Windows (PDF) , p. 170 , consultado el 28 de enero de 2020
  119. ^ "2.3.6.22. GET_PRINTINGOFFSET Record", [MS-WMF]: Especificación de formato de metarchivo de Windows (PDF) , págs. 170-171 , consultado el 28 de enero de 2020
  120. ^ "2.3.6.23. Registro GET_PS_FEATURESETTING", [MS-WMF]: Especificación de formato de metarchivo de Windows (PDF) , p. 171 , consultado el 28 de enero de 2020
  121. ^ "2.3.6.24. Registro GET_SCALINGFACTOR", [MS-WMF]: Especificación de formato de metarchivo de Windows (PDF) , págs. 171-172 , consultado el 28 de enero de 2020
  122. ^ "2.3.6.25. Registro META_ESCAPE_ENHANCED_METAFILE", [MS-WMF]: Especificación de formato de metarchivo de Windows (PDF) , págs. 172-173 , consultado el 28 de enero de 2020
  123. ^ "2.3.6.26. METAFILE_DRIVER Record", [MS-WMF]: Especificación de formato de metarchivo de Windows (PDF) , págs. 173-174 , consultado el 28 de enero de 2020
  124. ^ "2.3.6.27. Registro NEWFRAME", [MS-WMF]: Especificación de formato de metarchivo de Windows (PDF) , págs. 174-175 , consultado el 28 de enero de 2020
  125. ^ "2.3.6.28. Registro de NEXTBAND", [MS-WMF]: Especificación de formato de metarchivo de Windows (PDF) , págs. 174-175 , consultado el 28 de enero de 2020
  126. ^ "2.3.6.29. Registro PASSTHROUGH", [MS-WMF]: Especificación de formato de metarchivo de Windows (PDF) , p. 175 , consultado el 28 de enero de 2020
  127. ^ "2.3.6.30. Registro POSTSCRIPT_DATA", [MS-WMF]: Especificación de formato de metarchivo de Windows (PDF) , p. 176 , consultado el 28 de enero de 2020
  128. ^ "2.3.6.31. Registro POSTSCRIPT_IDENTIFY", [MS-WMF]: Especificación de formato de metarchivo de Windows (PDF) , págs. 176-177 , consultado el 28 de enero de 2020
  129. ^ "2.3.6.32. Registro POSTSCRIPT_IGNORE", [MS-WMF]: Especificación de formato de metarchivo de Windows (PDF) , p. 177 , consultado el 28 de enero de 2020
  130. ^ "2.3.6.33. Registro POSTSCRIPT_INJECTION", [MS-WMF]: Especificación de formato de metarchivo de Windows (PDF) , págs. 177–178 , consultado el 28 de enero de 2020
  131. ^ "2.3.6.34. Registro POSTSCRIPT_PASSTHROUGH", [MS-WMF]: Especificación de formato de metarchivo de Windows (PDF) , p. 178 , consultado el 28 de enero de 2020
  132. ^ "2.3.6.35. Registro OPEN_CHANNEL", [MS-WMF]: Especificación de formato de metarchivo de Windows (PDF) , p. 179 , consultado el 28 de enero de 2020
  133. ^ "2.3.6.36. QUERY_DIBSUPPORT Record", [MS-WMF]: Especificación de formato de metarchivo de Windows (PDF) , págs. 179–180 , consultado el 28 de enero de 2020
  134. ^ "2.3.6.37. Registro QUERY_ESCSUPPORT", [MS-WMF]: Especificación de formato de metarchivo de Windows (PDF) , p. 180 , consultado el 28 de enero de 2020
  135. ^ "2.3.6.38. SET_COLORTABLE Record", [MS-WMF]: Especificación de formato de metarchivo de Windows (PDF) , págs. 180–181 , consultado el 28 de enero de 2020
  136. ^ "2.3.6.39. SET_COPYCOUNT Registro", [MS-WMF]: Especificación de formato de metarchivo de Windows (PDF) , p. 181 , consultado el 28 de enero de 2020.
  137. ^ "2.3.6.40. Registro SET_LINECAP", [MS-WMF]: Especificación de formato de metarchivo de Windows (PDF) , págs. 181–182 , consultado el 28 de enero de 2020
  138. ^ "2.3.6.41. SET_LINEJOIN Record", [MS-WMF]: Especificación de formato de metarchivo de Windows (PDF) , págs. 182–183 , consultado el 28 de enero de 2020
  139. ^ "2.3.6.42. SET_MITERLIMIT Record", [MS-WMF]: Especificación de formato de metarchivo de Windows (PDF) , p. 183 , consultado el 28 de enero de 2020
  140. ^ "2.3.6.43. Registro SPCLPASSTHROUGH2", [MS-WMF]: Especificación de formato de metarchivo de Windows (PDF) , págs. 183–184 , consultado el 28 de enero de 2020
  141. ^ "2.3.6.44. Registro STARTDOC", [MS-WMF]: Especificación de formato de metarchivo de Windows (PDF) , p. 184 , consultado el 28 de enero de 2020.
  142. ^ "Microsoft Windows WMF" SETABORTPROC "Ejecución de código arbitrario" . Secunia . Aviso de Secunia: SA18255. Archivado desde el original el 2 de enero de 2006.
  143. ^ Pscript-Supported Escapes , Microsoft , consultado el 28 de enero de 2020
  144. ^ "¿La puerta trasera del metarchivo de Windows?" . ¡Seguridad de GRC ahora! (Pódcast). Gibson Research Corporation . 12 de enero de 2006 . Consultado el 28 de enero de 2020 .
  145. ^ Gibson, Steve (12 de enero de 2006), "Re: ¡No querrá perderse Security Now! De esta noche! # 22" , grc.news.feedback , consultado el 28 de enero de 2020
  146. ^ Russinovich, Mark (18 de enero de 2006), "Inside the WMF Backdoor" , TechNet , Microsoft - a través de Microsoft Tech Community
  147. ^ Ferrie, Peter (2 de febrero de 2006), Dentro del formato de archivo Meta de Windows (PDF) , Virus Bulletin , consultado el 24 de enero de 2020 a través de Symantec
  148. ^ "1.3.1. Estructura de metarchivo", [MS-EMF]: Formato de metarchivo mejorado (PDF) , Microsoft, págs. 17-18
  149. ^ "2.3.4.2.1 Registro EmfMetafileHeader", [MS-EMF]: Formato de metarchivo mejorado (PDF) , Microsoft, p. 120
  150. ^ "2.2.10 Objeto HeaderExtension1", [MS-EMF]: Formato de metarchivo mejorado (PDF) , Microsoft, págs. 57–58
  151. ^ "2.2.22 Objeto PixelFormatDescriptor", [MS-EMF]: Formato de metarchivo mejorado (PDF) , Microsoft, págs. 68–71
  152. ^ "2.3.4.2.3 EmfMetafileHeaderExtension2 Record", [MS-EMF]: formato de metarchivo mejorado (PDF) , Microsoft, págs. 122-124
  153. ^ "Recibe un mensaje de error" Este archivo es un formato gráfico no compatible "cuando intenta insertar una imagen en una presentación de PowerPoint para Mac" . Microsoft . Archivado desde el original el 19 de abril de 2014 . Consultado el 19 de abril de 2014 .

Enlaces externos [ editar ]

  • Especificación de formato de metarchivo de Windows de Microsoft
  • Metarchivos: aplicaciones de Windows
  • Resumen del formato de archivo en fileformat.info
  • Preguntas frecuentes sobre el metarchivo de Windows