第一届巅峰极客
程序员文章站
2022-03-09 21:05:33
...
这个比赛真的是神仙打架,肉鸡划水到底,记下复现过程
misc
warmup
图片放去stegsolve看一下可以看见最低位有异常数据(最上面
具体分析就会看见
两个ook编码,一个brainfuck编码,剩下的就是解码了
这里有个注意的是,他的编码每一句都在后面加了个英文的句号(你是魔鬼吧??),解码时要把它去掉
拼在一起就是flag了
loli
有个二维码,手机扫不出,用QRresearch去扫一下
讲道理我没懂255这个tips是在提示什么,然后题目有个0xFF,异或一下然后去binwalk一下,就能看见有个png,foremost出来,
11列,每列都是八个点,联想到二进制,可能就是二进制转成ascii码对应回字母
人工转很麻烦,用个脚本帮忙转
from PIL import Image
def getBinaryToChar():
count = 0
ans = ""
binStr = ""
# 转换成灰度图像(黑点0,白点255)
img = Image.open('2.png').convert('L')
# 遍历像素点(按行读)
width, height = img.size
for h in range(height - 1): # 是否-1均可,最后一行是11个0111111111
for w in range(width - 1): # 需要-1,最后一列全是0
pixel = img.getpixel((w, h))
if pixel == 0:
color = 1 # 黑点1
else:
color = 0 # 白点0
# 9个点一组,构成0xxxxxxxx
count += 1
ans += str(color)
if count == 9:
if ans != "011111111":
binStr += chr(int(ans,2)) #int(ans,2)构建一个int,进制为二进制
count = 0
ans = ""
return binStr
if __name__ == '__main__':
s = getBinaryToChar()
print(s)
with open('res.txt', 'wb') as f:
f.write(s.encode())
然后就看res.txt了
上一篇: 180721 逆向-极客巅峰(Re)