【文件格式漏洞】微软ANI光标文件漏洞彻底分析利用

windows漏洞——user32.dll的ANI文件处理漏洞

ANI文件格式 

ANI(APPlicedon Startins Hour Glass)文件是MS Windows的动画光标文件,可以作为鼠标指针,其文件扩展名为“.ani”。ANI文件由“块”(chunk)构成。它一般由五部分构成:标志区、文字说明区、信息区、时间控制区和数据区,即RIFF—ACON,LIST—INFO,anih,rate,LIST—fram。ANI文件在播放时所形成的动画效果,其实就是一张张的光标或图标图像按一定的顺序绘制到屏幕上,并保留指定的时间(见时间控制区说明)依序循环显示的结果。一个ANI文件的开头12个字节中,头4个字节为RIFF,后4个字节为ACON,中间4个字节是该ANI文件的长度(字节数)。有了RIFF和ACON,就可断定该文件是一个ANI文件,也就是说,ACON是一个动画光标文件的标志。
在一个ANI文件中,必须有的块标识有以下几个:
  RIFF—多媒体文件识别码
  ACON—ANI文件识别码
  anih—ANI文件信息区识别码
  LIST—LIST列表形式(窗体形式fccType=“fram”)
  icon—icon识别码
在一个ANI文件中,还可能有以下几个块标识中的一个或多个:
  INAM—ANI文件标题区识别码
  IART—ANI文件说明信息区识别码
  rate—ANI文件时间控制数据区识别码
  seq —ANI文件图像显示帧顺序控制区识别码
这些块之间的逻辑层次关系可以如下表示:
"RIFF" {Length of File}
    "ACON"
        "LIST" {Length of List}
            "INAM" {Length of Title} {Data}
            "IART" {Length of Author} {Data}
        "fram"
            "icon" {Length of Icon} {Data}      ; 1st in list
            ...
            "icon" {Length of Icon} {Data}      ; Last in list  (1 to cFrames)
    "anih" {Length of ANI header (36 bytes)} {Data}   ; (see ANI Header TypeDef )
    "rate" {Length of rate block} {Data}      ; ea. rate is a long (length is 1 to cSteps)
    "seq " {Length of sequence block} {Data} ; ea. seq is a long (length is 1 to cSteps)
-END-

以上是对ANI文件格式的结论性描述,要完全明白这些块的作用和意义,以及块与块之间的逻辑关系,确实需要下一番功夫。

转载于:https://www.cnblogs.com/exp-pekin/p/4167854.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值