1、各类文件的文件头标志1、从 Ultraedit-32 中提取出来的JPEG (jpg),文件头:FFD8FFPNG (png),文件头:89504E47GIF (gif),文件头:47494638TIFF (tif),文件头:49492A00Windows Bitmap (bmp),文件头:424DCAD (dwg),文件头:41433130Adobe Photoshop (psd),文件头:38425053Rich Text Format (rtf),文件头:7B5C727466XML (xml),文件头:3C3F786D6CHTML (html),文件头:68746D6C3EEmail t
2、horough only (eml),文件头:44656C69766572792D646174653AOutlook Express (dbx),文件头:CFAD12FEC5FD746FOutlook (pst),文件头:2142444EMS Word/Excel (xls.or.doc),文件头:D0CF11E0MS Access (mdb),文件头:5374616E64617264204AWordPerfect (wpd),文件头:FF575043Postscript (eps.or.ps),文件头:252150532D41646F6265Adobe Acrobat (pdf),文件头:2
3、55044462D312EQuicken (qdf),文件头:AC9EBD8FWindows Password (pwl),文件头:E3828596ZIP Archive (zip),文件头:504B0304RAR Archive (rar),文件头:52617221Wave (wav),文件头:57415645AVI (avi),文件头:41564920Real Audio (ram),文件头:2E7261FDReal Media (rm),文件头:2E524D46MPEG (mpg),文件头:000001BAMPEG (mpg),文件头:000001B3Quicktime (mov),文件
4、头:6D6F6F76Windows Media (asf),文件头:3026B2758E66CF11MIDI (mid),文件头:4D5468642、从 winhex中取出的文件头列表File Type ExtensionsHeaderJPEG jpg;jpeg 0xFFD8FFPNG png 0x89504E470D0A1A0AGIF gif GIF8TIFF tif;tiff 0x49492A00TIFF tif;tiff 0x4D4D002ABit map bmp BMAOL ART art 0x4A47040E000000AOL ART art 0x4A47030E000000PC P
5、aintbrush pcx 0x0A050108Graphics Metafile wmf 0xD7CDC69AGraphics Metafile wmf 0x01000900Graphics Metafile wmf 0x02000900Enhanced Metafile emf 0x0100000058000000Corel Draw cdr CDRCAD dwg 0x41433130Adobe Photoshop psd 8BPSRich Text Format rtf rtfXML xmlHTML html;htm;php;php3;php4;phtml;shtml typeEmail
6、 eml Delivery-date:Outlook Express dbx 0xCFAD12FEOutlookpst!BDNMS Office/OLE2 doc;xls;dot;ppt;xla;ppa;pps;pot;msi;sdw;db 0xD0CF11E0A1B11AE1MS Access mdb;mda;mde;mdt Standard JWordPerfect wpd 0xFF575043OpenOffice Writer sxw writerOpenOffice Calc sxc calcOpenOffice Math sxm mathOpenOffice Impress sxi
7、impressOpenOffice Draw sxd drawAdobe FrameMaker fm MAKERFILEPostScript eps.or.ps;ps;eps %!PS-AdobeAdobe Acrobat pdf %PDF-1.Quicken qdf 0xAC9EBD8FQuickBooks Backup qbb 0x458600000600Sage sly.or.srt.or.slt;sly;srt;slt 0x53520100Sage Backup 1 SAGEBACKUPLotus WordPro v9 lwp 0x576F726450726FLotus 123 v9
8、123 0x00001A00051004Lotus 123 v5 wk4 0x00001A0002100400Lotus 123 v3 wk3 0x00001A0000100400Lotus 123 v1 wk1 0x2000604060Windows Password pwl 0xE3828596ZIP Archive zip;jar 0x504B0304ZIP Archive (outdated) zip 0x504B3030RAR Archive rar Rar!GZ Archive gz;tgz 0x1F8B08BZIP Archive bz2 BZhARJ Archive arj 0
9、x60EA7-ZIP Archive 7z 7z集Wave wav WAVEAVI avi AVIReal Audio ram;ra .ra?0Real Media rm .RMFMPEG mpg;mpeg 0x000001BAMPEG mpg;mpeg 0x000001B3Quicktime mov moovWindows Media asf 0x3026B2758E66CF11MIDI mid MThdWin32 Executable exe;dll;drv;vxd;sys;ocx;vbx MZWin16 Executable exe;dll;drv;vxd;sys;ocx;vbx MZE
10、LF Executable elf; 0x7F454C4601010100各种文件类型文件头标志位详细列表FFD8FFFE00, .JPEG;.JPE;.JPG, “JPG Graphic File“FFD8FFE000, .JPEG;.JPE;.JPG, “JPG Graphic File“474946383961, .gif, “GIF 89A“474946383761, .gif, “GIF 87A“424D, .bmp, “Windows Bitmap“4D5A, .exe;.com;.386;.ax;.acm;.sys;.dll;.drv;.flt;.fon;.ocx;.scr;.l
11、rc;.vxd;.cpl;.x32, “Executable File“504B0304, .zip, “Zip Compressed“3A42617365, .cnt, “D0CF11E0A1B11AE1, .doc;.xls;.xlt;.ppt;.apr, “MS Compound Document v1 or Lotus Approach APR file“0100000058000000, .emf, “03000000C466C456, .evt, “3F5F0300, .gid;.hlp;.lhp, “Windows Help File“1F8B08, .gz, “GZ Compr
12、essed File“28546869732066696C65, .hqx, “0000010000, .ico, “Icon File“4C000000011402, .lnk, “Windows Link File“25504446, .pdf, “Adobe PDF File“5245474544495434, .reg, “7B5C727466, .rtf, “Rich Text Format File“lh, .lzh, “Lz compression file“MThd, .mid, “0A050108, .pcx, “25215053, .eps, “Adobe EPS File
13、“2112, .ain, “AIN Archive File“1A02, .arc, “ARC/PKPAK Compressed 1“1A03, .arc, “ARC/PKPAK Compressed 2“1A04, .arc, “ARC/PKPAK Compressed 3“1A08, .arc, “ARC/PKPAK Compressed 4“1A09, .arc, “ARC/PKPAK Compressed 5“60EA, .arj, “ARJ Compressed“41564920, .avi, “Audio Video Interleave (AVI)“425A68, .bz;.bz
14、2, “Bzip Archive“49536328, .cab, “Cabinet File“4C01, .obj, “Compiled Object Module“303730373037, .tar;.cpio, “CPIO Archive File“4352555348, .cru;.crush, “CRUSH Archive File“3ADE68B1, .dcx, “DCX Graphic File“1F8B, .gz;.tar;.tgz, “Gzip Archive File“91334846, .hap, “HAP Archive File“3C68746D6C3E, .htm;
15、.html, “HyperText Markup Language 1“3C48544D4C3E, .htm;.html, “HyperText Markup Language 2“3C21444F4354, .htm;.html, “HyperText Markup Language 3“100, .ico, “ICON File“5F27A889, .jar, “JAR Archive File“2D6C68352D, .lha, “LHA Compressed“20006040600, .wk1;.wks, “Lotus 123 v1 Worksheet“00001A0007800100
16、, .fm3, “Lotus 123 v3 FMT file“00001A0000100400, .wk3, “Lotus 123 v3 Worksheet“20006800200, .fmt, “Lotus 123 v4 FMT file“00001A0002100400, .wk4, “Lotus 123 v5“5B7665725D, .ami, “Lotus Ami Pro“300000041505052, .adx, “Lotus Approach ADX file“1A0000030000, .nsf;.ntf, “Lotus Notes Database/Template“4D47
17、582069747064, .ds4, “Micrografix Designer 4“4D534346, .cab, “Microsoft CAB File Format“4D546864, .mid, “Midi Audio File“000001B3, .mpg;.mpeg, “MPEG Movie“0902060000001000B9045C00, .xls, “MS Excel v2“0904060000001000F6055C00, .xls, “MS Excel v4“7FFE340A, .doc, “MS Word“1234567890FF, .doc, “MS Word 6.
18、0“31BE000000AB0000, .doc, “MS Word for DOS 6.0“1A00000300001100, .nsf, “Notes Database“7E424B00, .psp, “PaintShop Pro Image File“504B0304, .zip, “PKZIP Compressed“89504E470D0A, .png, “PNG Image File“6D646174, .mov, “QuickTime Movie“6D646174, .qt, “Quicktime Movie File“52617221, .rar, “RAR Archive Fi
19、le“2E7261FD, .ra;.ram, “Real Audio File“EDABEEDB, .rpm, “RPM Archive File“2E736E64, .au, “SoundMachine Audio File“53495421, .sit, “Stuffit v1 Archive File“53747566664974, .sit, “Stuffit v5 Archive File“1F9D, .z, “TAR Compressed Archive File“49492A, .tif;.tiff, “TIFF (Intel)“4D4D2A, .tif;.tiff, “TIFF
20、 (Motorola)“554641, .ufa, “UFA Archive File“57415645666D74, .wav, “Wave Files“D7CDC69A, .wmf, “Windows Meta File“4C000000, .lnk, “Windows Shortcut (Link File)“504B3030504B0304, .zip, “WINZIP Compressed“FF575047, .wpg, “WordPerfect Graphics“FF575043, .wp, “WordPerfect v5 or v6“3C3F786D6C, .xml, “XML
21、Document“FFFE3C0052004F004F0054005300540055004200, .xml, “XML Document (ROOTSTUB)“3C21454E54495459, .dtd, “XML DTD“5A4F4F20, .zoo, “ZOO Archive File“通过文件头标识判断图片格式最近在做东西的时候遇到了点问题,在加载图片的时候,加载失败,后缀都是 jpg格式,但换个图片就可以了,为此,怀疑图片格式有问题,遂拖到 UE里面查看它的 16进制,果然,两个图片的文件头根本就不一样,这不是欺负人嘛,害我白白浪费了半天的时间,差点要重新编译内核。然后到网上找了
22、一些资料,查看不同格式图片的文件头是怎样的。下面转帖是不同图片的文件头标志:图片的格式很多,一个图片文件的后缀名并不能说明这个图片的真正格式什么,那么如何获取图片的格式呢?我想到了几个简单但有效的方法,那就是读取图片文件的文件头标识。我们知道各种格式的图片的文件头标识识不同的,因此我们可以通过判断文件头的标识来识别图片格式。我对各种格式的图片文件头标识进行了分析,不仅查找资料,也用十六进制编辑器察看过图片的文件头,以下是我收集、分析的结果,供大家参考。1.JPEG/JPG- 文件头标识 (2 bytes): $ff, $d8 (SOI) (JPEG 文件标识)- 文件结束标识 (2 bytes
23、): $ff, $d9 (EOI)2.TGA- 未压缩的前 5字节 00 00 02 00 00- RLE压缩的前 5字节 00 00 10 00 003.PNG- 文件头标识 (8 bytes) 89 50 4E 47 0D 0A 1A 0A4.GIF- 文件头标识 (6 bytes) 47 49 46 38 39(37) 61G I F 8 9 (7) a5.BMP- 文件头标识 (2 bytes) 42 4DB M6.PCX- 文件头标识 (1 bytes) 0A7.TIFF- 文件头标识 (2 bytes) 4D 4D 或 49 498.ICO- 文件头标识 (8 bytes) 00
24、00 01 00 01 00 20 209.CUR- 文件头标识 (8 bytes) 00 00 02 00 01 00 20 2010.IFF- 文件头标识 (4 bytes) 46 4F 52 4DF O R M11.ANI- 文件头标识 (4 bytes) 52 49 46 4612、Word/Excel (xls.or.doc)文件头标识 D0CF11E0 D0CF11E0A1B11AE1文件结束标识 0100FEFF030A0000R I F F根据这些文件头标识的收集,我可以写一个识别图像格式的模块了。但是在写这个模块之前可以对收集到的文件头标识进行优化,使得程序中字符串比对次数尽
25、量的少。1.JPEG我们知需要比对文件头的$ff, $d8这两个字符,而不用读取最后的两个结束标识了。2.TGA,ICO,CUR 只需比对第三个与第五个字符即可。3.PNG比对8950这两个字符。4.GIF比对474946与第五个字符。废话不多说了,利用内存流来判断文件的格式,其实判断文件的前几个字节就可以简单的判断这个文件是什么类型的文件,例如jpg文件 是 FFD8 (从低位到高位就要反过来 D8FF 下面都是一样)BMP文件 是 424D -4D42其他的我就不一一列举了,想知道跟多文件类型分别是用什么字符作为文件的开头的话,下载个 C32asm或者 UE等这类 16进制编辑器就可以看到
26、了什么头都没有直接数据的就是 ANSI类型,EF BB BF头的就是 UTF-8类型,FF FE头的就是 UNICODE类型的,FE FF头的就是 UNICODE BIG ENDIAN类型的,然后根据类型确定用什么类型的变量保存内容求助怎么能在 winhex中添加新的文件头搜索项选择按类型恢复,弹出对话框后点击 signatures按钮,这时,winhex 就会调用excel打开这个 winhex安装目录下的 File Type Signatures Search这个文件。然后在 Description下输入描述比如“图片” ,Extensions 下输入扩展名,多个扩展名可以以分号隔开。heard 下输入文件头的标志,以右斜杠隔开,并一小写 x开头(表示十六进制) 。逐个输入标志字节,比如图片则输入:xFFxD8。假设图片的标志字节在第四个字节,那么在 offset下输入 4。