WEB开发网
开发学院网络安全安全技术 深入浅出实战攻防恶意PDF文档 阅读

深入浅出实战攻防恶意PDF文档

 2010-09-30 12:55:34 来源:WEB开发网   
核心提示: 60obj/Type/FontSubtype/Type1/Name/F1/BaseFont/Helvetica/Encoding/MacRomanEncodingendobj现在,阅读这个结构您应该没有问题了,深入浅出实战攻防恶意PDF文档(5),四、尾部上面就是绘制一个页面所需的全部对象

6 0 obj

/Type /Font

Subtype /Type1

/Name /F1

/BaseFont /Helvetica

/Encoding /MacRomanEncoding

endobj

现在,阅读这个结构您应该没有问题了。

四、尾部

上面就是绘制一个页面所需的全部对象。但是仅有这些内容还不足以使阅读程序(即显示pdf文档的程序,如Adobe的Acrobat Reader)来读取和显示我们的PDF文档。绘制例程需要知道文档描述起始于哪个对象(即root对象),以及每个对象的索引之类的技术细节。

每个对象的索引称为交叉引用xref,它描述每个间接对象的编号、版本和绝对的文件位置。PDF文档中的第一个索引必须从版本为65535的0号对象开始:

标识符xref后面的第一个数字是第一个间接对象(这里是0号对象)的编号,第二个数字是xref表(7个表项)的大小。

第一栏是间接对象的绝对位置。第二行的值12表明间接对象1的起始地址距文件开头为12字节。第二栏是版本,第三栏指出对象正在使用(用n表示)还是已经释放(用f表示)。

定义交叉引用之后,我们在尾部中定义root对象:

trailer

/Size 7

/Root 1 0 R

不难看出,这是一个字典。最后,我们需要利用xref元素的绝对位置和幻数%%EOF来结束这个PDF文档:

startxref

644

%%EOF

其中,644是在这个PDF文件内的xref的绝对位置。

五、PDF文档基础知识的回顾

我们一旦了解了PDF语言的语法和语义,就能轻松构建一个简单的PDF文档。为了便于阅读,我们在清单1中给出了完整的PDF文档。

%PDF-1.1

1 0 obj

/Type /Catalog /Outlines 2 0 R /Pages 3 0 R

上一页  1 2 3 4 5 6 7 8 9  下一页

Tags:深入浅出 实战 攻防

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接