카테고리 없음

워게임 flying chars

미숫가루빙수 2023. 8. 30. 23:18

 

 

 

날아 다니는 문자열을 멈추게 하여 

플래그를 얻는 문제이다.

 

 

처음 문제와 연결된 사이트로 이동하게 되면 

문자열들이 날아다녀 구분하기 어렵다

 

이 문자열들을 멈추게 해야 하는데 

멈출 수 있는 방법은 소스를 참고하여

계속 움직이게 만드는 코드를 찾고 

콘솔에 멈추도록 다시 입력하는 것이다.

 

<html>
<head>
  <title>Web</title>
</head>
<body>
  <div id="box">
  </div>

  <style type="text/css">
    body{
      display: flex;
      width: 100vw;
      height:100vh;
      padding: 0px;

    }
    #box{
      display: flex;
      flex-direction: column;
      justify-content: space-around;
      width: 90%;
      height:100%;
    }
  </style>

  <script type="text/javascript">
    const img_files = ["/static/images/10.png", "/static/images/17.png", "/static/images/13.png", "/static/images/7.png","/static/images/16.png", "/static/images/8.png", "/static/images/14.png", "/static/images/2.png", "/static/images/9.png", "/static/images/5.png", "/static/images/11.png", "/static/images/6.png", "/static/images/12.png", "/static/images/3.png", "/static/images/0.png", "/static/images/19.png", "/static/images/4.png", "/static/images/15.png", "/static/images/18.png", "/static/images/1.png"];
    var imgs = [];
    for (var i = 0; i < img_files.length; i++){
      imgs[i] = document.createElement('img');
      imgs[i].src = img_files[i]; 
      imgs[i].style.display = 'block';
      imgs[i].style.width = '10px';
      imgs[i].style.height = '10px';
      document.getElementById('box').appendChild(imgs[i]);
    }

    const max_pos = self.innerWidth;
    function anim(elem, pos, dis){
      function move() {
        pos += dis;
        if (pos > max_pos) {
          pos = 0;
        }
        elem.style.transform = `translateX(${pos}px)`;
        requestAnimationFrame(move);
      }
      move();
    }

    for(var i = 0; i < 20; i++){
      anim(imgs[i], 0, Math.random()*60+20);
    }
  </script>
</body>
</html>

전체 코드

 

 

전체 코드 중 문자열을 계속 움직이도록 하는 for문이다.

 

이 for 문을 

for(var i = 0; i < 20; i++){
      anim(imgs[i], 0, 1);
    } 로  바꾸어 콘솔 창에 입력한다.

 

 

다음과 같이 문자열들이 일렬로 

천천히 지나가게 된다.

 

이것들을 정리하면 플래그를 얻을 수 있다.

 

정답: DH{Too_H4rd_to_sEe_th3_Ch4rs_x.x}