为什么这段代码不允许我使用 Ruby 将 pdf 文件隐藏在 png 文件“内部”?

问题描述 投票:0回答:1

我试图在图像文件“kitten.png”中隐藏一个名为“hello_world.pdf”的文件。我使用的代码是:

original_image_file = File.read("kitten.png")
hidden_file = File.read("hello_world.pdf")
output_file = "output.png"

separator = "*----------[#{hidden_file}]----------*"
output = [original_image_file, separator, hidden_file]

File.open(output_file,'wb') do |f_out|
    output.each do |f|
        f_out.puts f
    end
end

我应该能够单击output.png并查看原始图像(kitten.png),但是如果我将文件扩展名更改为.pdf并单击output.pdf,它应该会向我显示hello_world。 pdf.

但是,当我单击output.png或output.pdf时,在这两种情况下都表示无法显示图像或pdf。您知道为什么这不能正常工作吗?

ruby steganography
1个回答
0
投票

您不需要分隔符。只需以不同的方式连续添加 2 个文件,可能会在不同的查看器中工作,但并非全部。所以这里的猫是 Firefox 中的 PDF 或 MS Edge 中的 PNG,但不能保证它们可以在 Acrobat 中工作,因为它不是 ISO PDF 格式。

© www.soinside.com 2019 - 2024. All rights reserved.