2014-09-06 901 views
1

我试图在256x256 png图像中找到秘密消息,一个字符串。它应该有“使用老派技巧来隐藏数据”,显然这种方法在隐写术维基百科文章中提到。在png图像中隐藏秘密的方法(隐写术)

我试过在大多数老学校出现的一个简单的第一个:LSB隐写术。但没有运气。我知道字符串的第一个和最后一个字符(“F”和“}”),我认为他们可能已经将常用的lsb方法混合了一些,所以我检查了图片的第一个像素和最后一个像素我。但是,没有明显的组合(像只有每个像素的红色值)才会允许正确的字符。因此,我非常积极的是它不使用LSB。

在第二次而非常绝望的尝试中,我看到维基百科谈到了剥离最重要的六位,只留下最不重要的两位,然后正常化图片。我写了一个小脚本来做到这一点,但这里也没有运气。

我还查看了identify -verbose image.png的元数据。没有。该文件在IEND块之后结束,因此没有任何隐藏的内容。

我跑出来的想法,所以在这里我的问题:

任何提示什么还不如老同学伎俩分类,我还没有尝试过?我相信我错过了一些明显的东西。这个练习与其他几个人一起出现,他们一眼就看起来比实际看起来更难。

非常感谢。 :)

+0

在PNG中隐藏数据有无数种方法 - 另外还有一组无数*变化*。您的LSB尝试,例如:您是否认为这些位是从左到右,从上到下,最重要的位先存储的? – usr2564301 2014-09-06 16:29:01

+0

我知道有无数的方法,但它应该是“老派”的事实应该缩小这一点。我希望。我确实尝试了最重要和最不重要的位。最重要的首先与其他实现工作。尽管我并没有尝试从头开始。无论哪种方式,前三位(第一个像素)已经不适合第一个预期的字符(这是假设数据从开始的时候开始)。 – foaly 2014-09-06 16:42:33

+0

尝试此操作:按照您正在阅读它们的确切顺序打印出最不重要的位。这应该给你一个3 * 256x256'0'和'1'的矩阵。如果您检测到模式 - 左右,自上而下或任何其他顺序,请逐眼扫描。 – usr2564301 2014-09-06 16:46:30

回答

2

事实证明,在图片的中间有一个大块长文本,其中包含所需的字符串,只隐藏在最低位的蓝色值,至少位一阶。不知何故,我在我的初步测试中错过了这个组合。所以你去了。 :)

对任何有类似问题的人来说:我觉得最好编写一个脚本来测试所有更常见的变体(如只有单一颜色,垂直,最小位或最大位先等)跑。这很容易错过一个简单的,否则绝望地陷入疯狂复杂的理论。

+0

嗨@foaly,我想从PNG文件中提取一个标志,但不是lenna。这个提示也是“使用老派技巧来隐藏数据”。 (也许我们在同一所学校学习)。我试图找到原始图片,并用工具对它们进行分类。画面中间也有一块。但我没有办法弄清楚它们是如何存储的。你有什么建议吗? – 2016-09-22 05:56:15

+1

我解决了它,它使用多个通道来存储长文本。 – 2016-09-22 10:17:26

+0

OP或@Tim许你能详细解释你是如何解决它的? [email protected]!谢谢我对.png文件有同样的问题。 – DiegoS 2017-09-04 14:49:26