2014-11-22 295 views
0

我試圖隱藏PDF文件代碼中的文件。我已經搜索了一些信息來幫助我。我試圖使用pdftk解壓縮pdf(pdftk pdf.pdf輸出uncompress.pdf解壓縮)。然後我嘗試了不同的東西,如:[隱寫術]隱藏PDF文件中的數據

  • 插入註釋:我把「%TEXT_TO_HIDE」放在解壓縮的pdf文件代碼中。
  • 添加新對象:我把「0 0 obj < < TEXT_TO_HIDE < < endobj」放入未壓縮的pdf文件代碼中。
  • 修改現有對象

然後我再次

使用PDFTK在每種情況下壓縮它,我得到一個新的PDF,這是尋找與原來不同。它沒有損壞,但圖像具有不同的顏色,並且缺少一些原始文本。

那麼,你知道一些規則來改變一個PDF代碼沒有任何人注意到嗎?

(PS:很抱歉,如果我的英語不好^^)

+0

您應該提供更多信息,例如您隱藏文本的位置,缺少什麼原始文本,代碼中是否與您隱藏信息的位置相關,壓縮後的圖像有何不同等等。我已經設法通過在流開始之前隱藏我的文本來使第一頁空白。如果您解壓縮pdf然後再進行壓縮而不做任何修改,那麼您的圖像是否有不同的顏色?我沒有注意到我嘗試過的pdf有問題([鏈接](http://people.uleth.ca/~roussel/nld/delay.pdf))。 – Reti43 2014-11-22 11:33:06

回答

2

您不能修改在文本編輯器PDF文件,並希望該文件是在一般仍遵從。 PDF是一種二進制格式,您需要閱讀PDF規範以瞭解如何對其進行修改。

也就是說,有很多地方可以將信息「隱藏」在PDF文檔中,真正的問題是要隱藏多少數據以及目的是什麼。目的通常與這種需求的安全性有關。

由於一些例子:

1)PDF允許在實際的PDF文件中嵌入完整的文件。這不是真正安全的,因爲任何擁有像樣軟件的人都可以提取這些文件(但文件本身仍然可以被保護)。

2)PDF允許在文件的任何位置(或幾乎任何位置)添加任意對象。這是隱藏信息的好方法,但具有合適工具的人可以瀏覽對象樹(即使文件被壓縮)並查看你做了什麼。

3)PDF允許在白色背景上添加白色文本或在其他對象後添加文本。再次,對於擁有正確軟件的人來說,這是有辦法的。

4)Adobe的PDF規範允許在%% EOF標記之後至少有1K的絨毛(儘管ISO 32000沒有)。請記住,任何人用正確的文本或二進制編輯器打開文件都可以看到這一點。 (感謝Jongware)。

總之,您需要更好地定義您想要完成的工作,以及在您的使用案例中「安全」的安全性。

您還應該考慮該方法必須是多麼「健壯」。是否有人能夠用Acrobat保存PDF文件,例如隱藏的代碼是否完好?上述某些方法可能不夠穩健,無法確保絕對確定。

+0

4)您可以在對象之間寫入數據。 5)Adobe的PDF規範允許在'%% EOF'標記之後至少* 1K的絨毛(儘管[ISO 32000不會]](http://stackoverflow.com/questions/11896858/does-the-eof-in- A-PDF-必須對出現在之內的,最後1024字節的最文件))。 – usr2564301 2014-11-22 14:12:49

+0

啊,我們可以討論一下你的觀點4(儘管我喜歡它:-))。根據PDF規範:「PDF文件的主體應由一系列代表文檔內容的間接對象組成。」雖然它可能適用於很多讀者,但我認爲這會使您的方法變得非法。甚至不能有未引用的對象:「表中應包含每個間接對象的單行條目」,關於交叉引用表的部分說:-) – 2014-11-22 18:16:30