SCHOOL PROJECT#8 게임핵??

in #kr-school6 years ago

5월 16일 수요일 오늘 배틀 그라운드 모바일 버전이 정식 출시되었습니다. 많은 유저들의 관심속에서 출시가 되었는데요, 이 배틀그라운드 모바일을 환영해주는 있는 사람들이 있음과 동시에 앞으로의 게임 운영에 대해 걱정의 목소리를 내는 사람들도 많습니다. 바로 게임 핵 때문입니다. 게임 핵이란, 게임의 소스 코드를 변형하거나 자신이 직접 짠 프로그램을 이용하여 게임의 시스템을 변화시켜, 자동 에이밍, 사용자의 위치를 임의로 파악하는 등의 부정한 방법으로 게임을 쉽게 플레이 하기 위해 만들어진 프로그램들입니다. PC버전의 배틀그라운드 또한 사용자들의 무분별한 핵 사용으로 인해 그 플레이어 수가 감소하는 추세이기도 하였습니다.

0002137363_001_20180511153308906.jpg

이러한 게임 핵을 근절시키기 위해 안티 핵을 개발하는 개발자 또한 있는 상황입니다. 옛말에 지피지기면 백전백승 이라는 말이 있습니다. 게임핵을 근절시키기 위해선 먼저 게임 핵의 원리부터 파악하는 것이 중요할 것입니다. 그래서 저는 오늘 게임 핵의 원리에 대해 포스팅 해 보고자 합니다. 절대로 게임 핵을 옹호하고자 하는 것이 아님을 알아주셨으면 합니다!


D3D 후킹? 월(Wall) 핵?

screenshot_2_gomusin_jdr3.jpg

게임 서든어택에서 월핵을 사용한 사용자의 시점이다

D3D 후킹이라는 용어에 대해 들어보신 분들은 많이 없으실 것이라고 생각합니다. 먼저 D3D란, Direct3D의 약자입니다. 다이렉트 3D는 마이크로소프트사의 DirectX API에서 3차원 그래픽스 연산과 출력을 담당하는 부분입니다. 쉽게 얘기해 FPS게임은 모두 3D 기반의 게임들인데, 이러한 디스플레이가 가능하도록 해 주는 프로그램이라는 뜻입니다.

그렇다면 D3D후킹이란 무엇일까요? 말 그대로 D3D를 후킹한다는 것입니다. 프로세스(게임)에서 D3D를 호출할 때 이를 호출하지 않고, 자신이 사전에 제작해 놓은 함수를 출력하도록 하는 것입니다. 그렇다면 이를 어떻게 활용하면 게임 핵이 될 수 있는 것일까요? 자신이 사전에 제작해 놓은 함수를 사용자들의 위치 정보와 관련된 함수를 직접 코딩합니다. 그 다음 이 함수를 실행시킴과 동시에 원래의 맵과 구조물을 그려주는 함수를 호출하게 되면, 기존의 게임 디스플레이와 더불어 사용자의 위치까지 호출하게 되는 것입니다.

이렇게 되면 플레이어는 게임을 플레이할 때 다른 사람들의 위치를 알고 플레이하기 때문에 죽을 확률이 줄어들 것입니다. 이처럼 벽을 꿰뚫어 사용자의 파악하는 핵이라 하여 월(Wall) 핵이라고 부릅니다.


에임(Aim) 핵?

IEKtiavyPb4L8wq4Bz2HnkBXYXCE.jpg

에임 핵이라는 용어가 가장 처음 등장하게 된 배경은 아마도 게임 오버워치에서 시작되었을 것입니다. 에임 핵이란 사용자가 조준선을 표적에 조준하지 않아도, 자동으로 표적에 조준되어 그저 총을 발사하기만 하면 상대방을 맞출 수 있는 핵입니다.

에임 핵은 크게 이미지 핵(Image Hack)메모리 핵(Memory Hack)으로 구분됩니다. 이미지 핵은 말 그대로 게임 상의 화면 즉 이미지에 집중하게 되는 프로그램입니다. 사용자가 프로그램(오토핫 키 : AHK, C++통해 제작)을 사용해 상대방의 체력 상태 표시줄을 X,Y좌표값으로 읽어들여 그곳에 에임이 고정되도록 하는 방식입니다. 이를 응용한 다른 방법으로는 캐릭터별로 색상값이 다르기 때문에 특정 색상값을 X,Y좌표값으로 설정하여 에임이 고정되도록 하는 방식이 있습니다. 그

두 번째로, 메모리 핵(Memory Hack)입니다. 메모리핵은 Xis 프로그램 등으로 게임핵 프로그램 인식 시스템을 피하기 위해 전용 프로그램으로 우회시킨 후 메모리 변조를 통해 핵으로 응용시키는 핵입니다. 컴퓨터 프로그래밍을 전공하지 않은 사람들은 쉽게 코딩할 수 없는 프로그램 내용이기 때문에, 보통 돈을 주고 메모리핵을 프로그래머한테 구입하는 사람이 많습니다. 그러나, 오버워치라는 게임 내에서는 메모리 변조의 흔적이 기록상으로 남을뿐더러, 이미지가 아닌 데이터를 따라가는 원리이기 때문에, 흔들림이 없어 너무 컴퓨터같은 동작으로 작동되어서 적발률이 매우 높습니다.


누킹?

누킹이란 게임 네트워크에 짧은 시간 내에 대량의 패킷을 보내 과부하를 걸어 네트워크를 마비시키는 핵입니다. 약간 옛날에 이슈가 되었었던 DDos공격과 비슷한데요, 그 사용방법은, 컴퓨터 프로그래밍을 통해 다른 사용자들의 PC로 수많은 양의 Trash 파일들을 보냅니다. 공격받게 되는 컴퓨터들은, 수많은 양의 자료를 한꺼번에 처리하지 못해 결국 Traffic이 걸리게 되고 결국 네트워크가 마비가 됩니다.

누킹 핵에 걸렸을 경우 플레이어의 화면에 보이는 디스플레이는, 화면이 정지하여 움직이지 않습니다. 그 동안 상대방의 컴퓨터를 공격한 사용자는 가만히 서있기만 한 다른 플레이어들을 공격하게 되고, 들어온 정보를 모두 처리해서 정상화된 플레이어는 네트워크 마비가 다시 풀렸을 때 죽어있게 되는 것입니다.


몇몇 핵들의 경우 그리 어렵지 않은 프로그래밍 또는 복잡하지 않은 메모리 변조를 통해 생성할 수 있습니다. 개인의 이기심을 위한 무분별한 핵의 사용은 1차적으로는 플레이어들의 흥미를 떨어트리게 됩니다. 2차적으로는 결국 플레이어의 수를 감소시켜 열심히 게임을 개발한 개발자들에게까지 피해가 가게 됩니다. 자신의 이익만을 생각한 이러한 무분별한 게임 핵의 사용은 근절되어야만 할 것입니다.

Sort:  

짱짱맨 호출에 출동했습니다!!

피시방 게임순위를 보면 배그가 38%, 롤이 26%더군요. 이런 인기가 계속 되려면 진짜 핵을 잘잡아야하는데..

그러게요.. 이러다가 오버워치와 비슷한 길을 걷게 되는 것은 아닌지 걱정됩니다

이벤트 참여 감사합니다.
보팅 꾹누르구 가용ㅎㅎ

감사합니다~~

첫 출첵이신가요! 감사합니다. 너무늦은시간까지 스티밋을 즐기지는 마세요! 무엇보다 중요한건 학업이니까요

넵넵 학업과 적절히 병행하면서 하도록 하겠습니다!

제가 나이가 있어서 게임쪽은 팩맨뿐이 ㅎㅎㅎ
하여간 응원합니다!!

감사해요~ 😄😄

짱짱맨 호출로 왔습니다.

Coin Marketplace

STEEM 0.26
TRX 0.13
JST 0.032
BTC 61133.31
ETH 2887.29
USDT 1.00
SBD 3.64