8번째 푼 문제이다.

이번 문제 푸느라 눈 빠지는 줄 알았다...
(내가 잘 몰라서 그런거일수있지만..)

8번째 풀이 문제! fly me to the moon



(문제)



아래는 문제 페이지다.



(문제 페이지)



문제 페이지에 들어가면 게임을 하게된다.

그런데 벽이 점점 좁아지면서 깰수 없는... 지경에 이른다. 게다가 점수는 31@@@@ 엄청 많이 이상 받아야 된다고 나온다..

자바스크립트 우회문제구나! 하고 들어가보니.!



(스크립트)



역시! 스크립트는 곱게 줄리 없지!

뷰티하게 정렬해주자.



(스크립트 코드)



이제 좀 사람이 볼만해졌다.

이 코드를 분석하느라 오래걸렸다.. 실은 완벽하게 분석하려다 포기하고
게임에 핵심되는 부분만 골라서 봤다.

내가 원했던 것은 벽에 부딛혀도 안죽게하기!
그런 함수를 뒤지다보니 죽는 함수가 나오는 곳을 발견하였다.



(죽는 함수)



이 조건을보면 벽에 부딛히는 조건을 적어놨다.
나는 요 || (or)연산자를 && (and) 연산자로 바꾸어 죽지 않게 했다.
근데... 난독화되어있는 코드라..
다행이도 || 는 한번쓰인거라서 찾아서 &&로 바꾸어 주기만 하면 됬다.



(|| 사용된곳)



바로 이곳을 && 로 수정해서 다시 스크립트를 입력해주었다.

그랬더니 벽에 아무리 부딛혀도 무적의 전투기가 되었다.



(무적의 전투기)



그런데 또 한가지 문제가 생겼다. 점수가 목표치 31@@@@@ 어쩌구 까지 가는데 오래걸린다...

그래서 점수와 관련된 함수가 이용되는 곳을 공략했다.



(점수가 올라가는 조건)



바로 이 게임에서는 c_s 등 여러 시간에 관련된 시간 변수를 두어 여러가지 동작을 일으켰는데
c_s는 20에 한번씩 0으로 리셋되어 점점 1씩 올라간다. 바로 0으로 리셋될때 점수가 올라가는데
여기서 c_s >20 조건을 c_s>=0 으로 주어 점수가 파파팍 올라가게 했다.

여기서 점수가 하나씩 올라가는 것에 불만을 품고 점수를 한번에 더더 많이 올리기 위해 점수 올리는 함수를 추적하였다.




(점수 상승함수)




(점수 상승함수)



이 곳에 ++로 1씩 증가하게 되어있었는데
이 ++을 여러번 복사 붙여넣기하여 한번에 점수가 1씩이 아닌 팍팍 올라가게 했다.


(점수 팍팍 코드)




이렇게 세팅하고 시작하니 무적의 전투기가 점수가 파파팍 쌓이는 것을 볼 수 있다.



(무적전투기 죽이기)



이렇게 계속 냅둬도 내 전투기는 무적이라 안죽는다.. 그래서 게임이 안끝나는데
내가 죽이는 함수를 이용하여 죽여줘야한다.

31@@@@@ 이상이 될때 전투기를 죽여주면
키가 나온다~!


(문제 해결)


'WarGame > 500 Project' 카테고리의 다른 글

(10/500) Wargame.kr - md5 password  (0) 2017.04.14
(9/500) Wargame.kr - md5_compare  (0) 2017.04.13
(7/500) Wargame.kr - WTF_CODE  (0) 2017.04.12
(6/500) Wargame.kr - flee button  (0) 2017.04.11
(5/500) Wargame.kr - QR Code Puzzle  (0) 2017.04.11

+ Recent posts