2014-11-22 296 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