我有一个文件,它是 JPEG 格式的图像。我想知道它是否有隐藏内容(视频文件)。在这种特定情况下,我可以尝试找到隐藏的内容(视频文件)吗?我们可以假设它不是一种将数据隐藏到图像本身的方法,即它不会改变图像数据本身的任何位。
我昨天问的相关问题已关闭:如何在图像文件中找到隐藏文件(Jpg/Gif/Png)
隐藏文件可以在图像的前面或尾部。我愿意逐位检查图像或任何其他可能提供高精度的方法,即使不是 100%
我有一个文件,它是 JPEG 格式的图像。我想知道它是否有隐藏内容(视频文件)。在这种特定情况下,我可以尝试找到隐藏的内容(视频文件)吗?我们可以假设它不是一种将数据隐藏到图像本身的方法,即它不会改变图像数据本身的任何位。
我昨天问的相关问题已关闭:如何在图像文件中找到隐藏文件(Jpg/Gif/Png)
隐藏文件可以在图像的前面或尾部。我愿意逐位检查图像或任何其他可能提供高精度的方法,即使不是 100%
如果您有一个被识别为 JPEG 的文件,则隐藏文件不能位于其前面。否则,将标识其他文件代替 JPEG。因此,您需要做的就是找到 JPEG 的结束位置。如果它在文件末尾结束,那么您没有隐藏文件。
这是一种查找 JPEG 结束位置的方法(由 EOI 标签指示——图像结束,0xffd9)。请注意,JPEG 中可能包含 JPEG,因此为了使其更加健壮,您还必须处理 SOI 标记——图像开始 (0xffd8)。
import sys
data = open(sys.argv[1]).read()
eoi_start = False
for i, c in enumerate(data):
if ord(c) == 0xff:
eoi_start = True
elif ord(c) == 0xd9 and eoi_start:
print 'JPEG ends at byte %d' % (i + 1)
break
else:
eoi_start = False
print 'Total size: %d' % len(data)