Windows Metafile

Windows Metafile
File extension:.wmf, .emf, .wmz, .emz
Developed by:Microsoft
Type of format:Image file formats
Windows Metafile (WMF) is a graphics file format on Microsoft Windows systems, originally designed in the early 1990s and not commonly used after the rise of the World Wide Web and the widely used graphics formats such as GIF and JPEG. It is a vector graphics format which also allows the inclusion of raster graphics. Essentially, a WMF file stores a list of function calls that have to be issued to the Windows graphics layer GDI in order to restore the image. Since some GDI functions accept pointers to callback functions for error handling, a WMF file may include executable code. It is somewhat similar in purpose and design to the PostScript format used in the Unix world.

WMF is a 16-bit format introduced in Windows 3.0; a newer 32-bit version with additional commands is called Enhanced Metafile (EMF). EMF is also used as a graphics language for printer drivers.

There are also compressed versions of Windows Metafiles known as Compressed Windows Metafile (WMZ) & Compressed Windows Enhanced Metafile (EMZ). [1]

SetAbortProc exploit

Exploits using the "SetAbortProc" GDI function were discovered in December 2005. The function, which registers an error handler normally intended for use when a print job is cancelled during spooling, allows arbitrary code added to a WMF image to be executed without the permission of the user.

Alternative implementations

The WMF format was designed to be executed by the Windows graphics layer GDI in order to restore the image, but as the WMF binary files contain the definition of the GDI graphic primitives that constitute this image, it is possible to design alternative libraries that render WMF binary files, or convert them in other graphic formats.

For example, the Batik library is able to render WMF files and convert them to their SVG equivalent. The Vector Graphics package of the FreeHEP Java library allows to save Java2D drawings as EMF files.

See also

External links

Tutorials and articles

Applications

Libraries

A filename extension is a suffix to the name of a computer file applied to indicate its type. It is commonly used to infer information about what sort of data might be stored in the file.
..... Click the link for more information.
Microsoft Corporation

Public (NASDAQ:  MSFT )
Founded Albuquerque, New Mexico, USA (April 4 1975)[1]
Headquarters Redmond, Washington, United States

Key people Bill Gates, Co-founder and Executive Chairman ;
Paul Allen, Co-founder ;
..... Click the link for more information.
Image file formats provide a standardized method of organizing and storing image data. This article deals with digital image formats used to store photographic and other image information.
..... Click the link for more information.
Image file formats provide a standardized method of organizing and storing image data. This article deals with digital image formats used to store photographic and other image information.
..... Click the link for more information.
Microsoft Windows

Screenshot of Windows Vista Ultimate, the latest version of Microsoft Windows.
Company/developer: Microsoft Corporation
OS family: MS-DOS/9x-based, Windows CE, Windows NT
Source model: Closed source

..... Click the link for more information.
World Wide Web (commonly shortened to the Web) is a system of interlinked, hypertext documents accessed via the Internet. With a web browser, a user views web pages that may contain text, images, videos, and other multimedia and navigates between them using hyperlinks.
..... Click the link for more information.
Graphics Interchange Format

A rotating globe in GIF format. The gradient blue areas of this image transition choppily, a common artifact produced when dithering is not employed.
File extension: .
..... Click the link for more information.
JPEG

A photo of a flower compressed with successively more lossy compression ratios from left to right.
File extension: .jpeg, .jpg, .jpe
.jfif, .jfi, .

..... Click the link for more information.
Vector graphics (also called geometric modeling or object-oriented graphics) is the use of geometrical primitives such as points, lines, curves, and polygons, which are all based upon mathematical equations to represent images in computer graphics.
..... Click the link for more information.
raster graphics image, digital image, or bitmap, is a data structure representing a generally rectangular grid of pixels, or points of color, viewable via a computer monitor, paper, or other display medium.
..... Click the link for more information.
graphics device interface is a subsystem that most operating systems use for representing graphical objects and transmitting them to output devices such as monitors and printers.
..... Click the link for more information.
IMAGE (from Imager for Magnetopause-to-Aurora Global Exploration), or Explorer 78, was a NASA MIDEX mission that studied the global response of the Earth's magnetosphere to changes in the solar wind.
..... Click the link for more information.
pointer is a programming language data type whose value refers directly to (or “points to”) another value stored elsewhere in the computer memory using its address. Obtaining the value to which a pointer refers is called dereferencing the pointer.
..... Click the link for more information.
callback is executable code that is passed as an argument to other code. It allows a lower-level software layer to call a subroutine (or function) defined in a higher-level layer.
..... Click the link for more information.
Exception handling is a programming language construct or computer hardware mechanism designed to handle the occurrence of some condition that changes the normal flow of execution. The condition is called an exception.
..... Click the link for more information.


A postscript (from post scriptum, a Latin expression meaning "after writing" and abbreviated P.S.
..... Click the link for more information.
Unix (officially trademarked as UNIX®) is a computer operating system originally developed in 1969 by a group of AT&T employees at Bell Labs including Ken Thompson, Dennis Ritchie and Douglas McIlroy.
..... Click the link for more information.
16-bit integers, memory addresses, or other data units are those that are at most 16 bits (2 octets) wide. Also, 16-bit CPU and ALU architectures are those that are based on registers, address buses, or data buses of that size.
..... Click the link for more information.
Windows 3.0
(Part of the Microsoft Windows family)
Screenshot

A typical Windows 3.0 workspace
Developer
Microsoft

Release information
Release date: May 22 1990 info
Current version:
..... Click the link for more information.
In computer architecture, 32-bit integers, memory addresses, or other data units are those that are at most 32 bits (4 octets) wide. Also, 32-bit CPU and ALU architectures are those that are based on registers, address buses, or data buses of that size.
..... Click the link for more information.
The Windows Metafile vulnerability is a security vulnerability in Microsoft Windows NT-based operating systems which has been used in a variety of exploits since late December 2005.
..... Click the link for more information.
An exploit is a piece of software, a chunk of data, or sequence of commands that take advantage of a bug, glitch or vulnerability in order to cause unintended or unanticipated behavior to occur on computer software, hardware, or something electronic (usually computerized).
..... Click the link for more information.
In computer science, spooling refers to process of communicating data to another program by placing it in a temporary working area, where the other program can access it at some later point in time.
..... Click the link for more information.
In computer security, arbitrary code is executable code introduced externally that runs despite the intent of the original programmer. The code is injected into a currently-running application or its memory space, thus making the application execute the code.
..... Click the link for more information.
graphics device interface is a subsystem that most operating systems use for representing graphical objects and transmitting them to output devices such as monitors and printers.
..... Click the link for more information.
IMAGE (from Imager for Magnetopause-to-Aurora Global Exploration), or Explorer 78, was a NASA MIDEX mission that studied the global response of the Earth's magnetosphere to changes in the solar wind.
..... Click the link for more information.
graphics device interface is a subsystem that most operating systems use for representing graphical objects and transmitting them to output devices such as monitors and printers.
..... Click the link for more information.
IMAGE (from Imager for Magnetopause-to-Aurora Global Exploration), or Explorer 78, was a NASA MIDEX mission that studied the global response of the Earth's magnetosphere to changes in the solar wind.
..... Click the link for more information.
Batik is a pure-Java library that can be used to render, generate, and manipulate SVG graphics. SVG is an XML markup language for describing two-dimensional vector graphics.
..... Click the link for more information.
Scalable Vector Graphics

File extension: .svg, .svgz
MIME type: image/svg+xml[1]
Developed by: World Wide Web Consortium
Type of format: vector image format
Extended from: XML


..... Click the link for more information.


This article is copied from an article on Wikipedia.org - the free encyclopedia created and edited by online user community. The text was not checked or edited by anyone on our staff. Although the vast majority of the wikipedia encyclopedia articles provide accurate and timely information please do not assume the accuracy of any particular article. This article is distributed under the terms of GNU Free Documentation License.