[CTF-MISC] [画像ステガノグラフィ]画像の幅と高さを決定する方法は変更されています

画像編集の幅と高さの分析

画像ステガノグラフィの問題画像の幅と高さを変更すばやく画像裁判官の幅と高さにそれを修正する方法を、非常に一般的な手段の一つでありますか?

  1. 画像のプロパティを表示するために使用するウィンドウは、あなたが同じことをしませ提供して、高さデータ属性の側面と16進ソフトウェア(010Editor、winhex、HXD)を見つけるだろう、この時間は、私たちは、幅と高さが変更されていることを疑うことができます。
    注:時々同じなので、同じことが変更されていないという意味ではありません

  2. 側面の改正は、エラーを読み取るためにリード、CRCを変更しなかったため、自動的にロード010Editorへの写真は、テンプレートを付属し、プロンプトが表示されますCRCは、左下隅と一致していない、これは。
    画像のアスペクトを変更する可能性があることを示し、このプロンプトを参照。

  3. pngcheck、見つけるチェック画像をtweakpng、それがCRCエラーを促すメッセージが表示されます。

  4. 幅と高さを示す通常の表示は、修理にだけ大きなに、変更された場合、高またはワイド変更し、画像が、それは幅や高さを変更することができないかを示し、表示されません。事故の写真を見つける表示、および。


よくあるご質問処理

  1. 幅と高さを変更し、あなたが直接フラグを参照することができ、他の作業を行う必要はありません。
  2. 幅と高さを変更し、フラグは表示されません、あなたはでstegsolveに必要とするか、または他のさらなる処理を行います。
    ここでの問題は発生し、それがIOエラーを示唆し、開くことができない高画像stegsolveを変更することが広すぎます。
    IHDRセグメントPNG画像のアスペクトが変更されるので、これは、計算されたCRCをもたらすことが正しく読み取ることができず、正確ではありません。
    プロセスへの2つの方法があります。
#!/usr/bin/env python
# encoding: utf-8

# -*- coding: utf-8 -*-
import binascii
import struct

#这段数据就是png图中IHDR段的16进制数据,不包括开始的length和最后CRC
#\x49\x48\x44\x52\x00\x00\x05\x1C\x00\x00\x05\x00\x08\x06\x00\x00\x00
#其中\x00\x00\x05\x1C表示宽度,\x00\x00\x05\x00表示高度

crc32key = 0x6F03AD71#IHDR段中CRC值
for i in range(0, 65535):
	height = struct.pack('>i', i)#将整数转化成16进制
	#compute height
	data = '\x49\x48\x44\x52\x00\x00\x05\x1c'+height+'\x08\x06\x00\x00\x00'
	#compute width
	#data = '\x49\x48\x44\x52'+height+'\x00\x00\x09\xe4\x08\x06\x00\x00\x00'

	crc32result = binascii.crc32(data) & 0xffffffff

	if crc32result == crc32key:
		print ''.join(map(lambda c: "%02X" % ord(c), height))
  • 第二の方法は、ウィンドウの下にある[編集]を右クリックし、保存し、よりシンプル、修正画像です。

おすすめ

転載: www.cnblogs.com/cxjchen/p/12611792.html