나무모에 미러 (일반/어두운 화면)
최근 수정 시각 : 2024-10-09 14:47:16

치트오매틱

파일:external/screenshots.en.sftcdn.net/cheat-o-matic-16.png

Cheat 'O Matic
[clearfix]
1. 개요2. 설명3. 단점4. 기타 등등

1. 개요

PC용 게임 등에서 주로 사용되는 메모리 에디트 툴. 치트오매틱이란 이름은 은하수를 여행하는 히치하이커를 위한 안내서에서 나온 "센스-오-메틱" 장치에서 따왔다.

2. 설명

메모리에서 특정한 값을 가지는 주소를 찾아서 해당 주소의 값을 변경할 수 있게 해 주는 프로그램으로, 게임에서 체력치를 고정하거나 돈을 늘리는 등 이름대로 치트에 주로 쓰인다. 간단한 저용량 프로그램으로서 이용 방법도 매우 간단하다.

RPG 게임을 예로 들자면
  1. 소지금 10골드를 가지고 있고 이를 변경하고자 한다.
  2. 치트오매틱을 실행하고 게임 프로세스를 선택한 뒤 10을 입력하고 찾기를 한다.
  3. 게임으로 돌아와서 몬스터를 잡거나 상점에서 물건을 사고파는 등의 방법으로 골드 숫자를 변경한다.
    가능하면 수가 오르락 내리락 하지 않아야 잘 찾아진다. 오르든 내리든 한 방향으로 하는게 좋다. 현재 골드가 11이라고 치자
  4. 치트오매틱에 변경된 골드 11 숫자를 입력한다.
  5. 치트오매틱이 값을 찾아낼 때까지 여러 번 이 행동을 반복한다.
  6. 값을 찾아내면 원하는 값으로 변경 할수 있게 바뀐다. 여기에 원하는 수치를 입력하고 변경 후 게임을 즐긴다.

10이라는 수치는 당장 내 눈에 보이는 골드의 수치일뿐, 보이지 않는 게임 내부에 수 많은 10이라는 숫자가 존재하기 때문에, 검색 결과 중 골드에 해당하는 값이 저장된 메모리 주소를 찾기 위해 골드를 계속 변경하면서 해당 주소를 찾는 것이다. 예를 들어 10이라는 숫자가 10만개가 있다고 치자. 근데 10에서 11로 변경된 항목은 겨우 1만개 뿐이다. 즉, 돈을 나타내는 항목 후보를 1만개로 줄인것이다. 골드를 12로 변경해서 다시 찾으면 그 1만개 중 수치가 12로 변한 1000개로 후보가 좁혀진다. 이런식으로 반복하면 골드의 최종 위치를 알아낼 수 있다. 1997년에 만들어진 프로그램임에도 불구하고 원리 자체는 여전히 사용 가능하다.

각종 트레이너 프로그램도 이와 같은 원리로 작동하지만, 게이머가 일일이 검색할 필요 없이 제작자가 미리 메모리 주소를 잡아놓고 단축키로 조작할 수 있도록 만들어서 편의성은 훨씬 높다.

최근에는 온라인 게임과 PC 게임의 경우에는 안티 치트 프로그램을 도입하여 프로세스 감시나 메모리 감시로 감별 및 제거되기에 사용시 주의해야할 필요가 있다.

결과가 뜨지 않거나 조작이 반영되지 않는 경우에 흔히 더미 데이터라 생각하지만, 사실은 UI나 임시변수에 값을 넣고 사용하는 경우이다. 더미 데이터라는 개념이 완전히 다른 것이고 보안상 더미 코드를 넣는 경우에도 불필요한 값의 계산들을 하는 것이기에 찾으려는 수치값들이 같아지는 경우는 없다.[1] 온라인 게임의 경우에는 서버에서 값을 받아서 쓰기 때문에 이 받아서 임시 보관해 놓는 메모리를 찾은 것이다. 그래서 조작이 반영되지 않는다는 것은 계속해서 서버의 값을 불러와서 덮어씌우기 때문이다.

3. 단점

단, 워낙 단순한 프로그램이다 보니 0~10 정도의 매우 흔한 숫자를 검색할 경우 검색 결과가 너무 많아 과부하가 걸려서 프로그램이 멈추기도 한다.[2] 또 정확한 숫자를 입력해서 검색하는 방식이다 보니 체력 게이지처럼 숫자로 표시되지 않는 값은 찾을 수 없다. 뒤에 소수점이 있는데 게임에서 생략되어 나오는 경우나, 출력되는 값과 실제 저장되는 값이 다른 경우도 찾기 어렵다. 또 만약 한 수치를 같은 값으로 2개 이상 메모리에 저장하는 방식일 경우도 있는데, 해당 값을 1개만 찾을 때까지 계속 검색해야 하는 치트오매틱의 특성상 수정할 수 없게 된다.

이후에 나온 게임 핵 등 더 기능 많은 프로그램들의 경우 이런 단점들을 해결해 놓았다. 가령 정확한 수치를 몰라도 단순 증가·감소·변동 없음만으로 검색할 수 있게 하거나, 혹은 여러 개의 값을 한 번에 표시해주거나 하는 식이다. 치트 엔진 정도 되면 메모리 값을 추적한 것을 스크립트화 시켜 저장한 파일을 불러오면 값을 추적할 줄 모르는 사람도 에디트가 가능하다.

메모리 값을 숨기고 온라인 서버에 대부분의 수치가 저장되는 온라인 게임 등에서는 당연히 사용불가. 치트오매틱 정도로는 값이 안 찾아지는 경우가 많고 찾아서 수정하더라도 플레이어의 화면에 표시되는 수치만 바뀔 뿐 실제 서버상의 수치는 건드리지 못해 의미없거나, 아예 게임이 이를 감지하고 강제종료시켜 버리기도 한다.

파일:ġƮ1.jpg
네이버 등에서 검색시 위 사진처럼 「치트오틱」이라고 검색되는 것이 있는데 이걸 실행시키면 온갖 악성코드허위 백신 등이 강제로 깔리고 피해자도 꽤 많으니 조심하자. 정 써야겠다면 기능도 많고 편리하며 공식 홈페이지에서 다운로드 코너를 제공하는 치트 엔진을 권한다.

4. 기타 등등


[1] 게임의 경우에는 속도와 퍼포먼스를 위해 더미 코드를 쓰는 일이 없다. 더미 코드는 불필요, 미사용의 추가적인 연산을 하기에 심하면 메모리를 2배 이상 잡아먹기도 하고 연산이 늦어지는 것은 당연하다.[2] 물론 계속 업그레이드되는 치트 엔진 같은 경우엔 이런 일이 없다.[3] 정확하게는 2,147,483,647으로 32비트 signed int형 변수의 최댓값이다.[4] 정확히는 변조된 상태의 Apk의 사용이다. 해킹으로 변조되거나 재빌드된 apk의 경우에는 빌드 옵션상 기본으로 제공하는 암호화나 보안조치가 안되는 경우도 있어서 치트 엔진에 쉽게 노출되기도 한다. 쉽게 말해서 안티핵 관련 기능들이 모두 꺼져있거나 우회되어 있어서 치트 엔진 관련 대안조치가 소용 없다는 말이다. 이 때문에 온라인 게임은 서버 위주 연산을 할 수 밖에 없다.[5] 치트오매틱은 PC 전용 프로그램으로서, 모바일 게임을 치트오매틱으로 해킹하려면 모바일 게임을 앱플레이어로 실행시키는 것부터 해야 한다. 그러나 치트오매틱이 제공하는 기능상으론 앱플레이어로 실행되고 있는 어플은 치트오매틱으로 조작이 불가능하다. 검색이라도 가능케 하려면 기능을 제공하는 치트 엔진을 사용해야 한다.