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

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

 2010-09-30 12:55:34 来源:WEB开发网   
核心提示: 30obj/Type/Pages/Kids[40R]/Count1endobj要描述页面,我们必须规定页面的内容、用于显示这个页面的资源以及页面的大小,深入浅出实战攻防恶意PDF文档(4),这些任务可由下面的代码来完成:40obj/Type/Page/Parent30R/MediaBox[

3 0 obj

/Type /Pages

/Kids [4 0 R]

/Count 1

endobj

要描述页面,我们必须规定页面的内容、用于显示这个页面的资源以及页面的大小。这些任务可由下面的代码来完成:

4 0 obj

/Type /Page

/Parent 3 0 R

/MediaBox [0 0 612 792]

/Contents 5 0 R

/Resources <<

/ProcSet [/PDF /Text]

/Font << /F1 6 0 R >>

endobj

页面内容是由间接对象5来规定的。/MediaBox 是页面的尺寸。这个页面所用的资源是字体和PDF文字绘制例程。我们在间接对象6中将字体规定为[F1]。

间接对象5中存放的是页面内容,它是一种特殊的对象,即流对象。流对象可以用来保存由单词stream和endstream包围的对象内容。流对象的好处是允许使用多种类型的编码技术(在PDF语言中称为过滤器),例如压缩(例如zlib FlateDecode编码)。考虑到易读性,我们没有在这个流中实施压缩处理:

5 0 obj
/Length 43 >>

stream

BT /F1 24 Tf 100 700 Td (Hello World) Tj ET

endstream

endobj

这个流的内容是一组PDF文字绘制指令。这些指令是由BT和ET括起来的,实际上就是命令绘制例程做下面的事情: 

使用大小为24的F1字体 

转到100 700位置处 

绘制文字:Hello World

在PDF语言中,字符串必须用圆括号括起来。

我们的PDF文档已经基本上组装好了。我们需要的最后一个对象是font(字体)对象:

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

Tags:深入浅出 实战 攻防

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