【问题标题】:How would I encode a binary file to JPG format?如何将二进制文件编码为 JPG 格式?
【发布时间】:2011-03-18 18:50:37
【问题描述】:

我希望能够获取 1 和 0 的流并将其转换为 jpg 可以读取的格式,即 I.E.假设我编写了一个程序并编译并获得了一个 exe,然后通过所述程序从 exe 中获取并运行 1 和 0,它将生成一个 .jpg。关于我需要做什么的任何提示?我希望它没有我想象的那么难。

更新:假设您拍摄任何旧图像,并将其还原为(我想)原始格式,只有一个和零,现在假设您拍摄了那些 1 和 0,并以某种方式解码它们您会得到什么样的程序(显然不是一个功能正常的),但现在我在想假设我们采取了另一种方式并采用 .exe 并以“图像”看起来像的某种格式排列所有 1 和 0,是否可以看到图片,那就是我想发现什么。 (我希望这能解释我感兴趣的内容),所以格式并不重要,我关心的可能是 bmp,只是我想看看程序中是否有任何图像在程序中可区分。

【问题讨论】:

  • 任何特定的语言?最好使用图书馆
  • 您想要 jpeg 而不是 png 的任何特殊原因?
  • 老实说没什么大不了的(两个问题)。我只是想要一种图像格式,我想看看我处理过的各种程序用像素表示会很有趣,我知道 perl 足够好,c/c++,visual basic 和 ada,所以那将是显而易见的选择
  • 由于 JPEG 是有损的,找到一种可以在没有任何损失也没有太多膨胀的情况下转换回来的编码会很有趣。

标签: image encoding binary jpeg


【解决方案1】:

你说的是steganography吗?这将获取一些隐藏消息(可能是可执行文件)并将其隐藏在图像文件中。显然,图像文件会膨胀一点,但我认为这就是您所说的。维基百科页面有一些工具,例如StegFS 和或MP3Stego。

更新

重新阅读您的问题后,您是否只是想要一张两色图像,其中一种颜色代表 1,另一种颜色代表 0?所以二进制序列0110 1101 1010 1101 会产生如下图像:

wbbw
bbwb
bwbw
bbwb

【讨论】:

  • 我不知道会发生什么,我只是想...嘿,开始一次解析 .exe x 位(不确定标准的“颜色宽度”是多少),然后看看get的输出,我想间接是的,它可以并且会在jpg中隐藏.exe,但我对所说的“消息”的jpg更感兴趣,是否有可能某些人的程序实际上是艺术作品.... ;)
【解决方案2】:

嗯,“正确”的方法是使用带有您最喜欢的编程语言的 JPEG 编码库。

如果您想立即开始生成 JPEG,您可以选择让程序以 PPM(一种简单的基于文本的位图图像格式)对图像进行编码,然后使用 cjpeg utility 进行转换为 JPEG。示例:

foo.exe > out.ppm

现在,out.ppm(从维基百科窃取)包含:

P3
# The P3 means colors are in ASCII, then 3 columns and 2 rows, then 255 for max color, then RGB triplets
3 2
255
255   0   0     0 255   0     0   0 255
255 255   0   255 255 255     0   0   0

有了这个,你可以运行:

cjpeg -outfile out.jpg out.ppm

这绝不是一种快速或稳健的生成 JPEG 的方法,但它可以帮助您快速入门。

【讨论】:

  • 看起来很有趣,我下载了一个 zip,但我并没有真正看到在 Windows 上安装的说明,所以我必须做一些调查,我希望它是一个简单的 .exe 文件可以运行而不是从源代码编译。
【解决方案3】:

这听起来有点傻,但是通过将扩展名更改为 .raw,文件会自动在 photoshop(或我的情况下为 Gimp)中打开,您可以看到“位模式”的样子。这就是我的目标。

【讨论】:

    猜你喜欢
    • 2019-10-24
    • 2015-03-24
    • 2010-11-05
    • 2018-09-25
    • 2014-05-09
    • 1970-01-01
    • 1970-01-01
    • 2011-06-24
    • 2011-04-15
    相关资源
    最近更新 更多