- 1、本文档共5页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
PDF文件格式分析
题目:PDF 文件格式分析
Date:2010.10.31
Author:Cryin
Blog:/justear
一、概述:
结构化的文档格式PDF(Portable Document Format)是由美国排版与图像处理软件公司
Adobe于1993年首次提出的。Adobe Reader这款pdf阅读器软件相信大家并不陌生,人们
熟知它的原因是因为它的应用相当普及,可能接触过计算机的人中没有几个会不知道它,但
是相信也有一部分人注意到Adobe这款软件是因为它频频爆出漏洞的缘故,号称漏洞之王
的Adobe似乎有报不完的漏洞,时不时就会给人以惊喜,其潜力真是不容置疑!这样说来,
如果想对Adobe的漏洞原理进行分析。了解PDF 文件的格式就变得尤为重要了!
二、PDF 文件结构:
PDF 的结构可以从文件结构和逻辑结构两个方面来理解。PDF 的文件结构指的是其文
[1]
件物理组织方式,逻辑结构则指的是其内容的逻辑组织方式 。
1、数据对象类型:
PDF 文件的基本元素是PDF 对象(PDF Object),PDF 对象包括直接对象(Direct Object)
和间接对象(Indirect Object);其中直接对象如下几种基本类型:布尔型(Boolean)、数值型
(Number)、字符串型(String)、名字型(Name)、数组型(Array)、字典型(Dictionary)、流对象
(Stream)以及空对象(Null);间接对象是一种标识了的PDF 对象,这个标识叫作间接对象的
ID。标识的目的是为了让别的PDF 对象引用。任何PDF 对象标识后都变成了间接对象。
2、PDF 文件结构:
PDF 的文件结构(即物理结构)包括四个部分:文件头(Header)、文件体(Body)、交叉引
用表(Cross-reference Table)和文件尾(Trailer),如图-1 所示:
图-1PDF 文件结构
文件头(Header)指明了该文件所遵从PDF 规范的版本号,它出现在PDF 文件的第一行。
如%PDF-1.6表示该文件格式符合PDF1.6规范。
文件体(Body)由一系列的PDF 间接对象组成。这些间接对象构成了PDF 文件的具体内
容如字体、页面、图像等等。
交叉引用表(Cross-reference Table)则是为了能对间接对象进行随机存取而设立的一个
间接对象地址索引表。
文件尾(Trailer)声明了交叉引用表的地址,指明文件体的根对象(Catalog),还保存了加
密等安全信息。根据文件尾提供的信息,PDF 的应用程序可以找到交叉引用表和整个PDF
文件的根对象,从而控制整个PDF 文件。
3、PDF 文档结构:
PDF 的文档结构反映了文件体中间接对象间的等级层次关系。PDF 的文档结构是一种
树型结构如图-2所示。树的根节点就是PDF 文件的目录对象(Catalog)。这个目录对象是PDF
文档的根对象,包含PDF 文档的大纲(Outlines)和页面组对象(Pages)。根节点下有四个子树:
页面树(Pages Tree)、书签树(Outline Tree)、线索树(Article Threads)、名字树(Named
Destination)。
图-2PDF 文档结构
4、PDF 中的资源:
PDF 文件中的内容(如文字、图形、图像)都保存在页面对象的Contents关键字对应的流
对象(Stream)中。内容流(Content Stream)中用到了很多基本对象如数字、字符串,这些都是
用直接对象(DirectObject)表示的。但还有其他一些对象如字体(Font),本身就是用字典对象
(Dictionary)或流对象(Stream)来表示的,无法用直接对象表示,而内容流中又不能出现任何
间接对象,于是就将这些对象命名,并在内容流中用相应的名字来表示它们。这些用名字来
表示的对象就称作命名资源(NamedResources)。
在页面对象中有一个资源项(Resources Key),该项列出了内容流中用到的所有资源,
并建立了一个资源名字与资源对象本身的映射表。
PDF 中的命名资源有:指令集(ProcSet)、字体(Font)、色彩空间(Color space)、外
您可能关注的文档
- _公路工程质量检验评定标准_应用探讨_庄燕.pdf
- 建筑安装工程质量检验评定标准 T.pdf
- 中南地产各部门KPI考核指标汇总表12.20.pdf
- 数值分析课后第二章习题解答.pdf
- 冶金建设工程质量评定标准MGS-31-00-002.pdf
- SL634 堤防工程.pdf
- 毕业论文帮助文件(2015版).pdf
- 水文监测设施建设项目工程监理质量评定细则4.pdf
- YUV、RGB、RAW DATA、JPEG 区别.pdf
- MATLAB中常用命令调用格式总结.pdf
- 2024八年级数学上册第3章一元一次不等式专题四一元一次不等式组的解法应用习题课件新版浙教版.pptx
- 福建省2024八年级数学上册第12章整式的乘除12.2整式的乘法3.多项式与多项式相乘课堂学习课件新版华东师大版.pptx
- 福建省2024八年级数学上册第12章整式的乘除12.1幂的运算2.幂的乘方课件新版华东师大版.pptx
- 福建省2024八年级数学上册第12章整式的乘除12.1幂的运算1.同底数幂的乘法课堂学习课件新版华东师大版.pptx
- 2024七年级数学上册第3章代数式3.4生活中的常量与变量课件青岛版.pptx
- 2024七年级数学上册第2章有理数的运算2.1有理数的加法与减法课件青岛版.pptx
- 2024年黑龙江省龙东地区中考历史试卷(含答案与解析).pdf
- 2024八年级数学上册第2章特殊三角形2.3等腰三角形的性质定理第2课时等腰三角形性质定理2习题课件新版浙教版.pptx
- 2024八年级数学上册第2章特殊三角形2.4等腰三角形的判定定理习题课件新版浙教版.pptx
- 2024八年级数学上册第4章图形与坐标4.2平面直角坐标系第1课时平面直角坐标系的概念基础运算习题课件新版浙教版.pptx
文档评论(0)