Moin Moin!
ebenso beginnen alle Windows- oder DOS-Executeables mit MZ.
Falsch. Der EXE-Header darf auch mit ZM anfangen. Und COM-Files haben überhaupt keinen Header, sie beginnen direkt mit beliebigem x86-Code. (Ab DOS 5 oder 6 hat MS einen ganzen Haufen Programme als EXE-Files übersetzt, aber die Dateiendung .com beibehalten, damit nicht alle alten Batches kaputt gehen.)
Die ersten paar Bytes von GIF-Dateien sind übrigens "GIF87a" oder "GIF89a", JPEG fängt mit "JFIF" an, TIFF mit "TIFF". Jede Menge Magic Numbers findet man übrigens in aktuellen Linux-Distributionen in /etc/magic, das Format ist in der magic-Manpage dokumentiert, das file-Utility nutzt diese Datenbank.
Magic Numbers allein reichen übrigens NICHT aus, um Dateien auf ihr Format zu überprüfen.
Alexander
Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so".