2021DozerCTF
煤矿路口西 Lv4

2021DozerCTF


不会有人以为re那道才是签到吧

bilibili视频0.5倍速截图

1

detective_novel

output后得到zip

zip里有flag.jpg和hint.png

hint.png丢进010editor

手动分离

2

用winrar打开

得到hint.txt【希尔顿给福尔摩斯的一封信!!!】

和letter.png

跳舞的小人易得到【DOZER】

结合hint.png中关键词【guess】

猜测为outguess加密

3

DozerCTF{Y0u_arE_h0lME4}

一点也不杂

第一部分

4

5

DOYOUKNOW_CRT

第二部分

#!/usr/bin/env python
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解密

6

_good_over}

拼接得flag

DozerCTF{DOYOUKNOW_CRT5007_good_over}

funny_pixel

图片放大发现中心部分存在01字样

7

8

利用PS提取RGB

9

根据国赛的脚本修改

#!/usr/bin/python
# -*- coding: utf-8 -*-
from PIL import Image
text=[]
for num in range(1,219):
for k in range(num,num+1):#张数一共218(1,2)(2,3)(218,219)
print(k)
im = Image.open('%d.png'%k)
# print(im.size[0])#310
# print(im.size[1])#280
for i in range(im.size[0]):
for j in range(im.size[1]):
if(im.getpixel((i, j))==(239,239,39)):
string=str(i)+"#"+str(j)
text.append(string)
#print(im.getpixel((i,j)))
# img=Image.new('RGB',(310,280))
# text = file.readline()
#print(text)
ch = []
x = []
y = []
for i in range(len(text)):
ch.append(str(text[i]).split("#"))
#print(ch)
x = []
y = []
for i in ch:
x.append(i[0])
y.append(i[1])
print(x)
print(y)
# print(x)
# print(y)
# img = Image.new('RGB', (310, 280))
# for j in range(len(x)):
# print(int(x[j]),int(y[j]))
# img.putpixel((int(x[j]), int(y[j])), (239, 239, 39))
# img.save("test%d.png" % k)

考虑到如果输出图片,仍然需要肉眼识别01,

不如寻找其中的规律

观察发现

10

针对0和1,识别的内容如上图

利用notepad++进行进一步的数据操作

11

12

同时对逗号进行进一步微调后,得到

01000100011011110111101001100101011100100100001101010100010001100111101101000100001100000101111101111001010011110101010101011111010011000100100101101011011001010101111101010000011010010111100001000101011011000111110111

在线进制转换

http://www.ab126.com/goju/1711.html

13

DozerCTF{D0_yOU_LIke_PixEl}

做个问卷吧

DozerCTF{Thank_you_for_participating_in_DozerCTF2021}

  • 本文标题:2021DozerCTF
  • 本文作者:煤矿路口西
  • 创建时间:2021-06-06 21:25:34
  • 本文链接:http://www.mklkx.xyz/2021/06/06/2021DozerCTF/
  • 版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!