查找图像中的隐藏文件(视频文件)

时间:2013-01-22 22:16:56

标签: java python image hidden-files

我有一个文件,它是JPEG格式的图像。我想知道它是否有隐藏的内容(视频文件)。在这种特定情况下,我是否可以尝试查找隐藏内容(视频文件)?我们可以假设它不是一种将数据隐藏到图像本身中的方法,即它不会改变图像数据本身的任何位。

相关问题我昨天问过哪个已关闭:How to find hidden files inside image files (Jpg/Gif/Png)

隐藏文件可以位于图像前方或尾部。我愿意逐位检查图像或任何其他可能提供高精度的方法,即使不是100%

1 个答案:

答案 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)