워게임/247CTF

[247CTF] HIDDEN PAINTING - MISC / Pygame

SecurityMan 2023. 10. 24. 11:00

 

 247CTF 에서 제공하는

 

EASY 난이도의 MISC 문제

 

MISC는 miscellaneous의 약자로 여러가지 잡다한 이라는 의미를 가지고 있다.

 

반응형

 

문제 설명을 보면

 

플래그가 그림으로 그렸는데,

 

점들을 이어서 찾을 수 있냐고 물어본다.

 

어릴때 많이 했던 점선잇기 같은 느낌이다.

 

 

문제에서 주어지는 것은

 

secret_map.txt 파일이다.

 

16진수가 두개씩 적혀있는데

 

map 이라는걸 보니 이어야 할 점들의 좌표인듯 하다.

 

python을 이용해 그림을 그려본다.

 

import pygame

def main():
    pygame.init()      

    background = pygame.display.set_mode((2700, 200))

    while True:
        ev = pygame.event.poll()    
        if ev.type == pygame.QUIT:  
            break                   

        f = open("secret_map.txt", "r")
        data = f.readlines()
        f.close()

        for line in data:
            l = line.strip().split()
            x=int(l[1],16)
            y=int(l[0],16)
            pygame.draw.line(background, (255,255,255), (x,y), (x,y), 1)

        pygame.display.flip()

    pygame.quit() 

main()

 

그림을 그릴때는 pygame 을 사용했다.

 

도화기 크기는 얼마를 해야할지 몰라서

 

조금씩 늘려가면서 실행시켜 봤는데

 

2700, 200 하면 딱 예쁘게 나왔다.

 

코드는 간단하게 secret_map.txt 파일을 한줄씩 읽어서

 

x, y 좌표를 얻어 그리는 내용이다.

 

 

코드를 실행시키면

 

플래그가 출력되는것을 볼 수 있다.

반응형