KR102167650B1 - Apparatus, method and computer program for determining use of a game hack progrmam using image processing - Google Patents

Apparatus, method and computer program for determining use of a game hack progrmam using image processing Download PDF

Info

Publication number
KR102167650B1
KR102167650B1 KR1020170135235A KR20170135235A KR102167650B1 KR 102167650 B1 KR102167650 B1 KR 102167650B1 KR 1020170135235 A KR1020170135235 A KR 1020170135235A KR 20170135235 A KR20170135235 A KR 20170135235A KR 102167650 B1 KR102167650 B1 KR 102167650B1
Authority
KR
South Korea
Prior art keywords
game
execution screen
game execution
image frame
server
Prior art date
Application number
KR1020170135235A
Other languages
Korean (ko)
Other versions
KR20190043324A (en
Inventor
황준식
장창완
Original Assignee
주식회사 넥슨코리아
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 넥슨코리아 filed Critical 주식회사 넥슨코리아
Priority to KR1020170135235A priority Critical patent/KR102167650B1/en
Publication of KR20190043324A publication Critical patent/KR20190043324A/en
Application granted granted Critical
Publication of KR102167650B1 publication Critical patent/KR102167650B1/en

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/70Game security or game management aspects
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/55Controlling game characters or game objects based on the game progress
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2107File encryption

Abstract

사용자 단말에서 표시되는 게임 실행 화면을 캡쳐한 적어도 하나의 이미지 프레임을 획득하는 단계; 상기 획득한 이미지 프레임 내에 포함된 적어도 하나의 오브젝트의 특성을 식별하는 단계; 및 상기 식별된 특성에 기초하여 게임 해킹 프로그램의 사용 여부를 판단하는 단계를 포함하는 이미지 프로세싱을 이용하여 게임 해킹 프로그램의 사용 여부를 판단하는 방법이 개시된다.Obtaining at least one image frame by capturing a game execution screen displayed on a user terminal; Identifying characteristics of at least one object included in the acquired image frame; And determining whether to use the game hacking program based on the identified characteristics. A method of determining whether to use the game hacking program is disclosed by using image processing.

Description

이미지 프로세싱을 이용하여 게임 해킹 프로그램의 사용 여부를 판단하는 방법, 장치 및 컴퓨터 프로그램 {APPARATUS, METHOD AND COMPUTER PROGRAM FOR DETERMINING USE OF A GAME HACK PROGRMAM USING IMAGE PROCESSING}How to determine whether or not to use a game hacking program using image processing, device and computer program {APPARATUS, METHOD AND COMPUTER PROGRAM FOR DETERMINING USE OF A GAME HACK PROGRMAM USING IMAGE PROCESSING}

본 발명은 게임 해킹 프로그램의 사용 여부를 판단하는 방법에 관한 것으로, 특히 이미지 프로세싱을 이용하여 사용자가 게임 해킹 프로그램을 사용하는지 여부를 판단할 수 있는 방법에 관한 것이다.The present invention relates to a method of determining whether to use a game hacking program, and more particularly, to a method of determining whether a user uses a game hacking program by using image processing.

컴퓨팅 디바이스 및 네트워크 환경의 발달에 따라 다양한 유무선 통신 기기를 이용한 온라인 기반의 게임을 즐기는 사용자들이 크게 증가하고 있다. With the development of computing devices and network environments, users who enjoy online-based games using various wired and wireless communication devices are increasing significantly.

다만, 온라인 게임들의 발전에 따라 게임 해킹 프로그램 또한 발전하고 있다. 게임 해킹 프로그램이란 게임 프로그램을 불법적으로 해킹하여 원래 동작과 다른 동작을 하도록 유도하는 용도로 사용되는 프로그램을 의미한다. 해킹 프로그램은 월핵, 에임핵, 맵핵, 스피드핵, 자원핵 등 다양한 종류가 존재한다.However, with the development of online games, game hacking programs are also developing. The game hacking program refers to a program used for the purpose of inducing an operation different from the original operation by illegally hacking a game program. There are various types of hacking programs such as monthly hack, aim hack, map hack, speed hack, and resource hack.

게임 해킹 프로그램을 사용하는 유저들만 비정상적으로 이득을 보기 때문에, 게임 해킹 프로그램을 사용하지 않는 유저들은 게임에 흥미를 잃게 되고, 온라인 게임 전체의 밸런스가 붕괴되며, 결국 게임 서비스 자체가 종료될 가능성이 높다. 따라서 게임 서비스 제공자는 게임 해킹 프로그램의 사용 여부를 판단하고, 게임 해킹 프로그램을 사용한 유저를 제재한다. Because only users who use game hacking programs benefit abnormally, users who do not use game hacking programs lose interest in the game, the overall balance of the online game collapses, and the game service itself is likely to end. . Therefore, the game service provider determines whether or not to use the game hacking program, and sanctions users who use the game hacking program.

게임 서비스 제공자는 유저가 게임 해킹 프로그램을 사용하는지 여부를 다양한 방법을 이용하여 판단하는데, 서비스를 제공하는 온라인 게임의 숫자와 게임 유저의 수가 폭발적으로 증가함에 따라 게임 해킹 프로그램의 사용 여부를 판단하는 것이 점점 어려워지고 있다. Game service providers use various methods to determine whether a user uses a game hacking program. As the number of online games providing services and the number of game users explosively increase, determining whether to use a game hacking program It's getting more and more difficult.

따라서, 이러한 문제점을 해결하기 위해 개선된 게임 해킹 프로그램 사용 여부를 판단하는 방법이 요구되고 있다.Accordingly, there is a need for a method of determining whether to use an improved game hacking program to solve this problem.

게임 해킹 프로그램의 사용 여부를 효율적으로 판단할 수 있도록 한다.It is possible to efficiently determine whether to use a game hacking program.

본 개시의 일부 실시예에 따르면, 이미지 프로세싱을 이용하여 게임 해킹 프로그램의 사용 여부를 판단하는 방법에 있어서, 사용자 단말에서 표시되는 게임 실행 화면을 캡쳐한 적어도 하나의 이미지 프레임을 획득하는 단계; 상기 획득한 이미지 프레임 내에 포함된 적어도 하나의 오브젝트의 특성을 식별하는 단계; 및 상기 식별된 특성에 기초하여 게임 해킹 프로그램의 사용 여부를 판단하는 단계를 포함할 수 있다.According to some embodiments of the present disclosure, there is provided a method for determining whether to use a game hacking program using image processing, the method comprising: obtaining at least one image frame capturing a game execution screen displayed on a user terminal; Identifying characteristics of at least one object included in the acquired image frame; And determining whether to use the game hacking program based on the identified characteristics.

상기 오브젝트의 특성을 식별하는 단계는, 상기 적어도 하나의 오브젝트의 움직임, 상기 적어도 하나의 오브젝트의 색상, 상기 적어도 하나의 오브젝트의 오버랩 여부를 식별할 수 있다.In identifying the characteristics of the object, it is possible to identify a movement of the at least one object, a color of the at least one object, and whether the at least one object overlaps.

상기 방법은, 상기 게임 실행 화면의 시점의 종류 또는 방향을 제어하는 단계를 더 포함할 수 있다. The method may further include controlling the type or direction of a viewpoint of the game execution screen.

상기 적어도 하나의 이미지 프레임을 획득하는 단계는, 상기 시점의 종류 또는 방향이 제어된 게임 실행 화면을 캡쳐한 적어도 하나의 이미지 프레임을 획득할 수 있다.In the obtaining of the at least one image frame, at least one image frame obtained by capturing a game execution screen in which the type or direction of the viewpoint is controlled may be obtained.

상기 게임 실행 화면의 시점의 종류 또는 방향을 제어하는 단계는, 게임 시작 시 표시되는 게임 실행 화면의 시점의 종류 또는 방향을 제어할 수 있다.In the controlling of the type or direction of the viewpoint of the game execution screen, the type or direction of the viewpoint of the game execution screen displayed at the beginning of the game may be controlled.

상기 게임 실행 화면의 시점의 종류 또는 방향을 제어하는 단계는, 상기 게임 실행 화면에 적어도 하나의 캐릭터 오브젝트가 표시되도록 상기 게임 실행 화면의 시점의 종류 또는 방향을 제어할 수 있다.In the controlling of the type or direction of the viewpoint of the game execution screen, the type or direction of the viewpoint of the game execution screen may be controlled so that at least one character object is displayed on the game execution screen.

상기 방법은, 상기 게임 실행 화면에 포함되는 상기 적어도 하나의 오브젝트의 위치를 제어하는 단계를 더 포함할 수 있다.The method may further include controlling a position of the at least one object included in the game execution screen.

상기 적어도 하나의 이미지 프레임을 획득하는 단계는, 상기 적어도 하나의 오브젝트의 위치가 제어된 게임 실행 화면을 캡쳐한 적어도 하나의 이미지 프레임을 획득할 수 있다.In the obtaining of the at least one image frame, at least one image frame obtained by capturing a game execution screen in which the position of the at least one object is controlled may be obtained.

상기 적어도 하나의 오브젝트의 위치를 제어하는 단계는, 게임 시작 시 상기 적어도 하나의 오브젝트가 위치하는 좌표를 제어할 수 있다.The controlling the position of the at least one object may include controlling a coordinate at which the at least one object is located when a game starts.

상기 적어도 하나의 오브젝트의 위치를 제어하는 단계는, 상기 적어도 하나의 오브젝트가 서로 오버랩 되도록 상기 적어도 하나의 오브젝트들의 위치를 제어할 수 있다.In the controlling of the position of the at least one object, the positions of the at least one object may be controlled so that the at least one object overlaps each other.

상기 획득한 이미지 프레임 내에 포함된 적어도 하나의 오브젝트의 특성을 식별하는 단계는, 컨볼루션 뉴럴 네트워크를 이용하여, 상기 획득한 이미지 프레임 내에 포함된 적어도 하나의 오브젝트의 특성을 식별하는 단계를 포함할 수 있다.The step of identifying the characteristic of at least one object included in the obtained image frame may include identifying the characteristic of the at least one object included in the obtained image frame using a convolutional neural network. have.

상기 컨볼루션 뉴럴 네트워크를 이용하여 상기 획득한 이미지 프레임 내에 포함된 적어도 하나의 오브젝트의 특성을 식별하는 단계는, 식별하기를 원하는 오브젝트의 특성에 따라 컨볼루션 커널을 결정하고, 상기 결정된 커널을 이용하여 상기 획득한 적어도 하나의 이미지 프레임을 프로세싱 하는 단계; 및 상기 프로세싱 결과에 기초하여 상기 적어도 하나의 오브젝트의 특성을 식별하는 단계를 포함할 수 있다.The step of identifying the characteristic of at least one object included in the acquired image frame using the convolutional neural network includes determining a convolutional kernel according to the characteristic of the object desired to be identified, and using the determined kernel Processing the obtained at least one image frame; And identifying a characteristic of the at least one object based on the processing result.

본 개시의 일부 실시예는 상기 방법을 구현하기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공할 수 있다.Some embodiments of the present disclosure may provide a computer-readable recording medium in which a program for implementing the method is recorded.

본 개시의 일부 실시예에 따르면, 이미지 프로세싱을 이용하여 게임 해킹 프로그램의 사용 여부를 판단하는 장치는 사용자 단말에서 표시되는 게임 실행 화면을 캡쳐한 적어도 하나의 이미지 프레임을 획득하는 메모리; 및 상기 획득한 이미지 프레임 내에 포함된 적어도 하나의 오브젝트의 특성을 식별하고, 상기 식별된 특성에 기초하여 게임 해킹 프로그램의 사용 여부를 판단하는 프로세서를 포함할 수 있다.According to some embodiments of the present disclosure, an apparatus for determining whether to use a game hacking program by using image processing includes: a memory for obtaining at least one image frame capturing a game execution screen displayed on a user terminal; And a processor that identifies characteristics of at least one object included in the acquired image frame, and determines whether to use a game hacking program based on the identified characteristics.

상기 프로세서는, 상기 적어도 하나의 오브젝트의 움직임, 상기 적어도 하나의 오브젝트의 색상, 상기 적어도 하나의 오브젝트의 오버랩 여부를 식별할 수 있다.The processor may identify movement of the at least one object, a color of the at least one object, and whether the at least one object overlaps.

상기 프로세서는, 상기 게임 실행 화면의 시점의 종류 또는 방향을 제어할 수 있다.The processor may control the type or direction of the viewpoint of the game execution screen.

상기 메모리는, 상기 시점의 종류 또는 방향이 제어된 게임 실행 화면을 캡쳐한 적어도 하나의 이미지 프레임을 획득할 수 있다.The memory may acquire at least one image frame capturing a game execution screen in which the type or direction of the viewpoint is controlled.

상기 프로세서는, 게임 시작 시 표시되는 게임 실행 화면의 시점의 종류 또는 방향을 제어할 수 있다.The processor may control the type or direction of the viewpoint of the game execution screen displayed when the game starts.

상기 프로세서는, 상기 게임 실행 화면에 적어도 하나의 캐릭터 오브젝트가 표시되도록 상기 게임 실행 화면의 시점의 종류 또는 방향을 제어할 수 있다.The processor may control the type or direction of a viewpoint of the game execution screen so that at least one character object is displayed on the game execution screen.

상기 프로세서는, 상기 게임 실행 화면에 포함되는 상기 적어도 하나의 오브젝트의 위치를 제어할 수 있다.The processor may control the location of the at least one object included in the game execution screen.

상기 메모리는, 상기 적어도 하나의 오브젝트의 위치가 제어된 게임 실행 화면을 캡쳐한 적어도 하나의 이미지 프레임을 획득할 수 있다.The memory may acquire at least one image frame capturing a game execution screen in which the position of the at least one object is controlled.

상기 프로세서는, 게임 시작 시 상기 적어도 하나의 오브젝트가 위치하는 좌표를 제어할 수 있다.The processor may control coordinates at which the at least one object is located when a game starts.

상기 프로세서는, 상기 적어도 하나의 오브젝트가 서로 오버랩 되도록 상기 적어도 하나의 오브젝트들의 위치를 제어할 수 있다.The processor may control the positions of the at least one object so that the at least one object overlaps each other.

상기 프로세서는, 식별하기를 원하는 오브젝트의 특성에 따라 컨볼루션 커널을 결정하고, 상기 결정된 커널을 이용한 컨볼루션 뉴럴 네트워크를 이용하여 상기 획득한 적어도 하나의 이미지 프레임을 프로세싱하고, 상기 프로세싱 결과에 기초하여 상기 적어도 하나의 오브젝트의 특성을 식별할 수 있다.The processor determines a convolutional kernel according to a characteristic of an object desired to be identified, processes the at least one image frame obtained using a convolutional neural network using the determined kernel, and based on the processing result Characteristics of the at least one object can be identified.

게임 서비스 제공자 및 사용자가 게임 해킹 프로그램의 사용 여부를 효율적으로 판단할 수 있다.Game service providers and users can efficiently determine whether to use a game hacking program.

도 1은 일부 실시예에 따른 서버 및 사용자 단말을 포함하는 온라인 게임 제공 시스템을 도시한다.
도 2는 일부 실시예에 따른 게임 해킹 프로그램을 설명하기 위한 도면이다.
도 3a 내지 3b는 일부 실시예에 따른 해킹 프로그램에 따른 게임 실행 화면의 변화를 설명하기 위한 도면이다.
도 4는 일부 실시예에 따른 서버가 게임 해킹 프로그램의 사용 여부를 판단하는 방법의 순서도이다.
도 5a 및 도 5b는 일부 실시예에 따른 게임 시점 방향을 설명하기 위한 도면이다.
도 6은 일부 실시예에 따르면 서버가 게임 실행 화면의 시점을 제어하여 게임 해킹 프로그램의 사용 여부를 판단하는 방법의 순서도이다.
도 7a 및 도 7b는 일부 실시예에 따른, 서버가 게임 실행 화면의 시점을 제어하여 적어도 하나의 이미지 프레임을 획득하는 방법을 도시한다.
도 8은 일부 실시예에 따른, 서버가 적어도 하나의 오브젝트의 위치를 제어하여 게임 해킹 프로그램의 사용 여부를 판단하는 방법의 순서도이다.
도 9a 및 도 9b는 일부 실시예에 따른, 서버가 적어도 하나의 오브젝트의 위치를 제어하여 적어도 하나의 이미지 프레임을 획득하는 방법을 도시한다.
도 10 및 도 11은 일부 실시예에 따른 컨볼루션 뉴럴 네트워크를 이용한 이미지 프로세싱 방법을 설명하기 위한 도면이다.
도 12는 일부 실시예에 따른 서버의 세부적인 구성을 설명하기 위한 도면이다.
1 illustrates an online game providing system including a server and a user terminal according to some embodiments.
2 is a diagram for describing a game hacking program according to some embodiments.
3A to 3B are diagrams for explaining a change of a game execution screen according to a hacking program according to some embodiments.
4 is a flowchart of a method for determining whether a server uses a game hacking program according to some embodiments.
5A and 5B are diagrams for explaining a game viewpoint direction according to some embodiments.
6 is a flowchart of a method of determining whether or not to use a game hacking program by controlling a viewpoint of a game execution screen by a server according to some embodiments.
7A and 7B illustrate a method of obtaining at least one image frame by controlling a viewpoint of a game execution screen by a server, according to some embodiments.
8 is a flowchart of a method for determining whether to use a game hacking program by controlling the location of at least one object by a server, according to some embodiments.
9A and 9B illustrate a method of obtaining at least one image frame by a server controlling a location of at least one object, according to some embodiments.
10 and 11 are diagrams for describing an image processing method using a convolutional neural network according to some embodiments.
12 is a diagram for describing a detailed configuration of a server according to some embodiments.

이하, 첨부된 도면들에 기재된 내용들을 참조하여 본 발명에 따른 예시적 실시예를 상세하게 설명한다. 또한, 첨부된 도면들에 기재된 내용들을 참조하여 본 발명의 실시예에 따른 전자 장치를 구성하고 사용하는 방법을 상세히 설명한다. 각 도면에서 제시된 동일한 참조번호 또는 부호는 실질적으로 동일한 기능을 수행하는 부품 또는 구성요소를 나타낸다. Hereinafter, exemplary embodiments according to the present invention will be described in detail with reference to the contents described in the accompanying drawings. In addition, a method of configuring and using an electronic device according to an embodiment of the present invention will be described in detail with reference to the contents described in the accompanying drawings. The same reference numbers or reference numerals in each drawing indicate parts or components that perform substantially the same function.

제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 구성 요소들은 용어들에 의해 한정되지는 않는다. 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 항목들의 조합 또는 복수의 관련된 항목들 중의 어느 하나의 항목을 포함한다. Terms including ordinal numbers, such as first and second, may be used to describe various elements, but the elements are not limited by the terms. The terms are only used for the purpose of distinguishing one component from another component. For example, without departing from the scope of the present invention, a first element may be referred to as a second element, and similarly, a second element may be referred to as a first element. The term and/or includes a combination of a plurality of related items or any one of a plurality of related items.

본 명세서에서 사용한 용어는 실시예를 설명하기 위해 사용된 것으로, 본 발명을 제한 및/또는 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원서에서, 포함하다 또는 가지다 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terms used in this specification are used to describe examples, and are not intended to limit and/or limit the present invention. Singular expressions include plural expressions unless the context clearly indicates otherwise. In the present application, terms such as include or have are intended to designate the existence of features, numbers, steps, actions, components, parts, or a combination of them described in the specification, and one or more other features, numbers, or steps. It is to be understood that it does not preclude the possibility of the presence or addition of, operations, components, parts, or combinations thereof.

명세서 전체에서, 어떤 부분이 다른 부분과 연결되어 있다고 할 때, 이는 직접적으로 연결되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 전기적으로 연결되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 포함한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다. 또한, 명세서에 기재된 "...부", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다.Throughout the specification, when a part is said to be connected to another part, this includes not only a case in which it is directly connected, but also a case in which it is electrically connected with another element interposed therebetween. In addition, when a certain part includes a certain component, it means that other components may be further included, rather than excluding other components unless specifically stated to the contrary. In addition, terms such as "... unit" and "module" described in the specification mean units that process at least one function or operation, which may be implemented as hardware or software, or as a combination of hardware and software. .

이하의 본 명세서에서, 게임 공간이란 게임 서비스를 통해 제공되는 가상의 공간을 게임 공간이라 할 수 있다. 온라인 게임 서비스에서는 게임 오브젝트를 제공하며, 게임 오브젝트들이 존재할 수 있는 가상 공간을 제공하는데, 게임 오브젝트들이 존재할 수 있는 가상 공간을 게임 공간이라 할 수 있다. 물론 게임 공간이란 특정한 게임 서비스에 한정되는 것은 아니고, 사이버 목적물과 모든 가상의 오브젝트들이 존재하는 공간을 의미할 수 있다.In the following specification, a game space may be referred to as a virtual space provided through a game service as a game space. The online game service provides game objects and provides a virtual space in which game objects can exist, and a virtual space in which game objects can exist may be referred to as a game space. Of course, the game space is not limited to a specific game service, and may mean a space in which a cyber object and all virtual objects exist.

이하의 본 명세서에서 오브젝트란 배경, 지형, 캐릭터, 무기 등 뿐만 아니라, 조준점, 체력 인터페이스와 게임 실행 화면 상에 표시되는 모든 것을 의미할 수 있다. 특히 오브젝트는 건물과 같은 구조물 오브젝트, 사용자 캐릭터 또는 다른 사용자 캐릭터와 같은 캐릭터 오브젝트, 캐릭터가 장착하고 있는 무기 오브젝트 등을 포함할 수 있으며, 상기 예시에 제한되지 않는다.In the following specification, an object may mean not only a background, a terrain, a character, a weapon, etc., but also an aiming point, a physical fitness interface, and anything displayed on the game execution screen. In particular, the object may include a structure object such as a building, a character object such as a user character or other user character, a weapon object that the character is equipped with, and the like, but is not limited thereto.

이하의 본 명세서에서 게임 실행 화면의 시점이란 게임 공간을 촬영하는 가상의 카메라를 통해 촬영된 게임 공간이 화면에 표시되는 방식을 의미한다. 게임 실행 화면의 시점의 종류는 1인칭 시점과 3인칭 시점이 있고, 1인칭 시점은 사용자의 캐릭터의 시선에 따라 게임 실행 화면이 표시되는 것을 의미하며, 3인칭 시점은 사용자의 캐릭터의 시점이 아닌 다른 위치에서 사용자의 캐릭터까지 포함하여 게임 실행 화면이 표시되는 것을 의미한다.Hereinafter, in the present specification, the viewpoint of the game execution screen refers to a method in which the game space photographed through a virtual camera photographing the game space is displayed on the screen. The type of viewpoint on the game execution screen is a first-person viewpoint and a third-person viewpoint, and the first-person viewpoint means that the game execution screen is displayed according to the user's character's gaze, and the third-person viewpoint is not the viewpoint of the user's character. It means that the game execution screen including the user's character is displayed at different locations.

또한 게임 실행 화면의 시점의 방향이란 게임 공간을 촬영하는 가상의 카메라의 촬영 방향을 의미하며, 사용자의 입력에 의해 게임 공간의 좌측, 우측 전방 및 후방을 표시할 수 있다. In addition, the direction of the viewpoint of the game execution screen means a photographing direction of a virtual camera that photographs the game space, and the left, right, front and rear of the game space may be displayed according to a user input.

이하의 본 명세서에서는, 사용자는 유저, 게이머를 의미할 수 있으며 상기 예시에 제한되지 않는다.In the following specification, a user may mean a user or a gamer, and is not limited to the above example.

도 1은 일부 실시예에 따른 서버 및 사용자 단말을 포함하는 온라인 게임 제공 시스템을 도시한다. 1 illustrates an online game providing system including a server and a user terminal according to some embodiments.

본 발명의 온라인 게임 제공 시스템(100)은 서버(170)와 적어도 하나의 사용자 단말(110 내지 160)을 포함할 수 있다. 서버(170)는 네트워크 망을 통해 온라인 게임 서비스를 제공할 수 있다. 서버(170)는 적어도 하나의 사용자 단말(110 내지 160)에게 동시에 온라인 게임을 제공할 수 있으며, 온라인 게임은 다수의 사용자들이 네트워크에 접속하여 즐기는 게임을 의미할 수 있다. The online game providing system 100 of the present invention may include a server 170 and at least one user terminal 110 to 160. The server 170 may provide an online game service through a network network. The server 170 may simultaneously provide an online game to at least one user terminal 110 to 160, and the online game may refer to a game that a plurality of users enjoy by accessing a network.

일부 실시예에 따르면, 서버(170)라 함은, 단일 서버, 서버의 집합체, 클라우드 서버등을 포함할 수 있으며, 상기 예시에 제한되지 않는다. 서버(170)는 게임 서비스를 제공하며, 사용자 데이터를 저장하는 데이터 베이스를 포함할 수 있다. 또한 서버(170)는 결제 이벤트를 생성 및 처리하는 결제 서버를 포함할 수도 있다. According to some embodiments, the server 170 may include a single server, a group of servers, a cloud server, and the like, and is not limited to the above example. The server 170 provides game services and may include a database for storing user data. In addition, the server 170 may include a payment server that generates and processes a payment event.

일부 실시예에 따르면 네트워크란 모든 통신 방식을 이용하여 설립(또는 형성)된 연결을 의미하며, 단말과 단말간의 또는 단말과 서버간의 데이터를 송수신하는, 모든 통신 방식을 통해 연결된 통신망을 의미할 수 있다. According to some embodiments, a network refers to a connection established (or formed) using all communication methods, and may refer to a communication network connected through all communication methods, transmitting and receiving data between a terminal and a terminal or between a terminal and a server. .

모든 통신 방식이라 함은 소정의 통신 규격, 소정의 주파수 대역, 소정의 프로토콜 또는 소정의 채널을 통한 통신 등 모든 통신 방식을 포함할 수 있다. 예를 들면, 블루투스, BLE, Wi-Fi, Zigbee, 3G, LTE, 초음파를 통한 통신 방식 등을 포함할 수 있으며, 근거리 통신, 원거리 통신, 무선 통신 및 유선 통신을 모두 포함할 수 있다. 물론 상기 예시에 제한되지 않는다. All communication methods may include all communication methods such as communication through a predetermined communication standard, a predetermined frequency band, a predetermined protocol, or a predetermined channel. For example, it may include a communication method through Bluetooth, BLE, Wi-Fi, Zigbee, 3G, LTE, and ultrasound, and may include short-range communication, long-distance communication, wireless communication, and wired communication. Of course, it is not limited to the above example.

일부 실시예에 따르면 근거리 통신 방식이라 함은, 통신을 수행하는 디바이스(단말 또는 서버)가 소정의 범위 내에 있을 때에만 통신이 가능한 통신 방식을 의미할 수 있으며, 예를 들어, 블루투스, NFC 등을 포함할 수 있다. 원거리 통신 방식이라 함은, 통신을 수행하는 디바이스가 거리와 관계 없이 통신이 가능한 통신 방식을 의미할 수 있다. 예를 들면, 원거리 통신 방식은 AP와 같은 중계기를 통해 통신을 수행하는 두 디바이스가 소정의 거리 이상일 때에도 통신할 수 있는 방식을 의미할 수 있으며, SMS, 전화와 같은 셀룰러 네트워크(3G, LTE)를 이용한 통신 방식을 포함할 수 있다. 물론 상기 예시에 제한되지 않는다. 네트워크 망을 이용하여 게임 서비스를 제공받는다는 의미는 모든 통신 방식을 통해 게임 서버와 단말 간의 통신이 수행될 수 있다는 의미를 포함할 수 있다. According to some embodiments, the short-range communication method may refer to a communication method in which communication is possible only when a device (terminal or server) performing communication is within a predetermined range. For example, Bluetooth, NFC, etc. Can include. The long-distance communication method may mean a communication method in which a device performing communication can communicate regardless of a distance. For example, the long-distance communication method may refer to a method in which two devices performing communication through a repeater such as an AP can communicate even when they are over a predetermined distance, and a cellular network (3G, LTE) such as SMS and telephone is used. It may include the used communication method. Of course, it is not limited to the above example. The meaning of receiving a game service using a network network may include the meaning that communication between the game server and the terminal can be performed through all communication methods.

명세서 전체에서 적어도 하나의 사용자 단말(110 내지 160)이라 함은 퍼스널 컴퓨터(Personal Computer)(110), 태블릿(Tablet)(120), 휴대폰(Cellular Phone)(130), 노트북(140), 스마트 폰(150), TV(160) 뿐만 아니라, PDA(Personal Digital Assistants), PMP(Portable Multimedia Player), 네비게이션, MP3 플레이어, 디지털 카메라, 냉장고, 세탁기, 청소기 등의 다양한 전자 디바이스를 포함할 수 있고, 상기 예시에 제한되지 않는다.Throughout the specification, at least one user terminal (110 to 160) refers to a personal computer (110), a tablet (Tablet) 120, a mobile phone (Cellular Phone) 130, a notebook 140, a smart phone. 150, TV 160, as well as PDA (Personal Digital Assistants), PMP (Portable Multimedia Player), navigation, MP3 player, digital camera, refrigerator, washing machine, may include various electronic devices such as a vacuum cleaner, It is not limited to examples.

일부 실시예에 따르면, 온라인 게임은 스포츠, MMORPG, AOS, FPS, TCG, CCG 등 다양한 장르를 포함할 수 있다. 또한 온라인 게임은 사용자와 사용자간의 대결 방식의 게임일 수도 있고, 사용자와 컴퓨터(예를 들면, 인공지능)과의 대결 방식일 수도 있다. 물론 상기 예시에 제한되지 않으며 온라인 게임의 형태에는 제한이 없다. According to some embodiments, the online game may include various genres such as sports, MMORPG, AOS, FPS, TCG, and CCG. In addition, the online game may be a game of a confrontation between a user and a user, or may be a confrontation between a user and a computer (eg, artificial intelligence). Of course, it is not limited to the above example, and there is no limitation on the form of the online game.

일부 실시예에 따르면, 서버(170)는 이미지 프로세싱을 이용하여 게임 해킹 프로그램의 사용 여부를 판단할 수 있다. 서버(170)는 사용자 단말에서 표시되는 게임 실행 화면을 캡쳐한 적어도 하나의 이미지 프레임을 획득하고, 획득한 이미지 프레임 내의 적어도 하나의 오브젝트의 특성을 식별하고, 식별된 특성에 기초하여 게임 해킹 프로그램의 사용 여부를 판단할 수 있다. 게임 실행 화면의 캡쳐는 서버(170)의 요청에 의해 사용자 단말(110 내지 160)에서 수행될 수 있다. 물론 상기 예시에 제한되지 않으며, 게임 서비스의 제공 형태에 따라 서버(170)에서 게임 실행 화면이 캡쳐될 수도 있다. 이는 이하의 도 6 내지 도 12에서 더 자세히 설명한다. According to some embodiments, the server 170 may determine whether to use a game hacking program by using image processing. The server 170 acquires at least one image frame capturing the game execution screen displayed on the user terminal, identifies the characteristics of at least one object in the obtained image frame, and based on the identified characteristics, the game hacking program Whether to use or not can be determined. The capture of the game execution screen may be performed by the user terminals 110 to 160 at the request of the server 170. Of course, it is not limited to the above example, and the game execution screen may be captured by the server 170 according to the type of game service provided. This will be described in more detail in FIGS. 6 to 12 below.

도 2는 일부 실시예에 따른 게임 해킹 프로그램을 설명하기 위한 도면이다.2 is a diagram for describing a game hacking program according to some embodiments.

사용자 단말(101) 내에 설치된 게임 클라이언트(203)는 서버(101)와 통신을 통해 사용자에게 게임 서비스를 제공한다. 일부 실시예에 따르면, 서버(101)의 제어에 의해 게임 클라이언트(203)가 사용자 단말(102)의 기능을 사용하여 게임 서비스를 제공할 수 있다. The game client 203 installed in the user terminal 101 provides a game service to the user through communication with the server 101. According to some embodiments, the game client 203 may provide a game service by using the functions of the user terminal 102 under the control of the server 101.

예를 들면, 게임 클라이언트(203)는 서버(101)의 제어에 따라 게임 실행 화면을 표시하고, 표시된 게임 실행 화면에 대해 사용자 단말(102)이 수신한 사용자 입력을 서버(101)에게 제공할 수 있다. 서버(101)는 수신된 사용자 입력을 프로세싱하고, 사용자 입력에 따라 변경된 게임 실행 화면을 표시하도록 사용자 단말(102) 내에 포함된 게임 클라이언트(203)를 제어할 수 있다. For example, the game client 203 may display a game execution screen under the control of the server 101 and provide the user input received by the user terminal 102 to the server 101 for the displayed game execution screen. have. The server 101 may process the received user input and control the game client 203 included in the user terminal 102 to display a game execution screen changed according to the user input.

온라인 게임은 모든 사용자에게 동일한 규칙이 적용되는 게임이다. 하지만 일부 사용자들은 게임 해킹 프로그램(201)을 이용하여 부당한 이득을 취하기도 한다. Online games are games where the same rules apply to all users. However, some users use the game hacking program 201 to gain unfair advantage.

일반적으로 게임 해킹 프로그램(201)은 여러 방식을 통해 게임 클라이언트(203)를 해킹할 수 있다. 예를 들면, 게임 해킹 프로그램(201)은 게임 클라이언트(203)을 직접 조작하거나, 게임 클라이언트(203)와 서버(101)간에 송수신되는 데이터를 조작할 수 있다. 예를 들면, 스피드핵, 오토마우스, 패킷 변조 등이 있다.In general, the game hacking program 201 can hack the game client 203 through various methods. For example, the game hacking program 201 may directly manipulate the game client 203 or manipulate data transmitted and received between the game client 203 and the server 101. Examples include speed hack, auto mouse, and packet modulation.

다만, 게임 서비스 제공자가 게임 해킹 프로그램(201)을 막기 위해 보안 프로그램의 설치를 의무화 하고 있어, 게임 해킹 프로그램(201)이 게임 클라이언트(203)를 직접 조작하거나, 게임 클라이언트(203)와 서버(101)간에 송수신되는 데이터를 조작하는 방식은 상당히 근절되었다. However, since the game service provider mandates the installation of a security program to prevent the game hacking program 201, the game hacking program 201 directly manipulates the game client 203, or the game client 203 and the server 101 The method of manipulating data transmitted and received between) has been quite eradicated.

그러나 최근에는 게임 실행 화면을 렌더링 및 표시하는 사용자 단말(101)을 제어함으로써 사용자 단말에 표시되는 게임 실행 화면을 조작하는 게임 해킹 프로그램(201)이 개발되고 있다. However, recently, a game hacking program 201 for manipulating the game execution screen displayed on the user terminal by controlling the user terminal 101 that renders and displays the game execution screen has been developed.

구체적으로는, 게임 해킹 프로그램(201)이 사용자 단말(102)을 제어함으로써, 렌더링되는 게임 실행 화면을 조작하는 방식이다. 이러한 게임 해킹 프로그램(201)을 월핵(Wall hack), 또는 에임핵(Aim Hack)이라 부르기도 한다. 이하의 도 3a 내지 3b에서 월핵 및 에임 핵에 대해 더 자세히 설명한다. Specifically, the game hacking program 201 controls the user terminal 102 to manipulate the rendered game execution screen. This game hacking program 201 is also called Wall Hack or Aim Hack. It will be described in more detail with respect to the moon nucleus and the aim nucleus in Figures 3a to 3b below.

도 3a 내지 3b는 일부 실시예에 따른 해킹 프로그램에 따른 게임 실행 화면의 변화를 설명하기 위한 도면이다.3A to 3B are diagrams for explaining a change of a game execution screen according to a hacking program according to some embodiments.

도 3a는 월핵이 사용된 게임 실행 화면(310)을 도시한다. 게임 실행 화면은 사용자의 캐릭터 오브젝트인 제 1 오브젝트(301)가 구조물 오브젝트(302)인 벽(Wall)을 바라보는 시점으로 표시되고 있다. 3A shows a game execution screen 310 using a monthly hack. The game execution screen is displayed as a viewpoint when the first object 301 that is the user's character object looks at the wall that is the structure object 302.

일반적으로, 구조물 오브젝트(302)는 뒤에 존재하는 오브젝트가 투과되지 않도록 렌더링되어야 한다. 그러나, 게임 해킹 프로그램이 사용자 단말에서 게임 실행 화면이 렌더링 될 때, 게임 클라이언트로부터 사용자 단말의 메모리에 입력된 그래픽 데이터(예를 들면, 그래픽 함수 또는 그래픽 함수의 변수)를 변조하여 구조물 오브젝트(302) 뒤에 위치한 다른 사용자의 캐릭터 오브젝트인 제 3 오브젝트(303)가 표시될 수 있다. In general, the structure object 302 must be rendered so that the object behind it is not transmitted. However, when the game hacking program renders the game execution screen in the user terminal, the structure object 302 modulates graphic data (for example, a graphic function or a variable of a graphic function) input to the memory of the user terminal from the game client. A third object 303, which is a character object of another user located behind, may be displayed.

월핵을 이용한 게임 실행 화면의 렌더링 방식은 도 3a에 도시된 예에만 제한되는 것은 아니며, 게임 영상을 렌더링 시 와이어 프레임만을 렌더링 하도록 변경함으로써, 구조물 오브젝트 너머에 존재하는 다른 사용자의 캐릭터 오브젝트를 게임 실행 화면에 표시되도록 하거나, 오브젝트들의 색상을 변조하여 다른 사용자의 캐릭터 오브젝트를 게임 실행 화면에 표시되도록 변경할 수 있다. The rendering method of the game execution screen using the moon core is not limited to the example shown in FIG. 3A, and by changing to render only the wire frame when rendering the game image, the character object of another user existing beyond the structure object is converted to the game execution screen. The character object of another user can be changed to be displayed on the game execution screen by changing the color of the objects or by changing the colors of the objects.

즉, 게임 해킹 프로그램의 이용하게 되는 경우 사용자는 알 수 없어야 하는 다른 사용자의 캐릭터의 위치를 알게 되며, 다른 사용자와의 경쟁에서 승리할 가능성이 매우 높아진다. That is, when a game hacking program is used, the user knows the location of another user's character that should not be known, and the possibility of winning the competition with other users is very high.

도 3b는 에임핵이 사용된 게임 실행 화면(320)을 도시한다. 에임핵이란 FPS(First person shooter) 게임에서 사용되는 게임 해킹 프로그램으로, 사용자가 조준(aim)을 쉽게 하도록 부정하게 돕는 프로그램이다. 에임핵은 다양한 형태로 사용자가 조준(aim)을 쉽게 하도록 돕는다. 오브젝트를 따라가는 유도탄을 발사하거나, 조준한 위치로 다른 오브젝트를 이동시키는 등 다양한 방법을 통해 사용자가 다른 오브젝트를 쉽게 사격할 수 있도록 한다. 3B shows a game execution screen 320 in which the aim hack is used. Aim Hack is a game hacking program used in FPS (First Person Shooter) games, and it is a program that helps users to deny aim easily. Aim Hack helps users to aim easily in various forms. It allows the user to shoot other objects easily through various methods, such as firing a guided bullet following the object or moving another object to the aimed position.

특히 도 3b에서는 다른 오브젝트의 색상의 일부를 변경하여 표시하고, 변경된 색상을 트래킹 하는 방식을 통해 사용자가 쉽게 다른 오브젝트를 조준할 수 있다. 다른 오브젝트란 다른 사용자의 캐릭터 오브젝트를 포함할 수 있다. 다시 말해서 다른 사용자의 캐릭터 오브젝트 또는 다른 사용자의 캐릭터가 장착한 무기 오브젝트 등 다른 오브젝트의 색상을 변조하여 사용자가 쉽게 다른 사용자의 캐릭터를 확인할 수 있도록 하며, 더 나아가서는 변조된 색상을 트래킹(tracking) 하여 자동 조준이 가능하도록 한다. In particular, in FIG. 3B, a user can easily aim at another object through a method of changing and displaying a part of the color of another object and tracking the changed color. Other objects may include character objects of other users. In other words, it modulates the color of other objects, such as another user's character object or another user's character equipped weapon object, so that the user can easily check the character of another user, and furthermore, track the altered color. Enable automatic aiming.

도 3a 및 도 3b의 월핵, 에임핵과 같은 게임 해킹 프로그램은 게임 클라이언트나 서버를 해킹하는 것이 아닌, 사용자 단말(101)을 해킹하는 방식이므로, 게임 서비스 제공자는 게임을 이용하는 사용자를 일일이 모니터링하여 게임 해킹 프로그램의 사용 여부를 판별할 수 밖에 없다. 예를 들면, 게임 서비스 제공자는 사용자의 단말에서 표시되는 게임 실행 화면을 캡쳐한 이미지 프레임을 분석하여 게임 해킹 프로그램의 사용 여부를 판단할 수 있다. Game hacking programs such as monthly hacking and aim hacking of FIGS. 3A and 3B hack the user terminal 101 rather than hacking the game client or server, so the game service provider monitors the users who use the game and hacks the game. There is no choice but to determine whether or not to use the program. For example, a game service provider may determine whether to use a game hacking program by analyzing an image frame capturing a game execution screen displayed on a user's terminal.

그러나, 게임의 종류, 사용자의 숫자의 증가로 이미지 프레임의 분석량이 늘어나고 있으므로, 개선된 해킹 프로그램 사용 여부를 판단하는 방법이 필요하다. However, since the amount of analysis of image frames is increasing due to an increase in the type of game and the number of users, a method of determining whether to use an improved hacking program is required.

특히, 게임 해킹 프로그램 사용 여부를 판단하기 어려운 이미지 프레임이 포함되는 경우에는 게임 해킹 프로그램 사용 여부를 판단할 때 많은 시간이 소요되므로, 게임 해킹 프로그램 사용 여부를 판단하기 적절한 이미지 프레임을 획득하는 방법 및 이미지 프레임을 빠르게 프로세싱하는 방법이 요구되고 있다.In particular, if an image frame that is difficult to determine whether to use a game hacking program is included, it takes a lot of time to determine whether to use a game hacking program, so a method and image for obtaining an appropriate image frame to determine whether to use a game hacking program There is a need for a way to process frames quickly.

도 4는 일부 실시예에 따른 서버가 게임 해킹 프로그램의 사용 여부를 판단하는 방법의 순서도이다. 4 is a flowchart of a method for determining whether a server uses a game hacking program according to some embodiments.

단계 410에서 서버는, 사용자 단말에서 표시되는 게임 실행 화면을 캡쳐한 적어도 하나의 이미지 프레임을 획득할 수 있다.In step 410, the server may acquire at least one image frame capturing the game execution screen displayed on the user terminal.

일부 실시예에 따르면, 게임 실행 화면은 사용자가 게임을 실행하여 사용자 단말에 표시되고 있는 화면을 의미할 수 있다. 또한 게임 실행 화면이란 게임 진행 시의 화면 뿐만 아니라 게임의 설치 화면, 로딩 화면까지 포함할 수 있다.According to some embodiments, the game execution screen may mean a screen displayed on the user terminal by the user executing the game. In addition, the game execution screen may include not only a screen when the game is in progress, but also an installation screen and a loading screen of the game.

일부 실시예에 따르면, 서버는 사용자 단말에게 게임 실행 화면을 캡쳐한 이미지 프레임을 요청하고, 요청에 대한 응답으로 사용자 단말로부터 게임 실행 화면을 캡쳐한 이미지 프레임을 수신할 수 있다. According to some embodiments, the server may request an image frame in which the game execution screen is captured from the user terminal, and receive an image frame in which the game execution screen is captured from the user terminal in response to the request.

또한 일부 실시예에 따르면, 서버는 직접 사용자 단말에서 표시되는 게임 실행 화면을 캡쳐함으로써 이미지 프레임을 획득할 수도 있다. 예를 들면, 서버가 게임 실행 화면을 렌더링하여 사용자 단말에게 제공하는 경우에는 서버가 직접 사용자 단말에게 제공하는 게임 실행 화면을 캡쳐함으로써 적어도 하나의 이미지 프레임을 획득할 수도 있다. In addition, according to some embodiments, the server may obtain an image frame by directly capturing a game execution screen displayed on the user terminal. For example, when the server renders the game execution screen and provides it to the user terminal, at least one image frame may be obtained by capturing the game execution screen provided by the server directly to the user terminal.

일부 실시예에 따르면, 서버는 소정의 조건을 만족하는 사용자 계정과 대응되는 사용자 단말에게 게임 실행 화면을 캡쳐한 적어도 하나의 이미지 프레임을 요청할 수 있다. 예를 들면, 서버는 소정 횟수 이상의 신고를 받은 사용자 계정과 대응되는 사용자 단말에게 게임 실행 화면을 캡쳐한 적어도 하나의 이미지 프레임을 요청할 수 있다. According to some embodiments, the server may request at least one image frame in which the game execution screen is captured from a user terminal corresponding to a user account that satisfies a predetermined condition. For example, the server may request at least one image frame capturing a game execution screen from a user terminal corresponding to a user account that has received a notification of more than a predetermined number of times.

일부 실시예에 다르면, 사용자 단말은 서버로부터의 요청에 의해 게임 실행 화면을 캡쳐하여 송신할 수 있다. 이 때 사용자 단말은 별도의 상요자 입력 없이 실행 화면을 캡쳐하여 송신할 수 있다. 예를 들면, 사용자 단말 내의 게임 클라이언트에 의해 게임 실행 화면이 캡쳐되어 서버에게 송신될 수 있다.According to some embodiments, the user terminal may capture and transmit a game execution screen in response to a request from a server. In this case, the user terminal can capture and transmit the execution screen without a separate user input. For example, a game execution screen may be captured by a game client in the user terminal and transmitted to the server.

또한 일부 실시예에 따르면, 서버는 사용자 단말의 메모리에 적재된 적어도 하나의 이미지 프레임을 획득할 수도 있다. Further, according to some embodiments, the server may acquire at least one image frame loaded in the memory of the user terminal.

추가적으로, 일부 실시예에 따르면, 서버는 게임 실행 화면의 시점의 종류 또는 방향을 제어하고, 시점의 종류 또는 방향이 제어된 게임 실행 화면을 캡쳐한 적어도 하나의 이미지 프레임을 획득할 수도 있다. Additionally, according to some embodiments, the server may control the type or direction of the viewpoint of the game execution screen, and obtain at least one image frame by capturing the game execution screen in which the type or direction of the viewpoint is controlled.

다시 말해서, 서버는 게임 해킹 프로그램의 사용 여부를 판단하기에 적합한 게임 실행 화면이 캡쳐되도록 게임 실행 화면이 표시되는 시점의 종류나 방향을 제어할 수 있다. 이는 도 5a 내지 7b에서 자세히 설명한다.In other words, the server may control the type or direction of the time point at which the game execution screen is displayed so that a game execution screen suitable for determining whether or not to use the game hacking program is captured. This will be described in detail in FIGS. 5A to 7B.

또한 일부 실시예에 따르면, 서버는 게임 실행 화면에 포함되는 상기 적어도 하나의 오브젝트의 위치를 제어하고, 적어도 하나의 오브젝트의 위치가 제어된 게임 실행 화면을 캡쳐한 적어도 하나의 이미지 프레임을 획득할 수도 있다.In addition, according to some embodiments, the server may control the position of the at least one object included in the game execution screen, and obtain at least one image frame by capturing the game execution screen in which the position of the at least one object is controlled. have.

다시 말해서, 서버는 게임 해킹 프로그램의 사용 여부를 판단하기에 적합한 게임 실행 화면이 캡쳐되도록 적어도 하나의 오브젝트의 위치를 제어할 수 있다. 이는 도 8 내지 9b에서 자세히 설명한다In other words, the server may control the position of at least one object so that a game execution screen suitable for determining whether to use a game hacking program is captured. This will be described in detail in FIGS. 8 to 9B.

단계 430에서 서버는 획득한 이미지 프레임 내에 포함된 적어도 하나의 오브젝트의 특성을 식별할 수 있다.In step 430, the server may identify characteristics of at least one object included in the acquired image frame.

일부 실시예에 따르면, 오브젝트의 특성이란, 오브젝트의 움직임, 오브젝트의 색상, 오브젝트의 오버랩 여부를 포함할 수 있다. 또한 앞서 설명한 바와 같이 오브젝트는 캐릭터 오브젝트 또는 무기 오브젝트를 포함할 수 있고, 특히 다른 사용자의 캐릭터 오브젝트, 피아가 나눠진 게임에서는 적대 진영에 포함된 다른 사용자의 캐릭터 오브젝트를 포함할 수 있다. According to some embodiments, the characteristics of an object may include movement of the object, a color of the object, and whether the object overlaps. In addition, as described above, the object may include a character object or a weapon object, and in particular, a character object of another user, or a character object of another user included in the hostile camp in a game where the Pia is divided.

예를 들면, 서버는 획득한 이미지 프레임을 분석함으로써, 이미지 프레임 내에 포함된 오브젝트의 색상, 움직임, 오버랩 여부를 판단할 수 있다. For example, by analyzing the acquired image frame, the server may determine whether an object included in the image frame has color, movement, or overlap.

일부 실시예에 다르면, 서버는 오브젝트의 특성을 다양한 방법에 의해 식별할 수 있다. 예를 들면, 서버는 획득한 이미지 프레임의 일부 영역으로부터 픽셀 값을 추출하거나, 일부 또는 전부 영역의 렌더링 된 선의 개수를 판단함으로써, 이미지 프레임 내에 포함된 오브젝트의 특성을 식별할 수 있다. According to some embodiments, the server may identify the properties of the object by various methods. For example, the server may identify the characteristics of an object included in the image frame by extracting a pixel value from a partial region of the acquired image frame or determining the number of rendered lines in a partial or full region.

또한 일부 실시예에 따르면, 서버는 컨볼루션 뉴럴 네트워크를 이용하여, 상기 획득한 이미지 프레임 내에 포함된 적어도 하나의 오브젝트의 특성을 식별할 수 있다. 예를 들면, 서버는 이미지 프레임을 획득하고 획득한 이미지 프레임을 컨볼루션 뉴럴 네트워크에 입력하고, 소정의 커널 값을 설정함으로써, 이미지 프레임 내에 포함된 적어도 하나의 오브젝트가 소정의 특성을 가지는지 식별할 수 있다. 예를 들면, 서버는 컨볼루션 뉴럴 네트워크를 이용하여 획득한 이미지 프레임 내의 캐릭터 오브젝트의 색상, 캐릭터 오브젝트의 움직임 등을 판단할 수 있다. 이는 도 10 내지 도 11에서 더 자세히 설명한다. In addition, according to some embodiments, the server may identify the characteristic of at least one object included in the acquired image frame by using the convolutional neural network. For example, the server acquires an image frame, inputs the acquired image frame into the convolutional neural network, and sets a predetermined kernel value to identify whether at least one object included in the image frame has a predetermined characteristic. I can. For example, the server may determine a color of a character object in an image frame acquired using a convolutional neural network, a movement of a character object, and the like. This will be described in more detail in FIGS. 10 to 11.

단계 450에서 서버는 식별된 특성에 기초하여 게임 해킹 프로그램의 사용 여부를 판단할 수 있다.In step 450, the server may determine whether to use the game hacking program based on the identified characteristics.

일부 실시예에 따르면, 서버는 단계 430에서 식별된 특성에 기초하여 게임 해킹 프로그램의 사용 여부를 판단할 수 있다. 예를 들면, 서버는 캐릭터 오브젝트의 색상이 빨간색으로 표시되는 경우 게임 해킹 프로그램을 사용하고 있다고 판단할 수도 있고, 구조물 오브젝트과 오버랩되어 캐릭터 오브젝트가 표시되는 경우 게임 해킹 프로그램을 사용하고 있다고 판단할 수도 있다. According to some embodiments, the server may determine whether to use the game hacking program based on the characteristics identified in step 430. For example, when the color of the character object is displayed in red, the server may determine that the game hacking program is being used, or when the character object overlaps with the structure object and the character object is displayed, it may determine that the game hacking program is being used.

다시 말해서 서버는 해킹 프로그램에 의해 조작되지 않은 원본 게임 실행 화면의 데이터에 대해 알 수 있으므로, 서버는 게임 실행 화면 내에 포함된 오브젝트의 위치나 배치, 색상, 움직임에 대한 특성을 획득하면, 원본 게임 실행 화면의 데이터에 기초하여 사용자 단말로부터 획득한 이미지 프레임을 분석하고, 게임 해킹 프로그램을 사용 여부를 판단할 수 있다.In other words, since the server can know the data of the original game execution screen that has not been manipulated by the hacking program, the server executes the original game when it acquires the characteristics of the location, arrangement, color, and movement of objects included in the game execution screen. The image frame acquired from the user terminal may be analyzed based on the screen data, and it may be determined whether or not to use a game hacking program.

도 5a 및 도 5b는 일부 실시예에 따른 게임 시점 방향을 설명하기 위한 도면이다.5A and 5B are diagrams for explaining a game viewpoint direction according to some embodiments.

도 5a에서는 게임 시점 방향이 왼쪽인 제 1 이미지 프레임(510)을 도시한다. 다시 말해서, 제 1 이미지 프레임(510)에서는 게임 공간의 왼쪽이 표시되고 있다. 제 1 이미지 프레임(510)의 게임 시점 종류는 1인칭 시점이며, 사용자 캐릭터 오브젝트(501)가 보는 방향에 따라 게임 시점의 방향이 전환된다.5A shows a first image frame 510 in which the game viewpoint direction is left. In other words, the left side of the game space is displayed in the first image frame 510. The type of game view of the first image frame 510 is a first-person view, and the direction of the game view is changed according to the direction viewed by the user character object 501.

도 5a를 참조하면, 제 1 이미지 프레임(510) 내에는 사용자 캐릭터 오브젝트(501) 이외에 다른 사용자의 캐릭터 오브젝트들인 제 1 캐릭터 오브젝트(503), 제 2 캐릭터 오브젝트(504) 및 제 3 캐릭터 오브젝트(505)가 표시될 수 있다.Referring to FIG. 5A, in the first image frame 510, a first character object 503, a second character object 504, and a third character object 505, which are character objects of a user other than the user character object 501, are ) May be displayed.

일부 실시예에 따르면, 사용자 단말은 게임 시점을 전환하는 사용자 입력을 수신할 수 있다. 수신된 사용자 입력에 기초하여 사용자 단말은 전환된 게임 시점으로 게임 실행 화면을 표시할 수 있다. According to some embodiments, the user terminal may receive a user input for switching a game viewpoint. Based on the received user input, the user terminal may display the game execution screen as the switched game time point.

도 5b에서는 게임 시점 방향이 오른쪽인 제 2 이미지 프레임(520)을 도시한다. 다시 말해서, 제 2 이미지 프레임(520)에서는 게임 공간의 오른쪽이 표시되고 있다.In FIG. 5B, a second image frame 520 in which the game viewpoint direction is right is shown. In other words, in the second image frame 520, the right side of the game space is displayed.

도 5a에서와 같이 사용자의 캐릭터 오브젝트(501)의 시야를 따라 게임 실행 화면의 왼쪽을 표시하던 사용자 단말은 사용자의 캐릭터 오브젝트(501)의 시야 이동 또는 사용자 캐릭터 오브젝트(501)의 위치를 이동 시키는 사용자 입력을 수신할 수 있다. 수신된 사용자 입력에 따라 사용자 캐릭터 오브젝트(501)의 시야가 오른쪽으로 변경되면, 사용자 단말은 변경된 시야에 따라 게임 공간의 왼쪽을 표시할 수 있다.As shown in FIG. 5A, the user terminal that displayed the left side of the game execution screen along the field of view of the user's character object 501 is a user who moves the field of view of the user's character object 501 or the position of the user character object 501 Can receive input. When the field of view of the user character object 501 is changed to the right according to the received user input, the user terminal may display the left side of the game space according to the changed field of view.

도 5b를 참조하면, 제 2 이미지 프레임(520) 내에는 사용자 캐릭터 오브젝트(501) 이외에 다른 사용자의 캐릭터들인 제 1 캐릭터 오브젝트(503), 제 4 캐릭터 오브젝트(506)이 표시될 수 있다. 제 1 캐릭터 오브젝트(503)는 게임 공간의 중간에 위치하고 있기 때문에 사용자 캐릭터 오브젝트(501)의 시점이 왼쪽에서 오른쪽으로 변경되어도 여전히 게임 실행 화면 상에 표시되며, 제 1 이미지 프레임(510)에서 표시되지 않았던 제 4 캐릭터 오브젝트(506)가 게임 시점 방향의 변경으로 새롭게 게임 실행 화면에 표시될 수 있다. Referring to FIG. 5B, in addition to the user character object 501, a first character object 503 and a fourth character object 506, which are other user characters, may be displayed in the second image frame 520. Since the first character object 503 is located in the middle of the game space, even if the viewpoint of the user character object 501 is changed from left to right, it is still displayed on the game execution screen, and is not displayed in the first image frame 510. The fourth character object 506 that was not used may be newly displayed on the game execution screen by changing the direction of the game viewpoint.

도 5a 내지 도 5b에서와 같이 사용자 단말은 시점 방향 및 시점 종류에 따라 상이한 게임 실행 화면을 표시하므로, 서버는 시점 방향 및 시점 종류에 따라 다른 이미지 프레임을 획득할 수 있다. As shown in FIGS. 5A to 5B, the user terminal displays different game execution screens according to the viewpoint direction and the viewpoint type, so that the server may acquire different image frames according to the viewpoint direction and viewpoint type.

서버는 획득한 이미지 프레임을 이용하여 게임 해킹 프로그램의 사용 여부를 판단하는데, 게임 해킹 프로그램의 사용 여부를 판단하기 어려운 게임 실행 화면을 캡쳐하게 되는 경우에는 서버의 불필요한 자원이 낭비될 수 있다. 따라서, 게임 해킹 프로그램의 사용 여부를 효율적으로 판단하기 위한 적절한 이미지 프레임을 획득하기 위해서는 서버에 의한 소정의 제어가 필요할 수 있다. 이는 이하에서 자세히 설명한다. The server determines whether or not the game hacking program is used by using the acquired image frame. In the case of capturing a game execution screen that makes it difficult to determine whether the game hacking program is used, unnecessary resources of the server may be wasted. Accordingly, in order to obtain an appropriate image frame for efficiently determining whether or not to use a game hacking program, a predetermined control by the server may be required. This will be described in detail below.

도 6은 일부 실시예에 따르면 서버가 게임 실행 화면의 시점을 제어하여 게임 해킹 프로그램의 사용 여부를 판단하는 방법의 순서도이다.6 is a flowchart of a method of determining whether or not to use a game hacking program by controlling a viewpoint of a game execution screen by a server according to some embodiments.

단계 610에서, 서버는 게임 실행 화면의 시점의 종류 또는 방향을 제어할 수 있다.In step 610, the server may control the type or direction of the viewpoint of the game execution screen.

일부 실시에에 따르면, 서버는 게임 시작 시 표시되는 게임 실행 화면의 시점의 종류 또는 방향을 제어할 수 있다. 예를 들면, 서버는 게임 시작 직후의 게임 실행 화면의 시점의 종류 또는 방향을 제어할 수 있다. 게임 시작 직후라 함은 실제 게임을 진행하기 위해 로딩 시간과 같은 대기 시간이 지난 이후를 의미할 수 있다. According to some implementations, the server may control the type or direction of the viewpoint of the game execution screen displayed when the game starts. For example, the server may control the type or direction of the viewpoint of the game execution screen immediately after the game starts. The term immediately after the game starts may mean after a waiting time such as a loading time has passed in order to actually play the game.

또한 일부 실시예에 따르면, 서버는 게임 시작 장소에서의 게임 실행 화면의 시점의 종류 또는 방향을 제어할 수 있다. 게임의 종류에 따라 게임 시작 이전 소정의 장소에서 소정의 시간 동안 대기하는 경우가 있는데, 서버는 게임 시작 이전의 시작 장소에서 대기할 때의 게임 실행 화면의 시점의 종류 또는 방향을 제어할 수 있다. 물론 상기 예시에 제한되지 않으며 서버는 사용자가 게임을 진행하는데 불편이 없는 경우에는 게임 진행 도중에도 게임 실행 화면의 시점의 종류 또는 방향을 조절할 수 있다. In addition, according to some embodiments, the server may control the type or direction of the viewpoint of the game execution screen at the game start place. Depending on the type of game, there is a case where the server waits for a predetermined time at a predetermined place before the game starts, and the server may control the type or direction of the viewpoint of the game execution screen when waiting at the start place before the game starts. Of course, it is not limited to the above example, and the server may adjust the type or direction of the viewpoint of the game execution screen even during the game, if there is no inconvenience for the user to proceed with the game.

또한 일부 실시예에 따르면, 서버는 게임 실행 화면에 적어도 하나의 캐릭터 오브젝트가 표시되도록 게임 실행 화면의 시점의 종류 또는 방향을 제어할 수 있다. Also, according to some embodiments, the server may control the type or direction of the viewpoint of the game execution screen so that at least one character object is displayed on the game execution screen.

예를 들면, 서버는 다른 사용자의 캐릭터 오브젝트가 위치한 방향이 게임 실행 화면 상에 표시되도록 게임 실행 화면의 시점의 종류 또는 방향을 제어할 수 있다. For example, the server may control the type or direction of the viewpoint of the game execution screen so that the direction in which the character object of another user is located is displayed on the game execution screen.

또한 일부 실시예에 따르면, 서버는 다른 사용자의 캐릭터 오브젝트와 구조물 오브젝트가 동일한 방향에 위치하도록 게임 실행 화면의 시점의 종류 또는 방향을 제어할 수 있다. In addition, according to some embodiments, the server may control the type or direction of the viewpoint of the game execution screen so that the character object and the structure object of another user are located in the same direction.

추가적으로, 일부 실시예에 따르면, 서버는 다른 사용자의 캐릭터 오브젝트와 구조물 오브젝트가 동일한 직선 상에 위치하도록 게임 실행 화면의 시점의 종류 또는 방향을 제어할 수 있다. Additionally, according to some embodiments, the server may control the type or direction of the viewpoint of the game execution screen so that the character object and the structure object of another user are located on the same straight line.

구체적으로, 서버는 게임 실행 화면의 시점이 사용자의 캐릭터 오브젝트의 시야에 따라 달라지는 경우, 서버는 사용자의 캐릭터 오브젝트의 위치, 방향 또는 시야를 조절할 수 있다. 서버가 사용자 캐릭터 오브젝트의 위치, 방향 또는 시야를 조절하면, 게임 실행 화면의 시점이 변경되고, 게임 실행 화면의 시점의 변경으로 게임 실행 화면에 표시되는 오브젝트들의 배치, 개수, 종류가 변경될 수 있다. Specifically, when the viewpoint of the game execution screen varies according to the field of view of the user's character object, the server may adjust the position, direction, or field of view of the user's character object. When the server adjusts the position, direction, or field of view of the user character object, the viewpoint of the game execution screen is changed, and the arrangement, number, and type of objects displayed on the game execution screen may be changed by changing the viewpoint of the game execution screen. .

또한 일부 실시예에 따르면, 서버는 게임 실행 화면의 시점의 종류 또는 방향을 제어하기 위해 게임 클라이언트를 제어할 수도 있다. 게임 클라이언트는 사용자 단말 내에 설치될 수 있으며, 서버는 게임 클라이언트를 제어함으로써 게임 실행 화면의 시점의 종류 또는 방향을 제어할 수 있다.In addition, according to some embodiments, the server may control the game client to control the type or direction of the viewpoint of the game execution screen. The game client may be installed in the user terminal, and the server may control the type or direction of the viewpoint of the game execution screen by controlling the game client.

예를 들면, 서버는 로딩 화면 중에 서버가 사용자 단말 내에 설치된 게임 클라이언트를 제어함으로써, 게임 실행 화면의 시점 또는 방향을 제어할 수 있다. For example, the server may control the viewpoint or direction of the game execution screen by controlling the game client installed in the user terminal during the loading screen.

또한 일부 실시예에 따르면, 서버는 게임 클라이언트와 송수신하는 패킷을 이용하여 시점을 조절할 수 있다. 서버는 게임 클라이언트에게 게임 실행 화면의 시점 또는 방향을 조절하는 명령어를 포함하는 패킷을 송신함으로써, 게임 실행 화면의 시점 또는 방향을 제어할 수 있다. 물론, 상기 예시에 제한되지 않으며, 게임 실행 화면의 시점 또는 방향의 제어에 대한 명령어는 게임 설치시 게임 클라이언트에 저장될 수도 있고, 서버가 배포하는 소정의 정책으로 게임 클라이언트에 일괄적으로 적용될 수도 있다. In addition, according to some embodiments, the server may control the viewpoint using packets transmitted and received with the game client. The server may control the viewpoint or direction of the game execution screen by transmitting a packet including a command for adjusting the viewpoint or direction of the game execution screen to the game client. Of course, it is not limited to the above example, and the command for controlling the viewpoint or direction of the game execution screen may be stored in the game client when the game is installed, or may be collectively applied to the game client with a predetermined policy distributed by the server. .

단계 630에서, 서버는 시점의 종류 또는 방향이 제어된 게임 실행 화면을 캡쳐한 적어도 하나의 이미지 프레임을 획득할 수 있다.In step 630, the server may acquire at least one image frame capturing a game execution screen in which the type or direction of a viewpoint is controlled.

다시 말해서, 시점의 종류 또는 방향을 제어함으로써, 서버는 게임 해킹 프로그램의 사용 여부를 판별하기 쉬운 적어도 하나의 이미지 프레임을 획득할 수 있다. In other words, by controlling the type or direction of the viewpoint, the server can obtain at least one image frame in which it is easy to determine whether the game hacking program is used.

예를 들어 단계 610에서 서버는 게임 실행 화면 상에 구조물 오브젝트와 다른 사용자의 캐릭터 오브젝트가 동일한 방향에 위치하도록 게임 실행 화면의 시점의 방향을 제어하고, 제어된 게임 실행 화면을 캡쳐한 적어도 하나의 이미지 프레임을 획득할 수 있다. 서버는 획득한 이미지 프레임 내의 다른 사용자 캐릭터 오브젝트의 표시 여부, 색상 등을 고려하여 사용자 단말의 게임 해킹 프로그램의 사용 여부를 판단할 수 있다. For example, in step 610, the server controls the direction of the viewpoint of the game execution screen so that the structure object and the character object of another user are located in the same direction on the game execution screen, and at least one image obtained by capturing the controlled game execution screen. You can get the frame. The server may determine whether to use the game hacking program of the user terminal in consideration of whether or not to display another user character object in the acquired image frame, color, and the like.

또한 일부 실시예에 따르면 서버는 시점의 종류를 제어함으로써, 사용자 캐릭터의 움직임을 확인할 수도 있다. 서버는 1인칭 시점을 3인칭 시점으로 변경하도록 게임 클라이언트를 제어하고, 제어된 게임 실행 화면을 캡쳐한 적어도 하나의 이미지 프레임을 획득하여, 사용자 단말의 게임 해킹 프로그램의 사용 여부를 판단할 수 있다. In addition, according to some embodiments, the server may check the movement of the user character by controlling the type of viewpoint. The server controls the game client to change the first-person view to the third-person view, acquires at least one image frame capturing the controlled game execution screen, and determines whether the user terminal uses a game hacking program.

단계 650에서, 서버는 획득한 이미지 프레임 내에 포함된 적어도 하나의 오브젝트의 특성을 식별할 수 있다.In step 650, the server may identify characteristics of at least one object included in the acquired image frame.

단계 670에서, 서버는 식별된 특성에 기초하여 게임 해킹 프로그램의 사용 여부를 판단할 수 있다.In step 670, the server may determine whether to use the game hacking program based on the identified characteristics.

단계 650 내지 단계 670은 앞서 설명한 내용과 대응되므로 자세한 설명은 생략한다.Steps 650 to 670 correspond to the contents described above, and thus detailed descriptions thereof will be omitted.

도 7a 및 도 7b는 일부 실시예에 따른, 서버가 게임 실행 화면의 시점을 제어하여 적어도 하나의 이미지 프레임을 획득하는 방법을 도시한다.7A and 7B illustrate a method of obtaining at least one image frame by controlling a viewpoint of a game execution screen by a server, according to some embodiments.

도 7a 및 도 7b는 사용자 캐릭터 오브젝트(701)의 게임 대기 장소(711) 및 다른 사용자 캐릭터 오브젝트들(705 내지 709)의 게임 대기 장소(712)에서의 게임 실행 화면의 시점을 제어하는 방법을 도시한다. 7A and 7B illustrate a method of controlling the viewpoint of the game execution screen in the game waiting place 711 of the user character object 701 and the game waiting place 712 of other user character objects 705 to 709 do.

도 7a를 참조하면, 사용자 캐릭터 오브젝트(701)는 게임 대기 장소(711)에 위치하고 있다. 앞서 설명한 바와 같이 게임 대기 장소란 게임이 시작되기 이전 대기하는 장소를 의미할 수 있다. Referring to FIG. 7A, a user character object 701 is located in a game waiting area 711. As described above, the game waiting place may mean a waiting place before the game starts.

도 7a에서의 화살표(721)는 사용자 캐릭터 오브젝트(701)의 시야를 의미한다. 사용자 캐릭터의 시야에 따라 게임 실행 화면의 시점이 변경된다고 가정할 때, 사용자 캐릭터 오브젝트(701)는 게임 공간 상의 왼쪽 모서리를 바라보고 있다. 다시 말해서, 사용자 단말은 사용자 캐릭터 오브젝트(701)의 시야에 따라 게임 공간 상의 왼쪽 모서리를 표시할 것이며, 해당 부분에는 구조물 오브젝트(703) 또는 다른 사용자 캐릭터 오브젝트들(705 내지 709)가 표시되지 않는다. An arrow 721 in FIG. 7A denotes a field of view of the user character object 701. Assuming that the viewpoint of the game execution screen is changed according to the field of view of the user character, the user character object 701 is looking at the left edge of the game space. In other words, the user terminal will display the left edge of the game space according to the field of view of the user character object 701, and the structure object 703 or other user character objects 705 to 709 are not displayed in the corresponding portion.

다른 오브젝트들이 표시되지 않는 경우, 서버가 게임 실행 화면을 캡쳐한 이미지 프레임을 획득하더라도, 서버는 사용자의 게임 해킹 프로그램의 사용 여부를 판단할 수 없다. 다시 말해서, 서버가 이미지 프레임에 대해 프로세싱을 수행하더라도 게임 해킹 프로그램의 사용 여부를 판별할 수 없다. 따라서, 서버는 7b와 같이 사용자 캐릭터 오브젝트(701)의 시야를 조절할 수 있다. When other objects are not displayed, even if the server acquires an image frame capturing the game execution screen, the server cannot determine whether or not the user uses the game hacking program. In other words, even if the server performs processing on the image frame, it cannot be determined whether or not the game hacking program is used. Accordingly, the server can adjust the field of view of the user character object 701 as shown in 7b.

도 7b에 도시된 화살표(731)를 참조하면 사용자 캐릭터 오브젝트(701)의 시야가 변경되었음을 알 수 있다. 일부 실시예에 따르면, 서버는 사용자 캐릭터 오브젝트(701)의 위치, 방향, 자세 중 적어도 하나를 변경함으로써 사용자 캐릭터 오브젝트(701)의 시야를 변경할 수 있다. 물론 상기 예시에 제한되지 않으며, 서버는 다양한 방법으로 사용자 캐릭터 오브젝트(701)의 시야를 변경할 수 있다.Referring to the arrow 731 shown in FIG. 7B, it can be seen that the field of view of the user character object 701 has been changed. According to some embodiments, the server may change the field of view of the user character object 701 by changing at least one of the position, direction, and posture of the user character object 701. Of course, it is not limited to the above example, and the server may change the view of the user character object 701 in various ways.

앞서 설명한 바와 같이 사용자 캐릭터 오브젝트(701)의 시야에 따라 게임 실행 화면의 시점이 변경되는 것으로 가정했으므로, 사용자 캐릭터 오브젝트(701)는 게임 공간 상의 오른쪽 모서리를 바라보고 있다. As described above, it is assumed that the viewpoint of the game execution screen changes according to the field of view of the user character object 701, so the user character object 701 is looking at the right edge of the game space.

다시 말해서, 사용자 단말은 사용자 캐릭터 오브젝트(701)의 시야에 따라 게임 공간 상의 오른쪽 방향을 표시할 것이며 해당 부분에는 구조물 오브젝트(703) 및 다른 사용자 오브젝트들(705 내지 709)가 위치하고 있다.In other words, the user terminal will display the right direction on the game space according to the field of view of the user character object 701 and the structure object 703 and other user objects 705 to 709 are located in the corresponding portion.

따라서, 서버는 게임 실행 화면 상에 표시된 구조물 오브젝트(703) 및 다른 사용자 캐릭터 오브젝트들(705 내지 709)의 색상, 오버랩 여부, 형태 등에 기초하여 사용자의 게임 해킹 프로그램 사용 여부를 판단할 수 있다. 다시 말해서, 서버는 게임 해킹 프로그램의 사용 여부를 판별하기 위해 필요한 적어도 하나의 오브젝트들이 포함된 게임 실행 화면을 획득하고, 적어도 하나의 오브젝트들의 특성을 식별하여 식별된 특성에 기초하여 게임 해킹 프로그램의 사용 여부를 판단할 수 있다. Accordingly, the server may determine whether the user uses the game hacking program based on the color, overlapping, and shape of the structure object 703 and other user character objects 705 to 709 displayed on the game execution screen. In other words, the server acquires a game execution screen including at least one object necessary to determine whether to use the game hacking program, identifies the characteristics of at least one object, and uses the game hacking program based on the identified characteristics. You can judge whether or not.

또한 일부 실시예에 따르면, 서버는 시작 위치의 게임 실행 화면의 시점의 방향 및 종류를 조절할 뿐만 아니라 리스폰(Respawn) 위치에서의 게임 실행 화면의 시점의 방향 및 종류를 조절할 수도 있다. 리스폰 위치란 사용자의 캐릭터가 사망 후 다시 시작하는 위치를 의미할 수 있으며, 당업자에게 자명하므로 자세한 설명은 생략한다.In addition, according to some embodiments, the server may adjust the direction and type of the viewpoint of the game execution screen at the start position as well as the direction and type of the viewpoint of the game execution screen at the respawn position. The respawn location may mean a location where the user's character starts again after death, and a detailed description thereof will be omitted since it is apparent to those skilled in the art.

도 8은 일부 실시예에 따른, 서버가 적어도 하나의 오브젝트의 위치를 제어하여 게임 해킹 프로그램의 사용 여부를 판단하는 방법의 순서도이다.8 is a flowchart of a method for determining whether to use a game hacking program by controlling the location of at least one object by a server, according to some embodiments.

단계 810에서, 서버는 게임 실행 화면에 포함되는 적어도 하나의 오브젝트의 위치를 제어할 수 있다.In step 810, the server may control the location of at least one object included in the game execution screen.

일부 실시예에 따르면, 서버는 게임 실행 화면에 포함되는 적어도 하나의 오브젝트의 위치를 제어할 수 있다. 예를 들면, 서버는 게임 공간 내에 포함된 적어도 하나의 오브젝트의 위치를 제어하고, 적어도 하나의 오브젝트의 위치가 제어된 게임 실행 화면을 캡쳐한 적어도 하나의 이미지 프레임을 획득할 수 있다.According to some embodiments, the server may control the location of at least one object included in the game execution screen. For example, the server may control the position of at least one object included in the game space and obtain at least one image frame in which a game execution screen in which the position of the at least one object is controlled is captured.

예를 들면, 서버는 게임 시작 시 오브젝트가 위치하는 좌표를 제어할 수 있다. 서버는 게임 시작 시 오브젝트가 위치하는 좌표를 제어함으로써, 적어도 하나의 오브젝트가 포함된 게임 실행 화면이 사용자 단말에 표시되도록 제어할 수 있다. For example, the server can control the coordinates where the object is located when the game starts. The server controls the coordinates at which the object is located when the game starts, so that the game execution screen including at least one object is displayed on the user terminal.

또한 일부 실시예에 따르면, 서버는 게임 시작 장소에서의 적어도 하나의 오브젝트의 위치를 제어할 수 있다. 예를 들면, 서버는 게임 시작 시 사용자 캐릭터 오브젝트 및 다른 사용자 캐릭터 오브젝트가 생성되는 좌표를 제어할 수도 있으며, 상기 예시에 제한되지 않는다.In addition, according to some embodiments, the server may control the position of at least one object at the game start location. For example, the server may control coordinates at which a user character object and another user character object are generated when a game starts, and the example is not limited thereto.

또한 일부 실시예에 따르면, 서버는 리스폰 위치를 제어할 수도 있다. 예를 들면 서버는 사용자 캐릭터 오브젝트 또는 다른 사용자 캐릭터 오브젝트의 리스폰 위치의 좌표를 소정의 위치로 설정할 수도 있다. Also, according to some embodiments, the server may control the respawn location. For example, the server may set the coordinates of the respawn position of the user character object or other user character object to a predetermined position.

일부 실시예에 따르면, 서버가 적어도 하나의 오브젝트의 위치를 제어하는 방식은 앞선 도 6에서 설명한 내용과 대응된다. 서버는 게임 실행 화면의 시점의 종류 또는 방향을 제어하기 위해 게임 클라이언트를 제어할 수도 있고, 게임 클라이언트와 송수신하는 패킷을 이용할 수도 있다. 또한 적어도 하나의 오브젝트의 위치는 게임 설치시 게임 클라이언트에 저장될 수도 있고, 서버가 배포하는 소정의 정책으로 게임 클라이언트에 일괄적으로 적용될 수도 있다. According to some embodiments, the manner in which the server controls the location of at least one object corresponds to the contents described with reference to FIG. 6. The server may control the game client to control the type or direction of the viewpoint of the game execution screen, or may use packets transmitted and received with the game client. In addition, the location of at least one object may be stored in the game client when the game is installed, or may be collectively applied to the game client with a predetermined policy distributed by the server.

단계 830에서, 서버는 적어도 하나의 오브젝트의 위치가 제어된 게임 실행 화면을 캡쳐한 적어도 하나의 이미지 프레임을 획득할 수 있다.In operation 830, the server may acquire at least one image frame in which the game execution screen in which the location of at least one object is controlled is captured.

다시 말해서, 적어도 하나의 오브젝트의 위치를 제어함으로써, 서버는 게임 해킹 프로그램의 사용 여부를 판별하기 쉬운 적어도 하나의 이미지 프레임을 획득할 수 있다. In other words, by controlling the position of at least one object, the server can obtain at least one image frame that is easy to determine whether or not to use the game hacking program.

예를 들어 단계 810에서 서버는 게임 실행 화면 상에 구조물 오브젝트와 다른 사용자의 캐릭터 오브젝트가 동일한 방향에 위치하도록 적어도 하나의 오브젝트들의 위치를 제어하고, 제어된 게임 실행 화면을 캡쳐한 적어도 하나의 이미지 프레임을 획득할 수 있다. 서버는 획득한 이미지 프레임 내의 다른 사용자 캐릭터 오브젝트의 표시 여부, 색상 등을 고려하여 사용자 단말의 게임 해킹 프로그램의 사용 여부를 판단할 수 있다. For example, in step 810, the server controls the position of at least one object so that the structure object and the character object of another user are located in the same direction on the game execution screen, and at least one image frame that captures the controlled game execution screen. Can be obtained. The server may determine whether to use the game hacking program of the user terminal in consideration of whether or not to display another user character object in the acquired image frame, color, and the like.

단계 850에서, 서버는 획득한 이미지 프레임 내에 포함된 적어도 하나의 오브젝트의 특성을 식별할 수 있다.In step 850, the server may identify characteristics of at least one object included in the acquired image frame.

단계 870에서, 서버는 식별된 특성에 기초하여 게임 해킹 프로그램의 사용 여부를 판단할 수 있다.In step 870, the server may determine whether to use the game hacking program based on the identified characteristics.

단계 850 내지 단계 870은 앞서 설명한 내용과 대응되므로 자세한 설명은 생략한다.Steps 850 to 870 correspond to the contents described above, and thus detailed descriptions thereof will be omitted.

도 9a 및 도 9b는 일부 실시예에 따른, 서버가 적어도 하나의 오브젝트의 위치를 제어하여 적어도 하나의 이미지 프레임을 획득하는 방법을 도시한다.9A and 9B illustrate a method of obtaining at least one image frame by a server controlling a location of at least one object, according to some embodiments.

도 7a 내지 도 7b에서 설명했던 내용과는 상이하게, 서버는 사용자 캐릭터 오브젝트(901)의 시야를 조절하는 것이 아닌, 다른 사용자 캐릭터 오브젝트들(905 내지 909)의 위치 또는 배치를 제어할 수 있다. Unlike the contents described in FIGS. 7A to 7B, the server may control the position or arrangement of other user character objects 905 to 909 instead of adjusting the field of view of the user character object 901.

도 9a를 참조하면, 다른 사용자 캐릭터 오브젝트들(905 내지 909)는 제 1 구조물 오브젝트(902) 및 제 2 구조물 오브젝트(903) 사이에 위치하고 있다. 다시 말해서, 게임 실행 화면 시점이 사용자 캐릭터 오브젝트(901)의 시야에 기반하는 경우, 표시되는 게임 실행 화면에서는 다른 사용자 캐릭터 오브젝트들(905 내지 909)는 제 1 구조물 오브젝트(902) 및 제 2 구조물 오브젝트(903)와 겹쳐서 표시되지 않는다.Referring to FIG. 9A, other user character objects 905 to 909 are positioned between a first structure object 902 and a second structure object 903. In other words, when the viewpoint of the game execution screen is based on the field of view of the user character object 901, the other user character objects 905 to 909 in the displayed game execution screen are the first structure object 902 and the second structure object. It does not overlap with (903).

앞서 설명한 월핵의 경우, 구조물 오브젝트 뒤에 표시되는 다른 사용자 캐릭터 오브젝트를 표시하는 게임 해킹 프로그램이다. 따라서, 구조물 오브젝트와 다른 사용자 캐릭터 오브젝트가 겹쳐서 표시되지 않으면, 서버가 게임 실행 화면을 캡쳐한 이미지 프레임을 획득하여 분석하더라도, 사용자가 게임 해킹 프로그램을 사용하는지 판별하기 어렵다.In the case of the aforementioned moon hack, it is a game hacking program that displays another user character object displayed behind a structure object. Therefore, if the structure object and the other user character object are not overlapped and displayed, even if the server acquires and analyzes the image frame capturing the game execution screen, it is difficult to determine whether the user uses the game hacking program.

따라서, 서버는 게임 실행 화면 상에 다른 사용자 캐릭터 오브젝트들(905 내지 909) 중 적어도 하나가 제 1 구조물 오브젝트(902) 또는 제 2 구조물 오브젝트(903) 중 적어도 하나와 겹쳐서 표시되도록 다른 사용자 캐릭터 오브젝트들(905 내지 909)의 위치를 제어할 수 있다. Accordingly, the server displays other user character objects so that at least one of the other user character objects 905 to 909 overlaps at least one of the first structure object 902 or the second structure object 903 on the game execution screen. You can control the location of (905 to 909).

서버는 도 9b에 도시된 바와 같이 다른 사용자 캐릭터 오브젝트들의 위치를 제어할 수 있다. 다시 말해서, 서버는 사용자 캐릭터와 대응되는 사용자 단말의 게임 실행 화면 상에 제 2 사용자 캐릭터 오브젝트(905) 및 제 3 사용자 캐릭터 오브젝트(907)가 제 1 구조물 오브젝트(902)와 겹쳐서 표시되도록 제 2 사용자 캐릭터 오브젝트(905) 및 제 3 사용자 캐릭터 오브젝트(907)의 좌표를 제어할 수 있다.The server may control positions of other user character objects as shown in FIG. 9B. In other words, the server is the second user so that the second user character object 905 and the third user character object 907 overlap the first structure object 902 on the game execution screen of the user terminal corresponding to the user character. Coordinates of the character object 905 and the third user character object 907 may be controlled.

또한 일부 실시예에 따르면, 서버는 캐릭터 오브젝트의 생성 위치를 제어하는 것일 수 있다. 서버는 게임 실행 도중의 위치를 변경하는 것이 아닌 게임 시작 시 사용자 캐릭터 오브젝트 및 다른 사용자 캐릭터 오브젝트가 위치하는 좌표를 제어할 수 있다. 일부 실시예에 따르면, 서버가 오브젝트가 위하는 좌표를 제어한다는 것은 게임 시작시 캐릭터 오브젝트가 생성되는 위치의 좌표를 소정의 위치로 설정하는 것을 의미할 수도 있다. In addition, according to some embodiments, the server may control the generation position of the character object. The server may control coordinates at which the user character object and other user character objects are located at the start of the game, rather than changing the position during game execution. According to some embodiments, that the server controls the coordinates for the object may mean setting the coordinates of the location where the character object is generated at the start of the game to a predetermined location.

따라서, 서버는 상에 구조물 오브젝트들(902 내지 903) 및 다른 사용자 캐릭터 오브젝트들(905 내지 909)가 겹쳐서 표시되는 게임 실행 화면이 캡쳐된 적어도 하나의 이미지 프레임을 획득할 수 있고, 적어도 하나의 오브젝트들의 특성을 식별하여 식별된 특성에 기초하여 게임 해킹 프로그램의 사용 여부를 판단할 수 있다. Accordingly, the server may acquire at least one image frame in which the game execution screen in which the structure objects 902 to 903 and other user character objects 905 to 909 are overlapped and displayed, is captured, and at least one object It is possible to determine whether to use a game hacking program based on the identified characteristics by identifying the characteristics of the players.

또한 일부 실시예에 따르면, 서버는 리스폰(Respawn) 위치를 제어할 수도 있다.리스폰 위치는 앞서 설명한 내용과 대응되므로 자세한 설명은 생략한다.In addition, according to some embodiments, the server may control the respawn location. Since the respawn location corresponds to the above description, a detailed description will be omitted.

도 10 및 도 11은 일부 실시예에 따른 컨볼루션 뉴럴 네트워크를 이용한 이미지 프로세싱 방법을 설명하기 위한 도면이다.10 and 11 are diagrams for describing an image processing method using a convolutional neural network according to some embodiments.

디바이스가 이미지 프로세싱을 통해 정확도가 높은 판단 결과를 얻기 위해 최근에는 뉴럴 네트워크(Artificial Neural Network)를 사용하고 있다. 뉴럴 네트워크는 인간의 신경망과 유사한 구조로 가지는 네트워크로써, 뉴럴 네트워크의 일 예로는 컨볼루션 뉴럴 네트워크를 꼽을 수 있다. Recently, devices are using artificial neural networks to obtain high-accuracy judgment results through image processing. A neural network is a network having a structure similar to that of a human neural network, and an example of a neural network may be a convolutional neural network.

일부 실시예에 따르면, 서버는 컨볼루션 뉴럴 네트워크를 이용하여, 획득한 이미지 프레임 내에 포함된 적어도 하나의 오브젝트의 특성을 식별하고, 식별 결과에 기초하여 게임 해킹 프로그램의 사용 여부를 판단할 수 있다.According to some embodiments, the server may use a convolutional neural network to identify characteristics of at least one object included in an acquired image frame, and determine whether to use a game hacking program based on the identification result.

일부 실시예에 따르면, 서버는 식별하기를 원하는 오브젝트의 특성에 따라 컨볼루션 커널을 결정하고, 결정된 커널을 이용하여 상기 획득한 적어도 하나의 이미지 프레임을 프로세싱 할 수 있으며, 프로세싱 결과에 기초하여 적어도 하나의 오브젝트의 특성을 식별할 수 있다. 이하에서는 컨볼루션 뉴럴 네트워크에 대해 자세히 설명한다. According to some embodiments, the server may determine the convolution kernel according to the characteristics of the object to be identified, and process the at least one image frame obtained by using the determined kernel, and at least one image frame based on the processing result. Can identify the characteristics of the object. Hereinafter, a convolutional neural network will be described in detail.

도 10을 참조하면, 서버는 컨볼루션 뉴럴 네트워크(1000)에 적어도 하나의 이미지 프레임(1001)을 입력할 수 있다. 적어도 하나의 이미지 프레임(1001)들은 사용자 단말로부터 획득한 게임 실행 화면을 캡쳐한 이미지들일 수 있다. Referring to FIG. 10, the server may input at least one image frame 1001 to the convolutional neural network 1000. The at least one image frame 1001 may be images obtained by capturing a game execution screen acquired from a user terminal.

컨볼루션 뉴럴 네트워크(1000)은 복수의 계층들을 포함할 수 있다. 각 계층(1021)에서는 입력된 이미지 프레임에 가중치(1023)를 포함한 커널(1022)을 적용하여 특징 맵(Feature map)을 생성하는 과정이 수행된다. 각 계층(1021)에서 특징 맵은 적어도 하나가 생성될 수 있고, 각 계층에서는 적어도 하나의 이미지 프레임(1001)에 복수 개의 커널(1022)이 적용될 수 있다. 각 커널(1022)들이 포함하는 가중치(13)는 컨볼루션 뉴럴 네트워크(1000)의 학습에 의해 업데이트 될 수 있다.The convolutional neural network 1000 may include a plurality of layers. In each layer 1021, a process of generating a feature map is performed by applying the kernel 1022 including the weight 1023 to the input image frame. At least one feature map may be generated in each layer 1021, and a plurality of kernels 1022 may be applied to at least one image frame 1001 in each layer. The weights 13 included in each kernel 1022 may be updated by learning of the convolutional neural network 1000.

커널(1022)이란 입력된 데이터를 프로세싱 하기 위해 사용되는 가중치를 가지는 행렬을 의미할 수 있다. 커널의 일 예로는 노이즈를 제거하는 low-pass 커널, 모서리를 무디게 하는 Gaussian 커널, 모서리를 날카롭게 하는 high-pass 커널들을 들 수 있으며, 커널은 필터, 마스크라고도 할 수 있으며, 입력된 데이터의 특징을 추출하기 위해 프로세싱 수행시 적용되는 값을 의미한다. 다시 말해서, 커널(1022)은 입력된 데이터의 어떤 특징을 추출할지에 따라 특성이 달라질 수 있다. The kernel 1022 may mean a matrix having weights used to process input data. Examples of kernels include a low-pass kernel that removes noise, a Gaussian kernel that blunts the corners, and a high-pass kernel that sharpens the corners. The kernel can also be referred to as a filter and a mask. Refers to the value applied when processing is performed to extract. In other words, the kernel 1022 may have different characteristics depending on which characteristics of the input data to be extracted.

이미지 프로세싱을 위해 학습된 컨볼루션 뉴럴 네트워크의 종류로는 VGGnet, GoogleLeNet, ResNet 등을 포함할 수 있다. 각 컨볼루션 뉴럴 네트워크는 이미지 프레임에 적용하는 커널(1002)의 종류가 상이할 수 있다. 서버는 식별하고자 하는 오브젝트의 특성에 따라 상이한 커널을 적용할 수 있다. Types of convolutional neural networks trained for image processing may include VGGnet, GoogleLeNet, and ResNet. Each convolutional neural network may have different types of kernels 1002 applied to image frames. The server can apply different kernels according to the characteristics of the object to be identified.

일부 실시예에 따르면, 컨볼루션 뉴럴 네트워크(1000)의 첫번째 계층에서는 커널과 입력 이미지 프레임 데이터를 컨볼루션함으로써 첫번째 특징 맵을 생성할 수 있고, 뉴럴 네트워크의 두번째 계층에서는 첫번째 만들어진 특징 맵과 커널을 컨볼루션 함으로써, 두번째 특징 맵을 생성할 수 있다.According to some embodiments, the first layer of the convolutional neural network 1000 may generate a first feature map by convolving the kernel and input image frame data, and the second layer of the neural network convolves the first created feature map and the kernel. By doing so, a second feature map can be created.

즉, 컨볼루션 뉴럴 네트워크(1000)는 판단 시 정확도를 높이기 위해 또는 목적하는 작업의 성공율을 높이기 위해 입력된 데이터를 프로세싱할 수 있다. 서버는 컨볼루션 뉴럴 네트워크(1000)는 복수의 계층을 통과하여 출력된 프로세싱 결과(1002)에 의해 더 정확한 판단을 수행할 수 있다. 추가적으로 컨볼루션 뉴럴 네트워크(1000)는 출력 신호를 출력하기 전, 출력 신호를 단순화 하는 풀링(Pooling) 동작을 수행할 수도 있다. That is, the convolutional neural network 1000 may process input data in order to increase the accuracy of the determination or to increase the success rate of a target operation. The server may perform a more accurate determination based on the processing result 1002 output through the convolutional neural network 1000 passing through a plurality of layers. Additionally, the convolutional neural network 1000 may perform a pooling operation to simplify the output signal before outputting the output signal.

도 11은 컨볼루션 뉴럴 네트워크를 통한 입력된 이미지 프레임 데이터의 프로세싱을 다른 형태로 도식화 한 도면이다. 앞서 설명한 바와 같이 컨볼루션 뉴럴 네트워크에서는 입력 이미지 프레임(1101)에 커널(1104)을 적용한다. 11 is a diagram illustrating processing of input image frame data through a convolutional neural network in another form. As described above, in the convolutional neural network, the kernel 1104 is applied to the input image frame 1101.

도 11을 참조하면, 입력 이미지 프레임(1101) 내의 소정의 픽셀은 주변을 둘러싼 픽셀에 의해 영향을 받는다. 따라서, 서버는 프로세싱을 위해 컨볼루션 연산을 수행한다. 컨볼루션 연산이란, 가중치를 가진 행렬인 커널(1104)을 이미지 픽셀에 적용하는 것을 의미할 수 있다. Referring to FIG. 11, a predetermined pixel in the input image frame 1101 is affected by surrounding pixels. Thus, the server performs a convolution operation for processing. The convolution operation may mean applying the kernel 1104, which is a weighted matrix, to image pixels.

예를 들면, 컨벌루션 연산이란 소정의 픽셀 값및 소정의 픽셀 주위의 픽셀 값에 각각 커널의 가중치를 곱하고, 커널 내의 각각 대응하는 셀들의 결과 값(M행 N열의 값)들을 모두 합산하는 연산일 수 있다. For example, the convolution operation may be an operation in which a predetermined pixel value and a pixel value around a predetermined pixel are multiplied by the weight of each kernel, and the result values of each corresponding cell in the kernel (values in rows M and N) are summed have.

도 11에서는 1/9의 가중치를 3x3 크기의 커널(1104)을 입력 이미지 프레임(1101)에 적용한다. 입력 신호 내의 픽셀 값이 2인 제 1 픽셀(1103)에 커널을 적용하면 커널의 크기에 따라 제 1 픽셀(1103) 주위의 픽셀인 나머지 8개의 픽셀 또한 함께 연산된다. 커널을 적용한 연산은 아래와 같다In FIG. 11, the weight of 1/9 is applied to the input image frame 1101 with a kernel 1104 having a size of 3x3. When a kernel is applied to the first pixel 1103 having a pixel value of 2 in the input signal, the remaining eight pixels, which are pixels around the first pixel 1103, are also calculated according to the size of the kernel. The operation to which the kernel is applied is as follows

(1/9)x2+(1/9)x2+(1/9)x4+(1/9)x6+(1/9)x2+(1/9)x5+(1/9)x5+(1/9)x5+(1/9)x5 = 4(1/9)x2+(1/9)x2+(1/9)x4+(1/9)x6+(1/9)x2+(1/9)x5+(1/9)x5+(1/9)x5+(1 /9)x5 = 4

따라서 출력 결과(1102)는 입력 이미지 프레임(1101)의 제 1 픽셀(1103)의 값이 2에서 4로 변경된 데이터이며, 다른 픽셀 또한 동일한 방식으로 연산될 수 있다. 다시 말해서, 출력 결과(1102)는 입력 이미지 프레임(1101)을 커널(1104)로 훑어서(sweep) 변형된 데이터를 의미할 수 있다. 즉, 컨볼루션이란 주위(예를 들면, 특정 픽셀의 주변 픽셀)의 값들을 반영해 중앙(예를 들면, 특정 픽셀)의 값을 변화시키는 것을 의미할 수 있다. 또한 일부 실시예에 따르면, 출력신호(1102)는 입력 이미지 프레임(1101)로부터 생성된 특징 맵일 수 있다. 컨볼루션 뉴럴 네트워크는 생성한 특징 맵을 기초로 오브젝트의 색상이 어떤 색상인지, 오브젝트의 오버랩 표시 등을 판단할 수 있고, 서버는 컨볼루션 뉴럴 네트워크를 이용하여 오브젝트의 특성을 판단하여 게임 해킹 프로그램 여부를 판단할 수 있다. Accordingly, the output result 1102 is data in which the value of the first pixel 1103 of the input image frame 1101 is changed from 2 to 4, and other pixels may also be calculated in the same manner. In other words, the output result 1102 may mean data that is transformed by sweeping the input image frame 1101 with the kernel 1104. That is, convolution may mean changing a value of the center (eg, a specific pixel) by reflecting values of the surrounding (eg, surrounding pixels of a specific pixel). In addition, according to some embodiments, the output signal 1102 may be a feature map generated from the input image frame 1101. Based on the generated feature map, the convolutional neural network can determine the color of the object and the overlap display of the object, and the server determines the characteristics of the object using the convolutional neural network to determine whether there is a game hacking program. Can judge.

도 12는 일부 실시예에 따른 서버의 세부적인 구성을 설명하기 위한 도면이다. 12 is a diagram for describing a detailed configuration of a server according to some embodiments.

도 12에 도시된 바와 같이 일부 실시예에 따른 서버(1200)는 프로세서(1210), 통신부(1230) 및 메모리(1250)을 포함할 수 있다. 그러나 도 12에 도시된 구성 요소가 모두 서버(1200)의 필수 구성 요소인 것은 아니다. 도 12에 도시된 구성 요소보다 많은 구성 요소에 의해 서버(1200)가 구현될 수도 있고, 도 12에 도시된 구성 요소보다 적은 구성 요소에 의해 서버(1200)가 구현될 수 있다. As shown in FIG. 12, the server 1200 according to some embodiments may include a processor 1210, a communication unit 1230, and a memory 1250. However, not all of the components shown in FIG. 12 are essential components of the server 1200. The server 1200 may be implemented by more components than the components illustrated in FIG. 12, or the server 1200 may be implemented by fewer components than the components illustrated in FIG. 12.

일부 실시예에 따르면, 프로세서(1210)는 통상적으로 서버(1200)의 전반적인 동작을 제어한다. 예를 들어, 프로세서(1210)는 서버(1200)에 저장된 프로그램을 실행함으로써, 서버(1200)가 포함하는 구성요소들을 전반적으로 제어할 수 있다. According to some embodiments, the processor 1210 typically controls the overall operation of the server 1200. For example, the processor 1210 may generally control components included in the server 1200 by executing a program stored in the server 1200.

일부 실시예에 따르면, 프로세서(1210)는 통신부(1230) 및 메모리(1250)을 제어하고, 획득한 이미지 프레임 내에 포함된 적어도 하나의 오브젝트의 특성을 식별하고, 식별된 특성에 기초하여 게임 해킹 프로그램의 사용 여부를 판단할 수 있다.According to some embodiments, the processor 1210 controls the communication unit 1230 and the memory 1250, identifies characteristics of at least one object included in the acquired image frame, and based on the identified characteristics, a game hacking program You can determine whether to use.

또한 일부 실시예에 따르면, 프로세서(1210)는 적어도 하나의 오브젝트의 움직임, 적어도 하나의 오브젝트의 색상, 적어도 하나의 오브젝트의 오버랩 여부를 식별할 수 있다.In addition, according to some embodiments, the processor 1210 may identify movement of at least one object, a color of at least one object, and whether or not at least one object overlaps.

또한 일부 실시예에 따르면, 프로세서(1210)는, 게임 실행 화면의 시점의 종류 또는 방향을 제어할 수 있고, 게임 시작 시 표시되는 게임 실행 화면의 시점의 종류 또는 방향을 제어할 수 있다. 또한 일부 실시예에 따르면, 프로세서(1210)는, 게임 실행 화면에 적어도 하나의 캐릭터 오브젝트가 표시되도록 게임 실행 화면의 시점의 종류 또는 방향을 제어할 수 있다.In addition, according to some embodiments, the processor 1210 may control the type or direction of the viewpoint of the game execution screen, and may control the type or direction of the viewpoint of the game execution screen displayed when the game starts. In addition, according to some embodiments, the processor 1210 may control the type or direction of the viewpoint of the game execution screen so that at least one character object is displayed on the game execution screen.

추가적으로, 일부 실시예에 따르면, 프로세서(1210)는 게임 실행 화면에 포함되는 상기 적어도 하나의 오브젝트의 위치를 제어할 수 있다. 또한 프로세서(1210)는, 게임 시작 시 상기 적어도 하나의 오브젝트가 위치하는 좌표를 제어할 수 있다. 또한 일부 실시예에 따르면, 프로세서(1210)는 적어도 하나의 오브젝트들이 오버랩 되도록 상기 적어도 하나의 오브젝트들의 위치를 제어할 수 있다.Additionally, according to some embodiments, the processor 1210 may control the location of the at least one object included in the game execution screen. Also, the processor 1210 may control coordinates at which the at least one object is located when the game starts. Also, according to some embodiments, the processor 1210 may control the positions of the at least one object so that the at least one object overlap.

또한 일부 실시예에 따르면, 프로세서(1210)는 식별하기를 원하는 오브젝트의 특성에 따라 컨볼루션 커널을 결정하고, 결정된 커널을 이용한 컨볼루션 뉴럴 네트워크를 이용하여 획득한 적어도 하나의 이미지 프레임을 프로세싱하고, 프로세싱 결과에 기초하여 상기 적어도 하나의 오브젝트의 특성을 식별할 수 있다. In addition, according to some embodiments, the processor 1210 determines a convolution kernel according to the characteristics of an object desired to be identified, processes at least one image frame obtained using a convolutional neural network using the determined kernel, A characteristic of the at least one object may be identified based on the processing result.

일부 실시예에 따르면, 통신부(1230)는 사용자 단말에서 표시되는 게임 실행 화면을 캡쳐한 적어도 하나의 이미지 프레임을 수신할 수 있다. 수신된 적어도 하나의 이미지 프레임은 메모리(1250)에 저장될 수 있다.According to some embodiments, the communication unit 1230 may receive at least one image frame capturing a game execution screen displayed on the user terminal. The received at least one image frame may be stored in the memory 1250.

또한 일부 실시예에 따르면, 통신부(1230)는 사용자 단말에 설치된 게임 클라이언트에게 소정의 패킷을 송신할 수 있다. 소정의 패킷 내에는 서버가 배포하는 정책, 업데이트 데이터, 시점의 방향 또는 종류를 제어하는 명령어, 게임 오브젝트의 좌표를 제어하는 명령어가 포함될 수 있으며, 상기 예시에 제한되지 않는다. Further, according to some embodiments, the communication unit 1230 may transmit a predetermined packet to a game client installed in the user terminal. In the predetermined packet, a policy distributed by the server, update data, a command for controlling the direction or type of a viewpoint, and a command for controlling the coordinates of a game object may be included, and the example is not limited thereto.

또한 통신부(1230)는 사용자 단말로부터 게임 해킹 프로그램 사용의 신고를 수신하거나, 게임 해킹 프로그램 사용에 따른 소정의 제재 명령을 사용자 단말에게 송신할 수도 있다. In addition, the communication unit 1230 may receive a report of the use of the game hacking program from the user terminal or may transmit a predetermined sanction command according to the use of the game hacking program to the user terminal.

일부 실시예에 따르면, 통신부(1230)는 블루투스, BLE(Bluetooth Low Energy), 근거리 자기장(Near Field Communication), WLAN, 지그비(Zigbee) 적외선(IrDA, infrared Data Association), WFD(Wi-Fi Direct), UWB(ultra wideband), Ant+, LTE, 3G, 5G 등 통신 방법에 관계 없이 모든 방법을 통해 통신할 수 있다. According to some embodiments, the communication unit 1230 includes Bluetooth, Bluetooth Low Energy (BLE), Near Field Communication, WLAN, Zigbee, infrared data association (IrDA), and Wi-Fi Direct (WFD). , UWB (ultra wideband), Ant+, LTE, 3G, 5G, etc., regardless of the communication method, it can communicate through any method.

또한 일부 실시예에 따르면 메모리(1250)는, 프로세서(1210)의 처리 및 제어를 위한 프로그램을 저장할 수 있고, 서버(1200)로 입력되거나 서버(1200)로부터 출력되는 데이터를 저장할 수도 있다. In addition, according to some embodiments, the memory 1250 may store a program for processing and controlling the processor 1210 and may store data input to the server 1200 or output from the server 1200.

일부 실시예에 따르면, 메모리(1250)는 사용자 단말에서 표시되는 게임 실행 화면을 캡쳐한 적어도 하나의 이미지 프레임을 획득할 수 있다. 일부 실시예에 따르면 메모리(1250)는 통신부(1230)로부터 사용자 단말에서 표시되는 게임 실행 화면을 캡쳐한 적어도 하나의 이미지 프레임을 획득할 수 있다.According to some embodiments, the memory 1250 may acquire at least one image frame obtained by capturing a game execution screen displayed on the user terminal. According to some embodiments, the memory 1250 may obtain at least one image frame obtained by capturing a game execution screen displayed on the user terminal from the communication unit 1230.

즉, 메모리(1250)는 프로세서(1210)의 제어에 따라 통신부(1230)로부터 사용자 단말에서 표시되는 게임 실행 화면을 캡쳐한 적어도 하나의 이미지 프레임을 획득하고, 저장할 수 있다.That is, the memory 1250 may acquire and store at least one image frame capturing a game execution screen displayed on the user terminal from the communication unit 1230 under the control of the processor 1210.

또한 일부 실시예에 따르면 메모리(1250)는 시점의 종류 또는 방향이 제어된 게임 실행 화면을 캡쳐한 적어도 하나의 이미지 프레임을 획득할 수 있다. 또한 일부 실시예에 따르면 메모리(1250)는 적어도 하나의 오브젝트의 위치가 제어된 게임 실행 화면을 캡쳐한 적어도 하나의 이미지 프레임을 획득할 수 있다. In addition, according to some embodiments, the memory 1250 may acquire at least one image frame in which a game execution screen in which the type or direction of a viewpoint is controlled is captured. In addition, according to some embodiments, the memory 1250 may acquire at least one image frame in which a game execution screen in which the location of at least one object is controlled is captured.

일부 실시예에 따르면, 메모리(1250)는 플래시 메모리 타입(flash memory type), 하드디스크 타입(hard disk type), 멀티미디어 카드 마이크로 타입(multimedia card micro type), 카드 타입의 메모리(예를 들어 SD 또는 XD 메모리 등), 램(RAM, Random Access Memory) SRAM(Static Random Access Memory), 롬(ROM, Read-Only Memory), EEPROM(Electrically Erasable Programmable Read-Only Memory), PROM(Programmable Read-Only Memory), 자기 메모리, 자기 디스크, 광디스크 중 적어도 하나의 타입의 저장매체를 포함할 수 있다. 또한 일부 실시예에 따르면, 메모리(1150)에 저장된 프로그램들은 그 기능에 따라 복수 개의 모듈들로 분류할 수 있다. According to some embodiments, the memory 1250 is a flash memory type, a hard disk type, a multimedia card micro type, or a card type memory (for example, SD or XD memory, etc.), RAM (RAM, Random Access Memory) SRAM (Static Random Access Memory), ROM (ROM, Read-Only Memory), EEPROM (Electrically Erasable Programmable Read-Only Memory), PROM (Programmable Read-Only Memory) , A magnetic memory, a magnetic disk, an optical disk, and at least one type of storage medium. Also, according to some embodiments, programs stored in the memory 1150 may be classified into a plurality of modules according to their functions.

이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 어플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.The apparatus described above may be implemented as a hardware component, a software component, and/or a combination of a hardware component and a software component. For example, the devices and components described in the embodiments are, for example, a processor, a controller, an arithmetic logic unit (ALU), a digital signal processor, a microcomputer, a field programmable gate array (FPGA). , A programmable logic unit (PLU), a microprocessor, or any other device capable of executing and responding to instructions, such as one or more general purpose computers or special purpose computers. The processing device may execute an operating system (OS) and one or more software applications executed on the operating system. In addition, the processing device may access, store, manipulate, process, and generate data in response to the execution of software. For the convenience of understanding, although it is sometimes described that one processing device is used, one of ordinary skill in the art, the processing device is a plurality of processing elements and/or a plurality of types of processing elements. It can be seen that it may include. For example, the processing device may include a plurality of processors or one processor and one controller. In addition, other processing configurations are possible, such as a parallel processor.

소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.The software may include a computer program, code, instructions, or a combination of one or more of these, configuring the processing unit to behave as desired or processed independently or collectively. You can command the device. Software and/or data may be interpreted by a processing device or to provide instructions or data to a processing device, of any type of machine, component, physical device, virtual equipment, computer storage medium or device. , Or may be permanently or temporarily embodyed in a transmitted signal wave. The software may be distributed over networked computer systems and stored or executed in a distributed manner. Software and data may be stored on one or more computer-readable recording media.

실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.The method according to the embodiment may be implemented in the form of program instructions that can be executed through various computer means and recorded in a computer-readable medium. The computer-readable medium may include program instructions, data files, data structures, and the like alone or in combination. The program instructions recorded on the medium may be specially designed and configured for the embodiment, or may be known and usable to those skilled in computer software. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tapes, optical media such as CD-ROMs and DVDs, and magnetic media such as floptical disks. -A hardware device specially configured to store and execute program instructions such as magneto-optical media, and ROM, RAM, flash memory, and the like. Examples of the program instructions include not only machine language codes such as those produced by a compiler, but also high-level language codes that can be executed by a computer using an interpreter or the like. The hardware device described above may be configured to operate as one or more software modules to perform the operation of the embodiment, and vice versa.

이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.Although the embodiments have been described by the limited embodiments and drawings as described above, various modifications and variations can be made from the above description to those of ordinary skill in the art. For example, the described techniques are performed in a different order from the described method, and/or components such as a system, structure, device, circuit, etc. described are combined or combined in a form different from the described method, or other components Alternatively, even if substituted or substituted by an equivalent, an appropriate result can be achieved.

그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.Therefore, other implementations, other embodiments, and claims and equivalents fall within the scope of the claims to be described later.

Claims (20)

이미지 프로세싱을 이용하여 게임 해킹 프로그램의 사용 여부를 판단하는 방법에 있어서,
게임 시작 이후의 소정의 시간 또는 소정의 장소에서, 사용자 단말에서 표시되는 게임 실행 화면 시점의 종류 또는 사용자 캐릭터 오브젝트의 방향을 제어하는 단계;
상기 제어된 시점의 종류 또는 상기 제어된 사용자 캐릭터 오브젝트의 방향에 따라 상기 사용자 단말에서 표시되는 게임 실행 화면을 캡쳐한 적어도 하나의 이미지 프레임을 획득하는 단계;
상기 획득한 적어도 하나의 이미지 프레임 내에 포함된 적어도 하나의 오브젝트의 특성을 식별하는 단계; 및
상기 식별된 특성에 기초하여 게임 해킹 프로그램의 사용 여부를 판단하며,
상기 획득한 적어도 하나의 이미지 프레임 내에 포함된 적어도 하나의 오브젝트의 특성을 식별하는 단계는,
학습에 의해 업데이트되는 컨볼루션 커널을 이용하여, 상기 획득한 적어도 하나의 이미지 프레임을 프로세싱하고, 상기 프로세싱 결과에 기초하여 상기 적어도 하나의 오브젝트의 특성을 식별하는 것인 방법.
In a method of determining whether to use a game hacking program using image processing,
Controlling a type of a viewpoint of a game execution screen displayed on a user terminal or a direction of a user character object at a predetermined time or place after the game starts;
Obtaining at least one image frame by capturing a game execution screen displayed on the user terminal according to the type of the controlled viewpoint or the direction of the controlled user character object;
Identifying characteristics of at least one object included in the acquired at least one image frame; And
Determine whether to use a game hacking program based on the identified characteristics,
Identifying the characteristics of at least one object included in the at least one image frame obtained,
Processing the acquired at least one image frame using a convolutional kernel updated by learning, and identifying a characteristic of the at least one object based on the processing result.
제1항에 있어서,
상기 오브젝트의 특성을 식별하는 단계는,
상기 적어도 하나의 오브젝트의 움직임, 상기 적어도 하나의 오브젝트의 색상, 상기 적어도 하나의 오브젝트의 오버랩 여부를 식별하는 것인 방법.
The method of claim 1,
Identifying the characteristics of the object,
The method of identifying the movement of the at least one object, the color of the at least one object, and whether the at least one object overlaps.
삭제delete 제1항에 있어서,
상기 게임 시작 이후의 소정의 시간 또는 소정의 장소에서, 사용자 단말에서 표시되는 게임 실행 화면 시점의 종류 또는 사용자 캐릭터 오브젝트의 방향을 제어하는 단계는,
상기 게임의 시작 시 표시되는 게임 실행 화면의 시점의 종류 또는 방향을 제어하는 것인 방법.
The method of claim 1,
At a predetermined time or a predetermined place after the start of the game, the step of controlling the type of the viewpoint of the game execution screen displayed on the user terminal or the direction of the user character object,
The method of controlling the type or direction of the viewpoint of the game execution screen displayed at the start of the game.
제1항에 있어서,
상기 게임 시작 이후의 소정의 시간 또는 소정의 장소에서, 사용자 단말에서 표시되는 게임 실행 화면 시점의 종류 또는 사용자 캐릭터 오브젝트의 방향을 제어하는 단계는,
상기 게임 실행 화면에 적어도 하나의 캐릭터 오브젝트가 표시되도록 상기 게임 실행 화면의 시점의 종류 또는 방향을 제어하는 것인 방법.
The method of claim 1,
At a predetermined time or a predetermined place after the start of the game, the step of controlling the type of the viewpoint of the game execution screen displayed on the user terminal or the direction of the user character object,
The method of controlling the type or direction of the viewpoint of the game execution screen so that at least one character object is displayed on the game execution screen.
제1항에 있어서,
상기 방법은,
상기 게임 실행 화면에 포함되는 상기 적어도 하나의 오브젝트의 위치를 제어하는 단계를 더 포함하고,
상기 적어도 하나의 이미지 프레임을 획득하는 단계는,
상기 적어도 하나의 오브젝트의 위치가 제어된 게임 실행 화면을 캡쳐한 적어도 하나의 이미지 프레임을 획득하는 것인 방법.
The method of claim 1,
The above method,
Further comprising the step of controlling the position of the at least one object included in the game execution screen,
Acquiring the at least one image frame,
The method of obtaining at least one image frame capturing a game execution screen in which the position of the at least one object is controlled.
제6항에 있어서,
상기 적어도 하나의 오브젝트의 위치를 제어하는 단계는,
게임 시작 시 상기 적어도 하나의 오브젝트가 위치하는 좌표를 제어하는 것인 방법.
The method of claim 6,
Controlling the position of the at least one object,
The method of controlling the coordinates at which the at least one object is located at the start of the game.
제6항에 있어서,
상기 적어도 하나의 오브젝트의 위치를 제어하는 단계는,
상기 적어도 하나의 오브젝트가 서로 오버랩 되도록 상기 적어도 하나의 오브젝트의 위치를 제어하는 것인 방법.
The method of claim 6,
Controlling the position of the at least one object,
The method of controlling the position of the at least one object so that the at least one object overlaps each other.
삭제delete 삭제delete 이미지 프로세싱을 이용하여 게임 해킹 프로그램의 사용 여부를 판단하는 장치에 있어서, 상기 장치는,
메모리; 및
게임 시작 이후의 소정의 시간 또는 소정의 장소에서, 사용자 단말에서 표시되는 게임 실행 화면 시점의 종류 또는 사용자 캐릭터 오브젝트의 방향을 제어하고, 상기 제어된 시점의 종류 또는 상기 제어된 사용자 캐릭터 오브젝트의 방향에 따라 상기 사용자 단말에서 표시되는 게임 실행 화면을 캡쳐한 적어도 하나의 이미지 프레임을 획득하고, 상기 획득한 적어도 하나의 이미지 프레임 내에 포함된 적어도 하나의 오브젝트의 특성을 식별하고, 상기 식별된 특성에 기초하여 게임 해킹 프로그램의 사용 여부를 판단하는 프로세서를 포함하며,
상기 프로세서는,
학습에 의해 업데이트되는 컨볼루션 커널을 이용하여, 상기 획득한 적어도 하나의 이미지 프레임을 프로세싱하고, 상기 프로세싱 결과에 기초하여 상기 적어도 하나의 오브젝트의 특성을 식별하는 것인 장치.
A device for determining whether to use a game hacking program using image processing, the device comprising:
Memory; And
Controls the type of game execution screen viewpoint displayed on the user terminal or the direction of the user character object at a predetermined time or place after the start of the game, and adjusts the type of the controlled viewpoint or the direction of the controlled user character object. Accordingly, at least one image frame obtained by capturing the game execution screen displayed on the user terminal is obtained, the characteristics of at least one object included in the obtained at least one image frame are identified, and based on the identified characteristics Includes a processor that determines whether to use a game hacking program,
The processor,
Processing the acquired at least one image frame using a convolutional kernel updated by learning, and identifying a characteristic of the at least one object based on the processing result.
제11항에 있어서,
상기 프로세서는,
상기 적어도 하나의 오브젝트의 움직임, 상기 적어도 하나의 오브젝트의 색상, 상기 적어도 하나의 오브젝트의 오버랩 여부를 식별하는 것인 장치.
The method of claim 11,
The processor,
The apparatus for identifying the movement of the at least one object, the color of the at least one object, and whether the at least one object overlaps.
삭제delete 제11항에 있어서,
상기 프로세서는,
게임 시작 시 표시되는 게임 실행 화면의 시점의 종류 또는 방향을 제어하는 것인 장치.
The method of claim 11,
The processor,
A device that controls the type or direction of the viewpoint of the game execution screen displayed when the game starts.
제11항에 있어서,
상기 프로세서는,
상기 게임 실행 화면에 적어도 하나의 캐릭터 오브젝트가 표시되도록 상기 게임 실행 화면의 시점의 종류 또는 방향을 제어하는 것인 장치.
The method of claim 11,
The processor,
The apparatus for controlling the type or direction of the viewpoint of the game execution screen so that at least one character object is displayed on the game execution screen.
제11항에 있어서,
상기 프로세서는,
상기 게임 실행 화면에 포함되는 상기 적어도 하나의 오브젝트의 위치를 제어하고,
상기 메모리는,
상기 적어도 하나의 오브젝트의 위치가 제어된 게임 실행 화면을 캡쳐한 적어도 하나의 이미지 프레임을 획득하는 것인 장치.
The method of claim 11,
The processor,
Controlling the position of the at least one object included in the game execution screen,
The memory,
The apparatus for obtaining at least one image frame capturing a game execution screen in which the position of the at least one object is controlled.
제16항에 있어서,
상기 프로세서는,
게임 시작 시 상기 적어도 하나의 오브젝트가 위치하는 좌표를 제어하는 것인 장치.
The method of claim 16,
The processor,
The device to control the coordinates at which the at least one object is located at the start of the game.
제16항에 있어서,
상기 프로세서는,
상기 적어도 하나의 오브젝트가 서로 오버랩 되도록 상기 적어도 하나의 오브젝트의 위치를 제어하는 것인 장치.
The method of claim 16,
The processor,
The apparatus of controlling the position of the at least one object so that the at least one object overlaps each other.
삭제delete 제1항 내지 제2항 및 제4항 내지 제8항 중 어느 한 항의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.A computer-readable recording medium storing a program for executing the method of any one of claims 1 to 2 and 4 to 8 on a computer.
KR1020170135235A 2017-10-18 2017-10-18 Apparatus, method and computer program for determining use of a game hack progrmam using image processing KR102167650B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170135235A KR102167650B1 (en) 2017-10-18 2017-10-18 Apparatus, method and computer program for determining use of a game hack progrmam using image processing

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170135235A KR102167650B1 (en) 2017-10-18 2017-10-18 Apparatus, method and computer program for determining use of a game hack progrmam using image processing

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020190085875A Division KR20190087380A (en) 2019-07-16 2019-07-16 Apparatus, method and computer program for determining use of a game hack progrmam using image processing

Publications (2)

Publication Number Publication Date
KR20190043324A KR20190043324A (en) 2019-04-26
KR102167650B1 true KR102167650B1 (en) 2020-10-19

Family

ID=66281118

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170135235A KR102167650B1 (en) 2017-10-18 2017-10-18 Apparatus, method and computer program for determining use of a game hack progrmam using image processing

Country Status (1)

Country Link
KR (1) KR102167650B1 (en)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101103314B1 (en) * 2009-12-17 2012-01-11 주식회사 잉카인터넷 method of judging whether an image-enhanced wallhack is used, and intercepting an image-enhanced wallhack
KR20160096460A (en) * 2015-02-05 2016-08-16 삼성전자주식회사 Recognition system based on deep learning including a plurality of classfier and control method thereof

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"[번역] 딥러닝 (CNN) 직관적 이해 - (1)", 인터넷 티스토리 블로그 게시글(2016.04.09.)

Also Published As

Publication number Publication date
KR20190043324A (en) 2019-04-26

Similar Documents

Publication Publication Date Title
US20220152501A1 (en) Virtual object control method and apparatus, device, and readable storage medium
JP6397143B2 (en) Data processing method of reactive augmented reality card game by collision check of virtual object and reactive augmented reality card game play device
US20120231887A1 (en) Augmented Reality Mission Generators
KR20210143301A (en) Virtual object control method and apparatus, device, and storage medium
KR20170116483A (en) Method for gontroliing auto attack of user character
WO2022151795A1 (en) Voting result display method and apparatus, and device, storage medium and program product
TWI804032B (en) Method for data processing in virtual scene, device, apparatus, storage medium and program product
US20220297004A1 (en) Method and apparatus for controlling virtual object, device, storage medium, and program product
US11020663B2 (en) Video game with automated screen shots
CN111420402A (en) Virtual environment picture display method, device, terminal and storage medium
AU2020428058A1 (en) Method and apparatus for skill aiming in three-dimensional virtual environment, device and storage medium
US20230293995A1 (en) Artificial intelligence object control method and apparatus, device, and storage medium
KR102167650B1 (en) Apparatus, method and computer program for determining use of a game hack progrmam using image processing
CN112915541A (en) Jumping point searching method, device, equipment and storage medium
WO2022100324A1 (en) Virtual scenario display method and apparatus, terminal, and storage medium
KR20190087380A (en) Apparatus, method and computer program for determining use of a game hack progrmam using image processing
CN111589113B (en) Virtual mark display method, device, equipment and storage medium
KR20230011402A (en) Operation prompt method and device, terminal, and storage medium
US20200376384A1 (en) Method and system for controlling movement of ball in sports game
CN114011069A (en) Control method of virtual object, storage medium and electronic device
CN111589129A (en) Virtual object control method, device, equipment and medium
KR20200038153A (en) Method for processing image of game on computing devices and computing devices
KR20210003627A (en) Electronic device and method for displaying region of interest in game in an electronic device
CN112717413B (en) Method, device, equipment and medium for displaying horizontal barrier pictures
CN116351056A (en) Information processing method and electronic equipment

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
A107 Divisional application of patent
J201 Request for trial against refusal decision
J301 Trial decision

Free format text: TRIAL NUMBER: 2019101002378; TRIAL DECISION FOR APPEAL AGAINST DECISION TO DECLINE REFUSAL REQUESTED 20190716

Effective date: 20200710

GRNO Decision to grant (after opposition)
GRNT Written decision to grant