この質問イライラ、別々書き出す
1を使用することになり、最初の投稿二つの絵を
これは、圧縮された68の最初のタイトルは、ある
各圧縮袋はサイズのみを4バイトなので、常に殺されたCRCブラストは、独自のスクリプトを記述することが考えられる、怠惰なスクリプトを見つけました
インポートzipファイル
インポート文字列
インポートbinascii
DEF CrackCrc(CRC)
のために私にDIC:
のための J で:DIC
のための K でDIC:
のための時間でDIC:
S =私はJ + K + + Hの
場合、CRC == (binascii.crc32( s.encode())):
f.write(S)
リターン
DEF CrackZip()
のための I における範囲(0,68 )。
ファイル = ' アウト' + STR(I)+ ' の.zip '
CRC = zipfile.ZipFile(ファイル、' R ').getinfo(' data.txtを' ).crcと
CrackCrc(CRC)
DIC = string.ascii_letters +ストリング。数字+ ' + / = '
F =オープン(' out.txtを'、' W ' )
CrackZip()
プリント(" CRC32碰撞完成" )
f.close
次いで、Base64エンコーディングの結果の文字列は、進復号
ので便利前の図を、記憶解凍後526 172 21 07 00 1Aを埋める、我々は、これが不完全RARであることを知っているCF 90 73を参照して、取得
この非常に肌に、そして最終的にflag.txt結果は、私にこれを見て与えてしまった
この1つは固定されており、ヘッダーとビットのCRCマークの間に74があり、その後、第2のマップを見て、私たち図7Aは、今あります
図7Aは、抽出、74に変更される
の実際のフラグであるCMTを