我有一个包含一些恶意代码的 PDF 文件;打开时,处理器使用率达到最大值,风扇以全转速运行。产生以下pdfid.py输出:
PDF Header: %PDF-1.7
obj 8598
endobj 8598
stream 8001
endstream 8001
xref 0
trailer 0
startxref 2
/Page 594
/Encrypt 0
/ObjStm 981
/JS 1
/JavaScript 0
/AA 2
/OpenAction 1
/AcroForm 0
/JBIG2Decode 0
/RichMedia 0
/Launch 0
/EmbeddedFile 0
/XFA 0
/URI 0
/Colors > 2^24 0
/JS表示有一个 JavaScript 代码,/AA并且/OpenAction表示有将启动 JavaScript 代码的代码。
但是使用该pdf-parser.py工具,搜索关键字javascript不会产生匹配项:
python ./pdf-parser.py --search javascript ./document.pdf
但搜索关键字会OpenScript返回一个匹配项。
python ./pdf-parser.py --search openaction --raw ./document.pdf
结果:
obj 33412 0
Type: /Catalog
Referencing: 37640 0 R, 4364 0 R, 37641 0 R, 33413 0 R, 18188 0 R, 33259 0 R, 33264 0 R, 18275 0 R, 37642 0 R
<</MarkInfo 37640 0 R/Metadata 4364 0 R/Names 37641 0 R/OpenAction 33413 0 R/Outlines 18188 0 R/PageLabels 33259 0 R/PageLayout/SinglePage/PageMode/UseNone/Pages 33264 0 R/StructTreeRoot 18275 0 R/Type/Catalog/ViewerPreferences 37642 0 R>>
<<
/MarkInfo 37640 0 R
/Metadata 4364 0 R
/Names 37641 0 R
/OpenAction 33413 0 R
/Outlines 18188 0 R
/PageLabels 33259 0 R
/PageLayout /SinglePage
/PageMode /UseNone
/Pages 33264 0 R
/StructTreeRoot 18275 0 R
/Type /Catalog
/ViewerPreferences 37642 0 R
>>
执行:
python ./pdf-parser.py --reference 33412 --raw ../document.pdf
结果:
obj 37639 0
Type: /XRef
Referencing: 33410 0 R, 33412 0 R
Contains stream
<<
/DecodeParms
<<
/Columns 5
/Predictor 12
>>
/Filter /FlateDecode
/ID [<0B1CC64D68284D90BD0A295FADB0972A><08CB936A1AF9EB42A906D26EC2F80EFA>]
/Index [33411 15558]
/Info 33410 0 R
/Length 7901
/Prev 15523287
/Root 33412 0 R
/Size 48969
/Type /XRef
/W [1 3 1]
>>
obj 4368 0
Type: /XRef
Referencing: 33410 0 R, 33412 0 R
Contains stream
<<
/DecodeParms
<<
/Columns 5
/Predictor 12
>>
/Filter /FlateDecode
/ID [<0B1CC64D68284D90BD0A295FADB0972A><08CB936A1AF9EB42A906D26EC2F80EFA>]
/Info 33410 0 R
/Length 8135
/Root 33412 0 R
/Size 33411
/Type /XRef
/W [1 3 1]
>>
终于跑了
python ./pdf-parser.py --object 4368 --raw --filter ./document.pdf
产生我无法解压缩的二进制输出。
有人可以指出我的错误或告诉我如何提取 JavaScript 和 OpenAction 代码以供查看吗?