什么頭都沒有直接數據的就是ANSI類型,EF BB BF頭的就是UTF-8類型,FF FE頭的就是UNICODE類型的,FE FF頭的就是UNICODE BIG ENDIAN類型的,然后根據類型確定用什么類型的變量保存內容
其他
各類文件的文件頭標志
1、從Ultra-edit-32中提取出來的
JPEG (jpg),文件頭:FFD8FF
PNG (png),文件頭:89504E47
GIF (gif),文件頭:47494638
TIFF (tif),文件頭:49492A00
Windows Bitmap (bmp),文件頭:424D
CAD (dwg),文件頭:41433130
Adobe Photoshop (psd),文件頭:38425053
Rich Text Format (rtf),文件頭:7B5C727466
XML (xml),文件頭:3C3F786D6C
HTML (html),文件頭:68746D6C3E
Email [thorough only] (eml),文件頭:44656C69766572792D646174653A
Outlook Express (dbx),文件頭:CFAD12FEC5FD746F
Outlook (pst),文件頭:2142444E
MS Word/Excel (xls.or.doc),文件頭:D0CF11E0
MS Access (mdb),文件頭:5374616E64617264204A
WordPerfect (wpd),文件頭:FF575043
Postscript (eps.or.ps),文件頭:252150532D41646F6265
Adobe Acrobat (pdf),文件頭:255044462D312E
Quicken (qdf),文件頭:AC9EBD8F
Windows Password (pwl),文件頭:E3828596
ZIP Archive (zip),文件頭:504B0304
RAR Archive (rar),文件頭:52617221
Wave (wav),文件頭:57415645
AVI (avi),文件頭:41564920
Real Audio (ram),文件頭:2E7261FD
Real Media (rm),文件頭:2E524D46
MPEG (mpg),文件頭:000001BA
MPEG (mpg),文件頭:000001B3
Quicktime (mov),文件頭:6D6F6F76
Windows Media (asf),文件頭:3026B2758E66CF11
MIDI (mid),文件頭:4D546864
2、從winhex中取出的文件頭列表
File Type ExtensionsHeader
JPEG jpg;jpeg 0xFFD8FF
PNG png 0x89504E470D0A1A0A
GIF gif GIF8
TIFF tif;tiff 0x49492A00
TIFF tif;tiff 0x4D4D002A
Bit map bmp BM
AOL ART art 0x4A47040E000000
AOL ART art 0x4A47030E000000
PC Paintbrush pcx 0x0A050108
Graphics Metafile wmf 0xD7CDC69A
Graphics Metafile wmf 0x01000900
Graphics Metafile wmf 0x02000900
Enhanced Metafile emf 0x0100000058000000
Corel Draw cdr CDR
CAD dwg 0x41433130
Adobe Photoshop psd 8BPS
Rich Text Format rtf rtf
XML xml
HTML html;htm;php;php3;php4;phtml;shtml type
Email eml Delivery-date:
Outlook Express dbx 0xCFAD12FE
Outlookpst!BDN
MS Office/OLE2doc;xls;dot;ppt;xla;ppa;pps;pot;msi;sdw;db 0xD0CF11E0A1B11AE1
MS Access mdb;mda;mde;mdt Standard J
WordPerfect wpd 0xFF575043
OpenOffice Writer sxw writer
OpenOffice Calc sxc calc
OpenOffice Math sxm math
OpenOffice Impress sxi impress
OpenOffice Draw sxd draw
Adobe FrameMaker fm <MAKERFILE
PostScript eps.or.ps;ps;eps %!PS-Adobe
Adobe Acrobat pdf %PDF-1.
Quicken qdf 0xAC9EBD8F
QuickBooks Backup qbb 0x458600000600
Sage sly.or.srt.or.slt;sly;srt;slt0x53520100
Sage Backup 1 SAGEBACKUP
Lotus WordPro v9 lwp 0x576F726450726F
Lotus 123 v9 123 0x00001A00051004
Lotus 123 v5 wk4 0x00001A0002100400
Lotus 123 v3 wk3 0x00001A0000100400
Lotus 123 v1 wk1 0x2000604060
Windows Password pwl 0xE3828596
ZIP Archive zip;jar 0x504B0304
ZIP Archive (outdated) zip 0x504B3030
RAR Archive rar Rar!
GZ Archive gz;tgz 0x1F8B08
BZIP Archive bz2 BZh
ARJ Archive arj 0x60EA
7-ZIP Archive 7z 7z集'
Wave wav WAVE
AVI avi AVI
Real Audio ram;ra .ra?0
Real Media rm .RMF
MPEG mpg;mpeg 0x000001BA
MPEG mpg;mpeg 0x000001B3
Quicktime mov moov
Windows Media asf 0x3026B2758E66CF11
MIDI mid MThd
Win32 Executable exe;dll;drv;vxd;sys;ocx;vbxMZ
Win16 Executable exe;dll;drv;vxd;sys;ocx;vbxMZ
ELF Executable elf;; 0x7F454C4601010100
各種文件類型文件頭標志位詳細列表
FFD8FFFE00, .JPEG;.JPE;.JPG, "JPGGraphic File"
FFD8FFE000, .JPEG;.JPE;.JPG, "JPGGraphic 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;.lrc;.vxd;
.cpl;.x32, "Executable File"
504B0304, .zip, "Zip Compressed"
3A42617365, .cnt, ""
D0CF11E0A1B11AE1,.doc;.xls;.xlt;.ppt;.apr, "MS Compound Document v1 or Lotus Approach APRfile"
0100000058000000, .emf, ""
03000000C466C456, .evt, ""
3F5F0300, .gid;.hlp;.lhp, "Windows HelpFile"
1F8B08, .gz, "GZ Compressed File"
28546869732066696C65, .hqx, ""
0000010000, .ico, "Icon File"
4C000000011402, .lnk, "Windows LinkFile"
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"
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;.bz2, "Bzip Archive"
49536328, .cab, "Cabinet File"
4C01, .obj, "Compiled Object Module"
303730373037, .tar;.cpio, "CPIO ArchiveFile"
4352555348, .cru;.crush, "CRUSH ArchiveFile"
3ADE68B1, .dcx, "DCX Graphic File"
1F8B, .gz;.tar;.tgz, "Gzip ArchiveFile"
91334846, .hap, "HAP Archive File"
3C68746D6C3E,.htm;.html, "HyperText Markup Language 1"
3C48544D4C3E,.htm;.html, "HyperText Markup Language 2"
3C21444F4354, .htm;.html, "HyperText MarkupLanguage 3"
100, .ico, "ICON File"
5F27A889, .jar, "JAR Archive File"
2D6C68352D,.lha, "LHA Compressed"
20006040600, .wk1;.wks, "Lotus 123 v1 Worksheet"
00001A0007800100, .fm3, "Lotus 123 v3 FMTfile"
00001A0000100400, .wk3, "Lotus 123 v3Worksheet"
20006800200, .fmt, "Lotus 123 v4 FMTfile"
00001A0002100400, .wk4, "Lotus 123 v5"
5B7665725D, .ami, "Lotus Ami Pro"
300000041505052, .adx, "Lotus ApproachADX file"
1A0000030000, .nsf;.ntf, "Lotus NotesDatabase/Template"
4D47582069747064, .ds4, "MicrografixDesigner 4"
4D534346, .cab, "Microsoft CAB FileFormat"
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.0"
31BE000000AB0000, .doc, "MS Word forDOS 6.0"
1A00000300001100, .nsf, "NotesDatabase"
7E424B00, .psp, "PaintShop Pro Image File"
504B0304, .zip, "PKZIP Compressed"
89504E470D0A, .png, "PNG Image File"
6D646174, .mov, "QuickTime Movie"
6D646174, .qt, "Quicktime MovieFile"
52617221, .rar, "RAR Archive File"
2E7261FD, .ra;.ram, "Real AudioFile"
EDABEEDB, .rpm, "RPM Archive File"
2E736E64, .au, "SoundMachine AudioFile"
53495421, .sit, "Stuffit v1 ArchiveFile"
53747566664974, .sit, "Stuffit v5Archive File"
1F9D, .z, "TAR Compressed ArchiveFile"
49492A, .tif;.tiff, "TIFF (Intel)"
4D4D2A,.tif;.tiff, "TIFF (Motorola)"
554641, .ufa, "UFA Archive File"
57415645666D74, .wav, "Wave Files"
D7CDC69A,.wmf, "Windows Meta File"
4C000000, .lnk, "Windows Shortcut (LinkFile)"
504B3030504B0304, .zip, "WINZIPCompressed"
FF575047, .wpg, "WordPerfectGraphics"
FF575043, .wp, "WordPerfect v5 orv6"
3C3F786D6C,.xml, "XML Document"
FFFE3C0052004F004F0054005300540055004200, .xml, "XML Document(ROOTSTUB)"
3C21454E54495459, .dtd, "XML DTD"
5A4F4F20, .zoo, "ZOO Archive File"
通過文件頭標識判斷圖片格式
最近在做東西的時候遇到了點問題,在加載圖片的時候,加載失敗,后綴都是jpg格式,但換個圖片就可以了,為此,懷疑圖片格式有問題,遂拖到UE里面查看它的16進制,果然,兩個圖片的文件頭根本就不一樣,這不是欺負人嘛,害我白白浪費了半天的時間,差點要重新編譯內核。
然后到網上找了一些資料,查看不同格式圖片的文件頭是怎樣的。下面轉帖是不同圖片的文件頭標志:
圖片的格式很多,一個圖片文件的后綴名並不能說明這個圖片的真正格式什么,那么如何獲取圖片的格式呢?我想到了幾個簡單但有效的方法,那就是讀取圖片文件的文件頭標識。我們知道各種格式的圖片的文件頭標識識不同的,因此我們可以通過判斷文件頭的標識來識別圖片格式。
我對各種格式的圖片文件頭標識進行了分析,不僅查找資料,也用十六進制編輯器察看過圖片的文件頭,以下是我收集、分析的結果,供大家參考。
1.JPEG/JPG
- 文件頭標識 (2bytes): $ff, $d8 (SOI) (JPEG 文件標識)
- 文件結束標識 (2bytes): $ff, $d9 (EOI)
2.TGA
- 未壓縮的前5字節 0000 02 00 00
- RLE壓縮的前5字節 00 00 10 00 00
3.PNG
- 文件頭標識 (8 bytes) 89 50 4E 47 0D 0A 1A 0A
4.GIF
- 文件頭標識 (6bytes) 47 49 46 38 39(37) 61
G I F 8 9 (7) a
5.BMP
- 文件頭標識 (2bytes) 42 4D
B M
6.PCX
- 文件頭標識 (1bytes) 0A
7.TIFF
- 文件頭標識 (2bytes) 4D 4D 或 49 49
8.ICO
- 文件頭標識 (8bytes) 00 00 01 00 01 00 20 20
9.CUR
- 文件頭標識 (8bytes) 00 00 02 00 01 00 20 20
10.IFF
- 文件頭標識 (4bytes) 46 4F 52 4D
F O R M
11.ANI
- 文件頭標識 (4bytes) 52 49 46 46
12、Word/Excel(xls.or.doc)
文件頭標識 D0CF11E0 D0CF11E0A1B11AE1
文件結束標識 0100FEFF030A0000
R I F F
根據這些文件頭標識的收集,我可以寫一個識別圖像格式的模塊了。但是在寫這個模塊之前可以對收集到的文件頭標識進行優化,使得程序中字符串比對次數盡量的少。
1.JPEG我們知需要比對文件頭的$ff, $d8這兩個字符,而不用讀取最后的兩個結束標識了。
2.TGA,ICO,CUR只需比對第三個與第五個字符即可。
3.PNG比對[89][50]這兩個字符。
4.GIF比對[47][49][46]與第五個字符。
廢話不多說了,利用內存流來判斷文件的格式,其實判斷文件的前幾個字節就可以簡單的判斷這個文件是什么類型的文件,例如
jpg文件 是 FFD8 (從低位到高位就要反過來 D8FF 下面都是一樣)
BMP文件 是 424D ---4D42
其他的我就不一一列舉了,想知道跟多文件類型分別是用什么字符作為文件的開頭的話,下載個C32asm或者UE等這類16進制編輯器就可以看到了
什么頭都沒有直接數據的就是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開頭(表示十六進制)。逐個輸入標志字節,比如圖片則輸入:\xFF\xD8\。假設圖片的標志字節在第四個字節,那么在offset下輸入4。