导语

pillar的刷题日记

喵喵喵

开局一张图,010editor打开,发现没什么东西藏着。

用stegsolve打开,在RGB的0panel都能明显看到隐写

img

经过一番尝试,在Row LSB BGR顺序可以发现一个PNG,存下来,发现无法查看,这是因为前面多了0xFFFE,用16进制吧FFFE删掉就行了。

打开发现是半张二维码

img

用16进制编辑器把长宽改一样。

img

扫描出来

img

下载内容,提示flag不在这里哦 你猜猜flag在哪里呢? 找找看吧。

回头再看了一眼二维码的16进制,并确定无常规隐写。

考虑到txt文件,有可能是ntfs数据流,用winrar解压,用ntfsstreamseditor

img

在线反编译

#!/usr/bin/env python
# visit https://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']

很简单的re,写个代码求flag

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'][::-1]
flag=''
for i in range(len(ciphertext)):
if i % 2 == 0:
s=int(ciphertext[i])-10
else:
s=int(ciphertext[i])+10
s^=i
flag+=chr(s)
print(flag)

得到

flag{Y@e_Cl3veR_C1Ever!}