0

JPEG形式の画像であるファイルがあります。隠しコンテンツ (ビデオ ファイル) が含まれているかどうかを調べたい。この特定の状況で、隠しコンテンツ (ビデオ ファイル) を見つけようとする方法はありますか? これは、データを画像自体に隠す方法ではないと想定できます。つまり、画像データ自体のビットを変更することはありません。

関連する昨日尋ねた質問は終了しました:画像ファイル内の隠しファイルを見つける方法 (Jpg/Gif/Png)

隠しファイルは、画像の前または最後に配置できます。100% でな​​くても、画像をビット単位で調べるか、その他の優れた精度を提供する方法を検討します。

4

1 に答える 1

1

JPEG として識別されるファイルがある場合、隠しファイルをその前に置くことはできません。そうしないと、JPEG の代わりに他のファイルが識別されます。したがって、必要なことは、JPEG の終了位置を見つけることだけです。ファイルの最後で終了する場合、隠しファイルはありません。

JPEG が終了する場所を見つける方法は次のとおりです (EOI タグで示されます -- 画像の終わり、0xffd9)。JPEG 内に JPEG を含めることができるので、これをより堅牢にするためには、SOI タグ -- Start of Image (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)
于 2013-01-23T00:00:08.810 に答える