记录黑客技术中优秀的内容, 传播黑客文化,分享黑客技术精华

PDF解析器-操控PDF的一种方法-第一部分

2015-04-16 20:10

分享到:

http://hackdig-h.stor.sinaapp.com/pictures/month_1504/201504162010115600.png

我在HITB阿姆斯特丹会议期间,提供了为期两天的PDF入侵培训。我在本文中说明的就是其中一种方法。

我在分析PDF文档时(无论是否是恶意文档),有时只想保留PDF文档的关键对象。但是,如果要去除PDF的对象,我就必须更新索引和reference(或删除)。为了尽可能地自动化这个过程,我利用我的PDF解析器创建了一个Python程序,这样的话,我就能使用这个Python程序来生成原始的PDF文件。

因此,每次我想要修改PDF(比如去除对象)时,我就会创建一个与之对应的Python程序,然后我只需要编辑这个Python程序。

我会简单地使用选项-g来执行下面的内容:

http://p9.qhimg.com/t0112db88dffc65f5fb.png

在Python程序运行时,你可编辑Python程序,然后Python程序就会生成一个新的文件。

你也可以一并使用选项 -g 和-f,首先对流进行过滤,然后再把流注入到Python程序中。这样你就可以解压Python程序中的流,然后对流进行编辑。

在这个例子中,如果不使用选项-f,流对象的Python语句是这样的:

oPDF.stream(5, 0, 'x\x9cs\nQ\xd0w3T02Q\x08IS040P0\x07\xe2\x90\x14\x05\r\x8f\xd4\x9c\x9c|\x85\xf0\xfc\xa2\x9c\x14M\x85\x90,\x05\xd7\x10\x00\xdfn\x0b!', '<<\r\n /Length %d\r\n /Filter /FlateDecode\r\n>>')

如果使用选项-f,Python语句是这样的:

oPDF.stream2(5, 0, 'BT /F1 24 Tf 100 700 Td (Hello World) Tj ET', '', 'f')

生成的Python程序需要我的mPDF库。在我的PDF制作工具中可以找到mPDF库。

pdf-parser_V0_6_2.zip (https)

MD5: D6717F1CA6B9DA2392E63F0DABF590DD

SHA256: 4DC0136062E9A5B6D84C74696005531609BD0299887B70DDFFAA19115BF2E746

本文由 360安全播报 翻译,转载请注明“转自360安全播报”,并附上链接。
原文链接:http://blog.didierstevens.com/2015/04/16/pdf-parser-a-method-to-manipulate-pdfs-part-1/?hootPostID=02a7210e1f7fb2787c2488a27ed0fcfe

知识来源: bobao.360.cn/learning/detail/348.html

阅读:107728 | 评论:0 | 标签:无

想收藏或者和大家分享这篇好文章→复制链接地址

“PDF解析器-操控PDF的一种方法-第一部分”共有0条留言

发表评论

姓名:

邮箱:

网址:

验证码:

公告

九层之台,起于累土;黑客之术,始于阅读

推广

工具

标签云

本页关键词