- function checkFileType($fileName){
- $file = fopen($fileName, "rb");
- $bin = fread($file, 2);
- fclose($file);
- $strInfo = @unpack("C2chars", $bin);
- $typeCode = intval($strInfo['chars1'].$strInfo['chars2']);
- $fileType = '';
- if($typeCode == 255216 || $typeCode == 7173 || $typeCode == 13780 ) {
- return true;
- }else{
- return false;
- }
- }
File Header文件头,通过检查文件头来判断文件类型
由这些文件头即使文件后缀被乱改也可以通过查看二进制文件查出文件的匹配格式,当然这就是一些播放器识别文件的方法
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
二、从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/OLE2 doc;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;slt 0x53520100
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;vbx MZ
Win16 Executable exe;dll;drv;vxd;sys;ocx;vbx MZ
ELF Executable elf;; 0x7F454C4601010100
以上两篇文章转自http://hi.csdn.net/huliang82
分享到:
相关推荐
综上所述,理解并利用文件头信息来判断文件类型是IT从业者必备的技能之一。无论是编写脚本处理大量文件,还是排查数据传输问题,这个知识都能提供强大的支持。通过深入学习和实践,我们可以更高效地管理和操作各种...
在实际应用中,例如在处理图像文件(如JPEG或PNG)、音频文件(如MP3)或者二进制文件格式(如EXE或DLL)时,开发者会通过读取文件头的特定字节来识别文件类型。例如,JPEG文件的头4字节是'FF D8 FF E0',而PNG文件...
### VC通过文件头格式,判断文件的真实格式 在IT领域,特别是软件开发...总之,通过文件头判断文件类型是一种非常实用的技术,在实际开发中有着广泛的应用。掌握这一技术,有助于开发者构建更加安全、可靠的应用系统。
为了确保我们能够准确地识别文件的类型,一个重要的方法就是通过检查文件的头部信息,也就是所谓的“文件头”。文件头包含了一串特定的字节序列,这些序列对于特定的文件格式是独一无二的,就像每个文件类型的指纹...
文件头(File Header)是文件的开头部分,它包含了文件的元数据,例如文件类型、版本号、作者信息等。文件头的大小和内容因文件类型而异,但它通常包含以下信息: * 文件类型:文件类型的标志,例如图像文件、文本...
标题"Open current header file打开当前文件头(7KB)"指的是一个功能或操作,允许开发者快速查看或编辑与当前源代码相关的头文件。在许多编程环境中,这种功能可以提高开发效率,因为头文件通常包含了函数声明、类...
在IT领域,了解如何通过查看二进制文件来判断文件类型是一项重要的技能,尤其是在处理未知或潜在恶意文件时。文件的后缀名虽然通常用于标识文件类型,但有时会被恶意修改,或者用户可能不知道正确的扩展名。这时,...
5. **自定义配置**:由于 Atom 允许高度定制,用户可以通过文件头来保存特定的编辑器设置,如字体大小、颜色主题或自动完成设置。 在 "file-header-master" 这个子目录中,可能包含了关于 Atom 文件头的源代码、...
一个标准的BMP文件头由两部分组成:文件头(File Header)和位图信息头(Bitmap Info Header)。文件头通常包含14个字节,位图信息头则有40个字节。具体字段如下: 1. **文件头(14字节)**: - `BFType`(2字节)...
这些图片格式都有其特定的文件头标识,通过比较这些标识可以确定文件类型。 首先,GIF(Graphics Interchange Format)图片文件的文件头通常由两个字节'G'和'I'组成,紧接着是'F'和'87a'或'89a',分别代表GIF87a和...
总的来说,FileHeader插件为Sublime Text提供了一个高效、便捷的方式来管理和生成文件头信息,从而提高了开发者的生产力,并保持了代码的整洁和一致性。通过定制模板和了解插件的使用细节,用户能够更充分地利用这一...
位图文件头 (Bitmap File Header)** - **占用空间**: 14个字节 - **主要信息**: - `bfType`: 文件类型标识符,必须为`BM`(值为`0x424D`),表明这是一个BMP文件。 - `bfSize`: 文件总大小,包括文件头、信息头...
Java实现的获取和判断文件头信息工具类用法示例 ...Java实现的获取和判断文件头信息工具类可以根据文件路径获取文件头信息,并根据头信息来判断文件类型,该工具类可以应用于各种文件管理和识别系统中。
1. 文件头(File Header):这是BMP文件的第一个部分,通常包含14个字节。它包括文件类型标识('BM'),文件大小,以及在磁盘上的位置信息。文件头的主要作用是确认文件的类型和定位数据的起始位置。 2. 信息头...
3. **创建文件头并写入**:定义文件头的数据结构,可以是自定义的记录类型,然后创建一个TMemoryStream来存储文件头数据。将文件头数据写入到内存流的开头。 ```delphi type TFileHeader = record Signature: ...
这是一个C#编写的控制台应用程序,只能通过命令行方式运行,根据文件路径,获取16进制文件头字符,判断文件的真正格式,而且可以增加自定义格式,当然这个需要源码,程序没有做加密。 示例: C:\Users\...
3. 如果验证成功,通过 `mkv_file_head_parser` 解析文件头的详细信息,包括各个元素的 ID、长度和值。 4. 初始化解析所需的变量,分配内存来存储 MKV 文件信息,并继续读取文件以处理后续的数据。 在解析过程中,...
总之,在VC++中实现常见文件类型的判断,主要通过检查文件的扩展名和文件头来完成。结合使用字符串操作和文件I/O,我们可以有效地识别各种文件类型,并据此执行相应的操作。对于更复杂的文件格式,可能需要深入理解...
通过理解PE文件头的这些关键元素,我们可以更有效地分析和修改PE文件,以满足特定需求或解决安全问题。例如,逆向工程师可能会检查导入表来了解程序的功能,而安全专家则可能关注数字签名和重定位信息来检测潜在的...
但需要注意的是,不是所有文件类型都有固定的字节签名,某些文件类型可能需要更复杂的解析机制,例如通过解析文件头的特定结构来确定类型。 在Android开发中,由于设备资源有限且可能涉及网络通信,正确判断文件...