태그: SuddenAttack2

넥슨게임, 자바스크립트를 통해 NGM 으로 게임 다운로드 하기

개요

636px-Nexon_Logo.svg.png

 

자바스크립트는 웹에서 사용하는 클라이언트에서 명령어를 처리하는 웹 언어중 하나다.

 

이 언어는 넥슨 웹사이트에서도 잘 쓰이고 있는데, 아래 설명할 자바스크립트 방식을 이용하면 된다.

 

넥슨 홈페이지는 이런 방식으로 게임 실행을 수행하기 때문에 이 방식을 통하면 여러 많은 정보를 유저가 직접 수행할 수 있다는 장점이 있다.

 

 

사용법

스크립트 실행전, 기초정보 확인

이미지_3.png

나는 카스온라인을 기준으로 정보를 알아냈다. 카스온라인의 게임 코드는 “73737” 이란 코드 이다.

이 코드를 기반으로 ‘역으로 다른 게임코드를 집어넣으면 어떻게 실행될 것인가?’ 에 대해서 실험을 해보았다. 당연히 성공.

그럼, 이 코드가 어떤식으로 불러와지는지를 확인하자.

게임 실행에 필요한 자바스크립트

이미지_5.png

넥슨 웹 홈페이지의 게임 시작은 아래와 같은 자바스크립트를 통해 실행이 되는것을 우리는 웹 홈페이지의 소스코드를 통해 확인할 수 있었다.

 

그럼 이 코드를 기반으로 역으로 다른 게임의 코드번호를 알아내는것이 가능할까?

 

가능은 하다. 하지만 찾는 노력이 필요하다.

 

이미지_4.png

나는 이 이미지를 촬영했을 당시, 서든어택2는 G-Star CBT 용으로만 가능했기 때문에 서든어택2의 게임 실행 코드를 넥슨 홈페이지에서 찾아서 이를 역으로 수행할 수 있도록 코드번호를 확인했다.

 

서든어택2의 게임 코드는 “74278” 이란 코드임을 확인했다.

이렇게 코드를 알아냈고, 게임 실행 자바스크립트도 알아냈는데, 현재 알아낸 스크립트 만으로는 게임 실행을 할 수 없다.

아래와 같은 방식으로 좀더 세부적으로 확인해야 게임 시작 스크립트가 어떤 방식으로 동작하는지를 확인할 수 있다.

실제로 자바스크립트를 수행하는 것을 알아보기

이미지_6.png

넥슨 홈페이지의 자바스크립트를 찾아본 결과, 위에 작성했던 스크립트인 GnxGameStartOnClick 이란 스크립트가 아래와 같은 코드를 통해 게임실행을 한다는것을 확인했다.

 

그렇다. 카스온라인 홈페이지에서는 게임 실행을 할 때, GnxGameStartOnClick(); 이란 스크립트를 이용하지만

 

이 스크립트는 PS.game.startGame({ gameCode: 73737 }); 라는 코드를 다시 불러와서 실제로 게임 실행을 시키는 것이다.

 

즉, gameCode 를 적은 것이 무엇이냐에 따라 다른게임이 실행될 수 있다는것을 확인했다.

 

위에서 확인한 서든어택2의 코드가 74248 이므로 이를 역으로 이용해 gameCode 란에 73737 대신 74248 로 넣고 수행을 하면 작동을 한다는 것이다.

 

이미지_7.png 이미지_9.png

실제로 적용을 해보면 위와 같은 식으로 게임 다운로드가 가능하다.

이 이미지 촬영당시에는 두 게임은 실제로 오픈된 게임이 아니기에 다운로드만 가능했다.

그런데, 게임코드까지 알아냈고, 자바스크립트도 아는데 어떻게 실행을 시키냐 인데… 아래와 같이 하면 알 수 있다.

실제로 자바스크립트를 수행하기

이미지 1.png

 구글 크롬 기준으로 F12키를 눌러 개발자 도구를 연다.

콘솔 도구창에서 우리는 위에서 알아낸 정보를 바탕으로 PS.game.startGame 이가 게임을 실행한다는 것을 알아냈으니 이 게임실행코드를 바탕으로 원하는 게임을 실행한다.

이미지 상에서는 카스온라인의 게임 코드인 73737을 실행했다.

이미지 2.png

스크립트를 수행하면 자동으로 게임이 반응하면서 실행을 할 것이다.

끝으로

이를 이용해서 넥슨 게임에서 다운로드가 일반적으로 불가능했던 게임을 쉽게 미리 다운로드 하여 내용물을 알아낼 수 있다.

 

하지만, 이렇다 해서 실제로 종료된 게임을 다시 복구하는것은 불가능하다. 다운로드 서버에 파일이 없는경우 저 스크립트가 아무런 소용이 없다.

 

파일 자체를 불러올 수 없기 때문에 서든어택2 같은경우 2017년 03월 07일을 기준으로는 코드를 아무리 입력해도 파일 다운로드가 되지 않는다.

 

이처럼 이것을 역으로 이용해서 게임 다운로드를 할 수 있도록 하면 무언가 도움이 되지 않을까 하고 작성해본다.