題:
用於分解PDF的開源GUI工具
Lizz
2013-04-03 08:09:07 UTC
view on stackexchange narkive permalink

我一直在尋找一種開源GUI工具,以在Windows系統上以自動方式提取PDF。一段時間以來,我一直很感興趣地使用了Didier Steven的工具,但是即使觀看了一些視頻,也無法理解如何使用他的 PDF分解 / 分析工具 。他們似乎需要對基礎的PDF結構有更多的了解,甚至可能還要更多。

對於SWF文件,我正在尋找的工具 SWFScan是:加載將有問題的文件放入工具中。從那裡,您可以瀏覽鏈接,腳本和圖像。它甚至可以自動分析代碼,並顯示哪些部分可能存在安全問題,以及每個部分的安全隱患,然後為網頁提供更多信息。

有人知道過一個不錯的開源GUI Windows是否可以加載PDF但不執行,而是提取所有腳本,編譯後的代碼,文本,鏈接,圖像等?理想情況下,它將顯示每個圖像之間的關係,例如當您單擊某個圖像時,它將告訴您運行了哪些腳本,該腳本轉到哪個URL,並讓您自己查看圖像。

PDF非常普遍,僅次於SWF,以至於這種工具似乎已經很普遍了。我可能忽略了它。

Didier Stevens工具已被廣泛使用,但是您是對的,如果您想了解PDF文件格式,則需要了解它。我有一個(有些冗長)的[blog post](http://www.amccormack.net/anatomy-of-a-pdf-document/),它逐行瀏覽PDF文件,以解釋結構的基礎,但都不使用任何GUI工具。 Didier還為[010編輯器](http://www.sweetscape.com/010editor/)提供了一個[模板](http://blog.didierstevens.com/programs/pdf-tools/)。 010享有很高的聲譽,您可以免費試用30天
@amccormack很棒的註釋,標籤編輯和出色的寫作-我正在閱讀。有趣的是,這使我確信,我正在*尋找的工具應該*存在-即使只是商業用途,如果好的話我會付錢。我曾經認為出色的工具通常是基於文本/命令行的,但是像這樣的情況使我意識到一張圖片有時價值超過1000個單詞。即使比SWF文件複雜得多,仍存在可以從這種工具中受益的結構。
自2006年以來一直未進行維護,但仍然是一個有趣的工具:http://multivalent.sourceforge.net/
另外,https://github.com/qpdf/qpdf可能會有所幫助,它可以在源代碼級別將pdf轉換為更易於閱讀的格式。
我無法再通過他的評論中的鏈接訪問@amccormack's博客文章;我在這裡找到了它,但URL稍有變化:https://amccormack.net/2012-01-22-anatomy-of-a-pdf-document.html謝謝!
五 答案:
Mick
2013-04-03 23:14:38 UTC
view on stackexchange narkive permalink

Sogeti的 Origami框架帶有基於GTK的GUI。

它是什麼?

origami是一個旨在分析,分析和偽造PDF文檔的Ruby框架。這不是PDF渲染庫。它旨在提供一種腳本工具來生成和分析惡意PDF文件。同樣,它也可以用於動態創建自定義PDF或將代碼插入(邪惡的)現有文檔中。

功能

  • 從頭開始創建PDF文檔。
  • 解析現有文檔,對其進行修改並重新編譯。
  • 在對象級別瀏覽文檔,深入文檔結構,解壓縮PDF對象流並模糊化名稱和字符串。
  • 高級操作,例如加密/解密,簽名,文件附件...
  • GTK界面,用於快速瀏覽文檔內容。

enter image description here

這是我在Windows 7系統上的安裝方式:

  • 確保您擁有為Windows安裝的Ruby v1.9.3 http://rubyinstaller.org/downloads/
  • 注意:這可能適用於較新/較舊的Ruby版本,但是我只在Windows 7的v1.9.3上進行了測試(它在我的Linux系統上與ruby v1.8.7兼容)
  • 接下來,通過打開 ADMIN cmd提示符並正在運行:

    gem安裝摺紙

  • 下一步,您將需要安裝 ruby -gtk2 。在與之前相同的ADMIN cmd提示符下,運行:

    gem install gtk2

  • 然後安裝pdfwalker,因為它已移動到單獨的gem:

    gem install pdfwalker

最後,只需從以下目錄運行 pdfwalker 一個cmd提示。

如果這對您不起作用,我建議您嘗試從 Cygwin中進行上述操作,您基本上可以按照說明在* nix上進行安裝。

如果要在Ubuntu / Debian上安裝它

使用以下命令安裝ruby:

apt install ruby​​-full

然後安裝上面列出的摺紙:

gem安裝摺紙

如果要使用GUI,您將可能需要安裝libgtk2.0-dev並安裝rake gem才能安裝gtk2:

  apt install libgtk2.0-devgem安裝rakegem安裝gtk2  

因為pdfwalker也需要libcanberra,所以現在安裝它是一個好主意:

apt install libcanberra-gtk-module

安裝pdfwalker,因為它已移至單獨的gem:

gem安裝pdfwalker

,並且應如上所述從命令行運行。

這會很棒,但是我似乎無法安裝/運行GUI'pdfwalker'。查看該網頁,我沒有看到Windows支持。您能否指出我如何使該應用程序的GUI在Windows上運行?
我更新了在Windows上安裝步驟的答案。我現在在Windows 7系統上運行它。
Ruby 2.2。gtk2-2.2.5更新:您需要大量Cygwin軟件包才能完成此工作。除了gcc和make外,庫的列表並不明顯,涉及運行`gem install origami`和[http://superuser.com/questions/923190/gem-installation-failling-with-the-compiler-failed-to-生成一個可執行文件(讀取mkmf.log)以查看失敗的庫。它還需要安裝一個X服務器,然後啟動它,`export DISPLAY =:0.0`,甚至我得到:`/usr/share/rubygems/rubygems/core_ext/kernel_require.rb:54:in`require':類的超類不匹配日期(TypeError)`
Denis Laskov
2013-04-03 12:23:08 UTC
view on stackexchange narkive permalink

要大部分提取惡意內容(如腳本和漏洞利用),您可以使用在線工具:

Wepawet-用於分析js \ pdf \ flash文件的在線工具包。

Jsunpack-用於分析文件的在線工具包,其中可能包含打包的\編碼的JavaScript代碼,例如PDF \ HTML \ JS。還可以與.pcap文件

一起使用。

另外-用於Linux的脫機工具(不是GUI,而是很好的工具),用於提取shellcode和隱藏字段:

Pdfextract-脫機命令行工具和庫,可以從PDF中提取文本的各個區域。

broadway
2013-04-03 12:21:09 UTC
view on stackexchange narkive permalink

也許 PdfStreamDumper足夠接近您想要的內容,但是您仍然需要一些PDF知識才能有效地使用它。

請添加有關鏈接和/或相關事項的簡短描述。僅鏈接的答案不視為答案。
jduck
2013-04-04 00:37:08 UTC
view on stackexchange narkive permalink

我強烈推薦 Cerbero Profiler

Cerbero Profiler是一個主要用於惡意軟件和取證分析的工具。它支持大量文件格式(下面列出),可以對其進行分析,並允許用戶檢查其內部佈局。 Profiler通常用於識別文件中的0天威脅和個人信息。但是,考慮到項目的規模,它還有許多其他用途,我們鼓勵您訪問我們的博客以查看Profiler的運行情況。

您可能還想查看一下我的開源文件剖析工具。我為此編寫了PDF解析器,但尚未提交。抱歉,我知道這沒有多大幫助。不過,我最終會把它推高。

tibar
2017-11-16 20:36:00 UTC
view on stackexchange narkive permalink

雖然沒有GUI,但我認為值得一提的命令行工具可以自動解決問題中的 。我親自使用了 mupdf 關聯的命令行工具: mutool

例如,處理以下 > PDF文件,請執行以下操作以提取封裝的JPX流:

  $ mutool info Bug691816.pdf Bug691816.pdf:PDF-1.5Info對象(49 0 R ):<< / ModDate(D:20101122114310-08'00')/ CreationDate(D:20101122114251-08'00')/ Title(ID1561x.indd)/ Creator(Adobe InDesign 1.5.2)/ Producer(Adobe PDF Library 4.16 )>>頁數:1從第1-1頁檢索信息...媒體盒(1):1(54 0 R):[0 0612792]圖像(1):1(54 0 R):[JPX] 300x161 8bpc Idx( 58 0 R) 

所以您只需要:

  $ mutool show -be -o obj58.jp2 Bug691816.pdf 58  

您可以驗證:

  $文件obj58.jp2obj58.jp2:JPEG 2000 Part 1(JP2) 

請參閱文檔:


用於 PDF / A-3:EmbeddedFile (如此文件中所示),您甚至可以運行:

  $ mutool Portfolio ZUGFeRD_1p0_BASIC_Einfach.pdf x 0 ZUGFeRD- invoice.xml $ head ZUGFeRD-invoice.xml<?xml version =“ 1.0” encoding =“ UTF-8”?><!-Nutzungsrechte ZUGFeRD Datenformat版本1.0,25.6.2014Beispiel版本29.09.2014Zweck des Forumsfürelektronische Rechn eV(“ FeRD”)ist ua Schaffung和Spezifizierung的日期不正確,日期的基礎和日期由技術的標準化者(“ ZUGFeRD Datenformat”) 

參閱文檔:

OP要求使用GUI工具
確實,我很想念,這與“以自動化方式”衝突
在大多數情況下是,但不必


該問答將自動從英語翻譯而來。原始內容可在stackexchange上找到,我們感謝它分發的cc by-sa 3.0許可。
Loading...