wargame.kr 7번 fly me to the moon 이라는 문제다.
점수는 500 point!
흠.. 부정행위 방지 시스템을 우회하여 게임을 클리어 해보라는 것 같다. 한번 시작해보자.
오호.. 뭔가 재밌어 보이는게 나왔다. 게임인가..? 해보라니까 어디한번 해보자.
..? 31337점을 얻으란다. 근데 2점... 몇번 더 해봤는데 50점이상을 못가봤다.
내가 게임을 못하는게 아니다. 애초에 불가능한 게임이었다.(아마도)
소스부터 확인해보자.
흠... 일단 자바스크립트 부분이 난독화가 되어있다. 상당히 수상한 부분이다.
일단 자바스크립트 언팩 사이트를 통해 난독화부터 풀어주자.
https://www.strictly-software.com/unpacker#unpacker
난독화된 소스다.
음.... 저 부분 밑으로도 꽤나 긴 소스코드가 있다.
일단 자세하게 살펴보기로 하자.
오.. 분석하다보니 수상한 부분이 발견됬다. 데이터를 어딘가로 보내는 것 같다.
일단 Ox32bb배열 값들은 나와있으니 들어 있는 내용들을 확인해보자.
출력된 결과를 정리 해 봤다.
$[ajax]({
type: "POST",
url: "high-scores.php",
data: "token=" + token + "$score=" + BTunnelGame["getScore"](),
success: function (_0x8618x19) {
showHighScores(_0x8618x19)
}
})
대충 이런코드가 나온다. 음.. 아무래도 BTunnelGame["getScore"]() 부분이 점수 계산해서 얻어오는 부분인 것 같다.
저 부분을 크롬 개발자 모드로 접속 후 31337로 바꿔서 전송해보자.
키 값이 나왔다. 성공!