件名アドレス:https://buuoj.cn/challenges#%E5%96%B5%E5%96%B5%E5%96%B5
stegslove
開いて、例外があることRGB
を見つけて0通道
、LSB隐写
見つけてくださいpng
保存test.png
PNF。保存として認識できないファイルヘッダの前に多くのものがあるので、正常に表示することができない、データをからPNG
に始まりIEND
、ファイルの末尾が。
2次元コードの半分を保存しました010 Editor
。CRCは開いたときに一致せず、幅と高さが明らかに変更されています
完全なQRコードを取得し、スキャンして情報を取得します
https://pan.baidu.com/s/1pLT2J4f
ダウンロードflag.rar
flag.txt
開いているフラグが見つかりません
ここではNTFS
、ファイルストリームステガノグラフィがあると推測flag.txt
され、新しく作成されたフォルダに解凍されて使用されますNtfsStreamsEditor
何かを隠すのに十分です、それをエクスポートしますflag.pyc
Pyc反编译
オンラインWebサイトを使用して逆コンパイルします:https://tool.lu/pyc/
次のコードを取得します
#!/usr/bin/env python
# visit http://tool.lu/pyc/ for more information
import base64
def encode():
flag = '*************'
ciphertext = []
for i in range(len(flag)):
s = chr(i ^ ord(flag[i]))
if i % 2 == 0:
s = ord(s) + 10
else:
s = ord(s) - 10
ciphertext.append(str(s))
return ciphertext[::-1]
ciphertext = [
'96',
'65',
'93',
'123',
'91',
'97',
'22',
'93',
'70',
'102',
'94',
'132',
'46',
'112',
'64',
'97',
'88',
'80',
'82',
'137',
'90',
'109',
'99',
'112']
ciphertext
それを解決するためのスクリプトを書く
#Author: mochu7
def decode(arg1):
ciphertext = arg1[::-1]
flag = ''
for i in range(len(ciphertext)):
if i % 2 == 0:
s = int(ciphertext[i]) - 10
else:
s = int(ciphertext[i]) + 10
s = s ^ i
flag += chr(s)
print(flag)
if __name__ == '__main__':
ciphertext = [
'96',
'65',
'93',
'123',
'91',
'97',
'22',
'93',
'70',
'102',
'94',
'132',
'46',
'112',
'64',
'97',
'88',
'80',
'82',
'137',
'90',
'109',
'99',
'112']
decode(ciphertext)
PS C:\Users\Administrator\Downloads\新建文件夹> python .\decode.py
flag{
Y@e_Cl3veR_C1Ever!}