我有一个文件,它是JPEG格式的图像。我想知道它是否有隐藏的内容(视频文件)。在这种特定情况下,我是否可以尝试查找隐藏内容(视频文件)?我们可以假设它不是一种将数据隐藏到图像本身中的方法,即它不会改变图像数据本身的任何位。
相关问题我昨天问过哪个已关闭:How to find hidden files inside image files (Jpg/Gif/Png)
隐藏文件可以位于图像前方或尾部。我愿意逐位检查图像或任何其他可能提供高精度的方法,即使不是100%
答案 0 :(得分:1)
如果您有一个标识为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)