题目太简单了,都不是很想写来着,但想了想还是记录一下吧
签到题,flag在视频里出现了一瞬间
从给的图片里能分离出来一个gif和一个png,gif一共七帧,能分离出来七个二维码
扫码得到一部分flag
DozerCTF{is_it_simple
扫大的二维码能得到零宽字符隐写的一段文字,vim查看可以看到由200b、200c、200d、200e、200f五种字符构成,是zwsp_steg
#python3
import zwsp_steg
f = open('out.txt', 'r').read()
print(zwsp_steg.decode(f, zwsp_steg.MODE_FULL))
得到后半部分flag
_for_you!congratulate}
图片文件尾有个压缩包,分离出来得到两张图片,hint内容和guess
相关,结合另一个jpg文件,想到outguess
,hint图片的文件尾还有一个压缩包,分离出来,得到跳舞的小人加密,解得DOZER
,作为密钥再解outguess,即可得到flag
outguess -k DOZER -r flag.jpg flag.txt
根据题目给的三个文件可以大致推测flag分为三部分,先看日历图,在图片尾可以得到一些字符串
D 040513202625181104
O 0506071522282726181105
Y 051307132027
O 0506071522282726181105
U 051219262728211407
K 0512192606122028
N 26191205132129221508
O 0506071522282726181105
W 0325052707
_ 252627
C 07060504111825262728
R 25181104050612111927
T 05060706132027
结合给的日历上的日期,可以画出来一些字母的形状,得到第一部分flag
DOYOUKNOW_CRT
第二部分是个CRT,找个脚本解一下
from functools import reduce
def egcd(a, b):
if 0 == b:
return 1, 0, a
x, y, q = egcd(b, a % b)
x, y = y, (x - a // b * y)
return x, y, q
def chinese_remainder(pairs):
mod_list, remainder_list = [p[0] for p in pairs], [p[1] for p in pairs]
mod_product = reduce(lambda x, y: x * y, mod_list)
mi_list = [mod_product//x for x in mod_list]
mi_inverse = [egcd(mi_list[i], mod_list[i])[0] for i in range(len(mi_list))]
x = 0
for i in range(len(remainder_list)):
x += mi_list[i] * mi_inverse[i] * remainder_list[i]
x %= mod_product
return x
if __name__=='__main__':
print(chinese_remainder([(5, 2), (7, 2), (17, 9), (23, 16)]))
得到5007
第三部分是个base85,在线网站解一下
_good_over}
拼在一起加个壳就是最终的flag
DozerCTF{DOYOUKNOW_CRT5007_good_over}
和国赛的那个running_pixel类似,换汤不换药
一共218张图片,放大看前几张,可以看到图片里有0或1的数字图案,其中1占了5个像素,脚本遍历一下再b2s即可
from PIL import Image
import libnum
flag = ''
for i in range(1, 219):
ans = 0
img = Image.open("./funny_pixel/%d.png"%(i))
for x in range(img.size[0]):
for y in range(img.size[1]):
p = img.getpixel((x,y))
if p == (239,239,39):
ans += 1
if ans == 5:
flag += '1'
else:
flag += '0'
print libnum.b2s(flag[:(218 - 218 % 8)])
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有