메모리 핵으로부터 게임내 정보를 보호하라.

2012. 6. 11. 10:47프로그래밍/아이디어

728x90
반응형

PC게임도 모바일 게임과 동일하다.

게임내의 모든 변수들은 메모리에 상주해 있게되어있다.

따라서 상주해 있는 메모리의 주소를 알고있다면 그 값만 수정해 준다면 게임내에서 사용되는 중요한 값들을 임의로 번경이 가능해진다. 특히 골드나 점수등 게임성에 중요한 영향을 주는 수치들의 경우 중요하게 보호를 해주는 것이 게임성을 해치거나 시장을 흐리지 않게 보호할 수 있다.

오랜기간 동안 노력으로 만든 게임을 불특정 사용자들의 악용으로 좋지 않은 이미지를 줄수 있다.

그래서 간단하게 해결할 수 있는 방법 몇가지를 알아본다.


게임의 특정 수치의 변화값을 찾아주는 툴들을 이용해서 메모리 위치를 찾는 경우가 많다 따라서

핵심은 메모리의 위치를 쉽게 찾을 수 없도록 프로그램을 작성해준다.


  1. 중요한 값들은 String형으로 관리한다.
    출력시에는 바로 사용하면 되고 연산시에는 int형으로 변환을 해서 가감해주고 다시 String형으로 관리하도록 한다.

  2. 분산해서 관리한다.
    게임의 중요한 값들은 메모리에서 GOLD_1, GOLD_2등의 몇개의 변수로 분산해서 메모리에 관리할수 있도록 해준다. 이렇게 하면 게임의 특정 값의 변화값을 통한 메모리 찾기가 쉽지 않게 된다. 하지만 생각해보면 불가능한것도 아닐것 같다. 하지만 조금이나마 어렵게하는게 목적이다.

  3. 별도의 String변수에서 강제로 변경되었는지 확인하는 알고리즘 사용.
    메일 루틴에서 게임의 중요한 값이 혹시라도 메모리 편집이 되었는지 별도의 String값에 담아둔 값과 비교해서 변경되었다면 원래의 값으로 되돌려 준다. 이렇게 하면 메모리 편집을 하여도 반영되지 않는다.

  4. 이 외에도 다양한 방법들이 있을것이다. 또는 위 방볍들을 섞어서 사용하는 것도 좋을것 같다. 



해킹의 끝과 완벽한 방어는 없다, 단지 최소화하는데 노력할 뿐이다.

국내외의 수많은 개발자들이 생업을 위해서 오늘도 키보드와 혈투를 벌이는 가운데 그들의 생계를 위협하는 해킹과 불법적인 공유가 조금이나마 줄었으면 하는 바램입니다.


728x90
반응형

'프로그래밍 > 아이디어' 카테고리의 다른 글

게임의 저장 파일을 사수하라...  (0) 2012.05.25