文件类型识别—-魔数

魔数简介:

在识别文件类型时,我们很多人都是通过文件的后缀来识别的,如苍老师.mp4, 波老师.avi, 玛利亚.jpg。 使用后缀名识别文件类型不是特别准确,尤其是后缀民可以手动修改的情况下。 另外一种识别文件名的方式是: 利用文件的头部信息中的标记,我们称这个标记为魔数。也许这个解析不是特准确,但它对识别文件类型比较准确。

常见文件类型魔数表:

 

类别

文件类型

Magic数

起始偏移

结束偏移

Exe,

dll

Windows可执行文件

“MZ”

0

2

Linux可执行文件

“x7Fx45x4cx46”

0

4

Java类

“xCAxFExBAxBE”

0

4

 

 

 

 

 

Office2003, WPS

“xD0xCFx11xE0xA1xB1x1AxE1”

0

8

Office2003, WPS

“WPS2001”

2

9

Office2003, WPS

“x64x6fx63x50x72x6fx70x73”

30

38

Office2007

“_Typesx5dx2exml”

38

49

mdb

“x00x01x00x00Standard Jet DB”

0

20

accdb

“x00x01x00x00Standard ACE DB”

0

20

rtf

“{\rtf”

0

5

hlp

“x3Fx5Fx03x00”

0

4

hlp

“x4Cx4Ex02x00”

0

4

chm

“ITSF”

0

4

mht

“From:”

0

5

reg

“REGEDIT”

0

7

reg

“Windows Registry”

0

16

reg

“Rx00ex00gx00ix00sx00tx00rx00y”

18

33

pdf

“%PDF-“

0

5

eps

“%!PS-Adobe”

0

10

Adobe FrameMaker

0

10

 

 

 

rar

“Rar!”

0

4

zip

“PK 03 04”

0

4

zip

“PK00PK 03 04”

0

8

7z 

“7zxBCxAFx27”

0

5

arj

“x60xEA”

0

2

bz2

“BZh”

0

3

gzip

“ 37213”

0

2

gzip

“x1Fx8Bx08x08”

0

4

tz

“TZ”

0

2

compress

“SZDD”

0

4

cab

“MSCF”

0

4

rpm

“xEDxABxEExDB”

0

4

ace

“x2Ax2Ax41x43x45x2Ax2A”

7

14

 

 

 

 

bmp

“BM”

0

2

jpeg

“377330377”

0

3

jpeg

“JFIF”

6

10

jpeg

“Exif”

6

10

png

“x89PNG”

0

4

gif

“GIF”

0

3

swf

“FWS”

0

3

swf

“CWS”

0

3

flp

“FLhd”

0

4

flp

“flash_project”

4

17

dwg

“AC10”

0

4

tiff

“MMx00x2B”

0

4

tiff

“II*”

0

3

 

 

 

 

 

 

 

rm

“.RMF”

0

4

rm

“.RMX” 

0

4

rm

“PROP” 

18

22

flv

“FLV”

0

3

avi

“AVI LIST” 

8

16

wma

“x30x26xb2x75x8ex66xcfx11”

0

8

wav

  “WAVEfmt”

8

15

mp4

“ftypmp41”

4

12

mp4

“ftypmp42”

4

12

mp4

“ftypisom”

4

12

3gp

“ftyp3gp4

4

12

3gp

“ftypmmp4”

4

12

mp3

“xffxff”  

11

1

mp3

“x49x44x33”

0

3

mtv

“AMV”

0

3

m4a

“ftypM4Ax20”

4

12

m4a

“ftypM4Vx20”

4

12

au

“dns”

0

3

au

“x2Ex73x6Ex64”

0

4

mdi

“EP”

0

2

其他

vhd

“conectix”

0

8

gho

“xFExEFx01”

0

3

nri

“x0ENeroISO”

0

8

pf

“SCCA”

4

8

hqx

“(This file must be converted with BinHex 4.0)”

0

45

 

Unknow

 

-1

0

  • 注1: 上述表格中,有的为”xAA” : 指的为十六进制的0xAA, 因为该数为非打印的字符,因此使用十六进制进行表示;还有一部分为“223” : 指的为八进制数223(O), 原因和上述十六进制相同。
  • 注2:用字符串来表示的优点有很多:1)方便扩展  2)以字符串常量的方式存储在字符串常量区  3)无论采用哪种方式存储,比较时仍然是二进制形式,所以匹配时和单独使用十六进制是相同的效果。

 

3. 如何查看一个文件类型的魔数信息

可使用的软件很多,我自己常用的是UltraEdit, 还有notepad++也可以,只不过需要安装个16进制的插件。

例如:

pdf类型:

wps创建的docx类型:

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2020年7月15日
下一篇 2020年7月15日

相关推荐