我有一个文件,它是 JPEG 格式的图像。我想知道它是否有隐藏内容(视频文件)。在这种特定情况下,我可以尝试找到隐藏内容(视频文件)吗?我们可以假设它不是一种将数据隐藏到图像本身的方法,即它不会改变图像数据本身的任何位。
我昨天问的相关问题已关闭:How to find hidden files inside image files (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)
关于java - 查找图像中的隐藏文件(视频文件),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14469084/