SWUFORCE - 워게임

[드림핵 WEB] Beginner 워게임 Flying Chars 문제풀이

솔리! 2023. 11. 12. 23:46

 

https://dreamhack.io/wargame/challenges/850

 

 

 

주어진 웹페이지에 들어가니 글씨들이 날아다닌다

이 날아다니는 글씨를 멈춰서 문자열을 알아내야 된다고 한다

 

 

개발자 도구를 열어서 이것저것 눌러보는데 딱히 볼게 없었다

쿠키도 없고 ...

 

 

 

 

그러다 문자 이미지와 소스코드를 발견했다

 

 

 

 

 

 

 

네트워크 부분으로 들어와보니 이런 게 나온다 

여기서도 딱히 모르겠다 

 

(*차례대로 누르면 이미지가 뜨는데 이걸 차례대로 읽어서 조합해도 플래그를 구할 수 있다고 한다 이 방법도 나쁘진 않은듯)

 

 

 

 

 

 

img_files를 반복 실행하기 위해서 각 파일을 i로 설정한 것 같다 

 

 

 

 

 

코드 좀 더 아래를 보면 for 문을 이용해서 i를 반복적으로 출력하는 코드가 있다 

여기서 random으로 출력하는게 문제인 것 같다 

 

 

 

 

* 이제 자세한건 모르겠어서 다른 분의 풀이를 참고하기도 하고 검색 해봤다

 

 

Math.random()*60+20은 JavaScript의 Math.random() 함수를 사용해 무작위 숫자를 생성하고, 그 값에 60을 곱하고 20을 더하는 것으로 Math.random() 함수는 0 이상 1 미만의 난수(무작위 숫자)를 생성한다. 여기서는 이 값에 60을 곱하고 20을 더해주면 최종적으로 20 이상 80 미만(20 + 60)의 범위에서 무작위 숫자가 생성되는  것으로 이 값은 anim 함수에 전달되어 특정한 애니메이션 작업에 사용된다. 

 

 

랜덤값이 들어있던 세번째 매개변수 부분은 애니메이션의 속도 또는 지속 시간을 의미한다

다른 분은 1로 설정하셨던데 나는 이해를 위해서 다른 여러가지 숫자를 무작위로 입력해봤다 

 

 

 

 

총 4번 입력해봤는데 숫자가 클수록 속도가 빠르고 0.5처럼 소수점도 입력 가능하고 0을 입력하니 완전히 멈춘 것을 확인할 수 있었다 

 

 

 

 

 

 

따라서 코드를 수정하기 위해서는 콘솔창에 다음과 같이 랜덤값이 아닌 1로 바꿔서 입력하면 느리게 움직이게 된다 

 

 

 

 

 

보이는 코드를 읽으면 플래그를 찾을 수 있는데 플래그 형식이 DH { } 이라는게 저 플래그 값이 DH {  ~~~  } 형태인 줄 알았는데 DH가 없길래 뭐지 했더니 ... 저 플래그를 저 형식 안에 넣으라는 의미였다 .. 쩝 ... 

 

그리고 글씨가 너무 작고 읽기 힘들게 생겨서 다른 분들 풀이 보고 깨닫게 되었음 ;

-이랑 _에 대한 설명도 따로 적어줬어야 된다고 생각한다 ;

 

 

이게 어떻게 x.x     ..........;;;; ㅋ

 

 

 

 

아무튼 

DH{Too_H4rd_to_sEe_th3_Ch4rs_x.x}

 

 

 

 

 

 

 

https://devhacks.tistory.com/56

 

감사합니다 ~ ☆