题目:恶意 PDF 文件解析思路
作者:Cryin'
时间:2010/12/03
链接:https://github.com/Cryin/PDFTear
概述
对于 PDF 文件的解析,必须先要熟悉 PDF 文件各式,貌似所有官方的 PDF 文件各式文档都
是英文的。这样就没办法了,硬着头皮去读呗,如果你对自己的英语构自信那就到这里看吧
参考[1]。除此之外就只能找一些国内撰写的相关资料了。熟悉了 PDF 文件各式之后,怎么
解析 PDF 文件呢?我目前的办法是查找 PDF 文件里面的关键字段,这样做的弊端是对于
Obj 对象里的数据流对象(stream)包含的内容是没办法查找的 。另外也有一些 PDF 漏洞文件
使用了一些混淆技术,这样的 PDF 文件暂时就没有什么好办法解析了。如下面的情况:
%PDF-1.5
1 0 obj
<</#54#79P#65 R 0 5 O#70e#6e#41c#74i#6fn 3 Pages C#61ta#6c#6f#67>>
endobj
关键字
这里就考虑一般的恶意 PDF 文件,主要是对以下关键字段(个人认为和漏洞不牵扯关系的就
不考虑了)进行查找和解析,如下面所示:
·obj
·endobj
·stream
·endstream
·xref
·trailer
·startxref
·/Page
·/Encrypt
·/ObjStm
·/JS
·/JavaScript
·/AA
·/OpenAction
·/ AcroForm
·/URI
·/Filter
·/JBIG2Decode
·/RichMedia
·/Launch
评论0