PDF文件中的隐写术

7

请问在PDF文件中隐藏数据的方法是什么?换句话说,是否有PDF文件中的隐写术算法?


应该是可以的。毕竟,Adobe在其某些pdf产品中提供了水印功能。 - Stephan Branczyk
PDF支持嵌入JPEG图形。而且JPEG格式的照片非常适合用于隐写术,因此至少有一种简单的方法可供选择。我怀疑其他不使用图形的方法将会太容易被检测到。 - Display Name
3
投票重新开放。我经常很难理解SO中关闭投票群体背后的逻辑。 - yms
3个回答

4

有很多方法可以做到这一点,包括:

  • 使用传统的图像隐写术工具将信息嵌入图像中,然后将图像嵌入PDF中
  • 将文本颜色设置为白色,并确保您没有使用彩色背景
  • 在文本上方叠加一个白色矩形。
  • 使用适当的低级工具创建您秘密文本的文本对象,然后将这些对象标记为已删除。只要没有人尝试压缩您的PDF(Pitstop是其中一种压缩/清理工具),您的数据就会存在。
  • 如果您真的感到乐观,请开始阅读PDF规范(我不确定这是否是最新版本,已经过了几年)。有/曾经有一个交叉引用表,列出了文件中“当前正在使用”的部分。很容易在其中添加一些空洞。

谢谢你的回答。你知道一些能描述嵌入过程的图表或方案吗? - user2144425
3
这样的方案需要很多篇幅才能详尽说明...... PDF非常灵活,可以用很多方法在PDF中隐藏信息,这些方法太多了,无法全部列举。 - mkl

4

隐藏信息最简单的地方是在文件开头的%PDF之前。只要数据不包含%PDF且长度不超过1024字节,Acrobat就可以正确呈现。


2
这通常是一个不好的想法 - Acrobat 可能允许这样做,但并不是所有的 PDF 阅读器/消费者都支持。而且它也不被建立在 PDF 标准之上(如 PDF/X、PDF/A...)。 - David van Driessche
是的,它不像隐藏流那样强大,但绝对快速简单。 - Kevin Borders
1
这可以被认为是隐写术吗?如果是,那么这将是一种极其简单的隐写术案例。在“%PDF”前面检测到这样的数据是非常容易的。 - pabouk - Ukraine stay strong

2

深入探讨Dan Pichelman的答案中的最后一点,您可以将流对象包含在任何PDF文件中,并在交叉引用表中添加对它们的引用。 流对象可以被压缩或加密,如果它没有被文件中的任何其他对象引用,那么PDF阅读器将安全且静默地忽略它。


1
如果您确定PDF文件不会在之后被清理,那么您甚至不需要将该对象添加到交叉引用中...这可能会使其更加“隐藏”。;) - mkl
但是,任何对PDF文件进行简单垃圾回收的工具都可以轻松检测到这一点。我想这样的工具只需打印未使用部分的字节范围,就可以解决问题了。 - Roland Illig

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接