据我所知,我的问题与Stenography或win.rar解决方案中涉及的主题无关,在这些解决方案中,你基本上是在隐藏消息。
我正试图弄清楚是否有一种方法可以通过一条简单的消息将代码插入到jpg或png等文件中,稍后可以通过读取文件的程序提取代码,而无需通过像素的微小差异或速记将其编码到文件中。
我基本上只想要一个标记消息,它是文件本身的一部分,不是由图像阅读器提出的,但可能会被某种文本阅读器看到。
我不确定这有多可能,因为除了RGB像素代码之外,我在很大程度上不理解png/jgp/ect文件的顺序/布局。它是如何开始的,图像显示工具如何知道停止显示等等。
我的设想是:pngStartCode->RGBinfo-->png结束代码,这样图像阅读器就知道停止->某种阅读器会识别的开始序列(可能是新的文本阅读器)->想要交流的书面文本->阅读器的结束代码
我可能只是在漫无边际地谈论一些荒谬的事情,但如果这至少是可能的,请告诉我。
您可以使用以下命令(Windows命令提示符)
- 用您的消息创建一个文本文件,比如"message.txt">
- 现在选择目标文件(可以是任何文件,如.jpg、.png、.exe等),说"image.jpg">
-
现在执行以下命令
copy/b"image.jpg"+"message.txt"NewImage.jpg">
以上命令将合并文件(以二进制模式)并创建一个新文件(在本例中为NewImage.jpg)。现在,如果有人打开图像,他们只会看到noraml图像。如果你想查看文本,你可以用任何文本编辑器(记事本)打开它,向下滚动到最后,在那里你可以找到文本。
在这里,它不会改变图像的任何像素或任何东西,它只是在图像中添加文本。
听起来OP在询问PNG规范中的注释标签(即添加数据但无意隐藏数据)。
PNG文件被分解成";Chunks";。图像部分通常被划分为几个IDAT块;颜色、大小等存储在IHDR块等中
iTXt、tEXt和zTXt块用于传达与图像相关的文本信息,因此通常您会考虑使用工具来添加这些类型的块。tTXt仅用于纯文本,zTXt是压缩的。
关于PNG规范的更多信息,包括可用的区块类型,可以在这里找到,你可以在谷歌上找到区块查看器。
为了在预设时间(2021年1月)方便起见,这里有几个工具可以让你查看、编辑和添加区块:
- Windows 10:http://entropymine.com/jason/tweakpng/
- Linux:https://www.systutorials.com/docs/linux/man/n-png/
- Mac:https://apps.apple.com/us/app/inspectpng/id498851708?mt=12
注意:我不保证以上任何链接的安全。从互联网上下载任何文件时,请使用标准警告。如果你没有自己的防病毒软件,Virustotal有一个在线软件,你可以免费上传个人文件。