KR101421633B1 - Speed Hack Detection System and Method - Google Patents

Speed Hack Detection System and Method Download PDF

Info

Publication number
KR101421633B1
KR101421633B1 KR1020130035713A KR20130035713A KR101421633B1 KR 101421633 B1 KR101421633 B1 KR 101421633B1 KR 1020130035713 A KR1020130035713 A KR 1020130035713A KR 20130035713 A KR20130035713 A KR 20130035713A KR 101421633 B1 KR101421633 B1 KR 101421633B1
Authority
KR
South Korea
Prior art keywords
speed
time
hooking
api function
time information
Prior art date
Application number
KR1020130035713A
Other languages
Korean (ko)
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 KR1020130035713A priority Critical patent/KR101421633B1/en
Application granted granted Critical
Publication of KR101421633B1 publication Critical patent/KR101421633B1/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
    • A63F13/75Enforcing rules, e.g. detecting foul play or generating lists of cheating players
    • 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/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • 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
    • G06F21/566Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Tourism & Hospitality (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Multimedia (AREA)
  • General Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • Human Resources & Organizations (AREA)
  • Economics (AREA)
  • Virology (AREA)
  • Debugging And Monitoring (AREA)

Abstract

The present invention relates to a system and a method for detecting the use of speed hack in a client computer by comparing time information operated by the speed hack with time information which is not operated by the speed hack. The system for detecting the speed hack according to the present invention comprises an environment setting unit which loads a system DLL copy file of a system DLL file in a memory area of a game process; a time related API calling unit which calls a time related API function included in the system DLL file and a non-hooking time related API function included in the system DLL copy file; and a speed hack determining unit which compares game reference time information obtained from the time related API function included in the system DLL file with non-hooking time information obtained from the non-hooking time related API function, and determines the difference between the game reference time information and the non-hooking time information as the use of the speed hack when the difference exceeds a predetermined threshold value.

Description

스피드 핵 검출 시스템 및 방법 {Speed Hack Detection System and Method}[0001] Speed Nucleus Detection System and Method [0002]

이 발명은 클라이언트 컴퓨터에서 스피드 핵이 사용되는지를 검출하는 시스템 및 방법에 관한 것으로서, 보다 상세하게는 스피드 핵에 의해 조작될 수 있는 시간 정보와 스피드 핵에 의해 조작될 수 없는 시간 정보를 각각 획득하여 비교함으로써, 클라이언트 컴퓨터에서의 스피드 핵의 사용 여부를 검출하는 시스템 및 방법에 관한 것이다.
The present invention relates to a system and method for detecting whether a speed nucleus is used in a client computer, and more particularly, to a system and method for detecting whether a speed nucleus is used in a client computer, To a system and method for detecting the use of speed nuclei in a client computer.

초고속인터넷이 널리 보급되면서 온라인 게임인구가 급속도로 증가하고 수많 은 온라인 게임들이 개발되었지만 아직까지 게임 보안에 대한 인식과 개념은 많이 부족하다. 컴퓨터 시스템에서 실행되는 악성 프로그램을 핵 또는 해킹프로그램이라고 하는데, 특히 게임에 작용하는 악성 프로그램을 게임 핵이라고 한다. 게임 핵은 게임의 메모리를 조작하여 능력치나 체력 등과 같은 특정 데이터를 바꾸어 주거나, 격투기 게임의 경우 타격 속도나 타격 횟수를 증가시키거나, 매크로 기능을 부여함으로써, 게임 유저가 게임을 손쉽게 이길 수 있도록 해준다. 이 때문에, 게이머들은 온라인 게임시 게임 핵을 설치하고 싶어한다.With the widespread use of high-speed Internet, the online game population has rapidly increased and numerous online games have been developed, but there is still a lack of awareness and concept of game security. A malicious program that runs on a computer system is called a nucleus or hacking program. In particular, a malicious program that acts on a game is called a game nucleus. The game nucleus allows the game user to easily win the game by manipulating the memory of the game to change specific data such as stamina or stamina, to increase the hit rate or the number of strikes in a fighting game, or to give a macro function . For this reason, gamers want to install game nuclei in online games.

이러한 게임 핵의 한 종류로서, 컴퓨터 시스템의 시간관련 정보를 변경하는 스피드 핵(speed hack)이 있다. 이 스피드 핵은 클라이언트 컴퓨터의 시간을 실제 시간보다 많이 흐르거나, 혹은 적게 흐른 것처럼 속여서 게임 프로그램의 개발자가 의도한 설계동작과 다르게 동작하도록 하는 악성 프로그램을 말한다. 스피드 핵을 사용할 경우, 게임에서의 캐릭터의 움직임이나 공격속도 등이 수 배 내지 수백 배 빨라지고 클라이언트가 게임 서버에게 보내는 패킷의 속도도 함께 빨라지게 한다. 한편, 골프게임이나 바둑, 고스톱과 같은 보드 게임에서는 스피드 핵을 이용하여 속도를 느리게 하기도 한다. 예를 들어, 골프 게임의 경우 타구의 정확도를 높이기 위해 순간적으로 속도를 느리게 하거나, 고스톱이나 바둑의 경우 자신의 차례에서 속도를 느리게 하여 상대방보다 더 많은 시간동안 생각을 할 수 있도록 하는데 사용한다.As a kind of game nucleus, there is a speed hack that changes time related information of a computer system. The speed core is a malicious program that causes the client computer's time to flow more or less than the actual time, so that the developer of the game program behaves differently from the intended design. When using a speed core, the movement and attack speed of the character in the game are several times to several hundred times faster, and the speed of the packet sent by the client to the game server is also accelerated. On the other hand, in golf games and board games such as Baduk and GoStop, speed nukes are used to slow down speed. For example, in a golf game, it is used to slow down the momentarily to improve the accuracy of the ball, or to slow down in the turn of the game in the case of go-tops or goalkeeps so that they can think for more time than their opponents.

이렇게 게임 클라이언트가 스피드 핵을 사용하면 정상 속도의 게임자보다 빠른 속도로 움직이면서 공격을 하고 캐릭터가 빠르게 성장하거나 게이머에게 부여되는 게임시간이 길어지기 때문에, 스피드 핵을 사용하지 않는 정상 사용자는 피해를 보게 된다. 아울러, 스피드 핵 사용 클라이언트가 단위 시간동안 게임 서버에게 보내는 패킷의 양이 증가하기 때문에, 게임 서버가 과도한 양의 패킷을 처리하면서 과부하가 걸리게 된다.So, if a game client uses speed nuke, it will move at a speed faster than the normal speed player, attack faster, and the character will grow faster or the game time given to the gamer will be longer. do. In addition, since the amount of packets sent by the speed nuclear client to the game server during the unit time increases, the game server is overloaded while processing an excessive amount of packets.

이와 같이, 온라인 게임에서 스피드 핵 사용을 제재하지 못하면 결국 온라인 게임 내 사용자간의 균형이 깨어져서 정상 사용자들의 불만이 커지게 되고, 정상 속도보다 훨씬 빠르게 성장하는 캐릭터로 인하여 게임 내의 다른 밸런스까지도 붕괴되는 심각한 문제를 야기할 수 있다. 이러한 문제를 해결하려면 게임 클라이언트가 스피드 핵을 사용하지 못하도록 차단하여야 하며, 이를 위해 클라이언트 컴퓨터에서 스피드 핵이 사용되는지 여부를 검출해야 한다.As such, failure to enforce speed nuclear use in online games will eventually lead to disruption of balance among users in online games, resulting in increased dissatisfaction among normal users, a serious problem in which even the balance in the game is collapsed due to the character growing much faster than normal speed . ≪ / RTI > To solve this problem, the game client must be prevented from using the speed core, and the client computer must detect whether or not the speed core is used.

클라이언트 컴퓨터에서 스피드 핵을 검출하는 선행기술로서, 대한민국 특허출원 제2003-88654호, "타이머 API 후킹 여부 판단 방식에 의한 스피드 핵 사용여부 검출방법"이 있다. 이 선행기술은 해커가 사용할 것으로 예상되는 타이머 관련 API의 후킹 여부를 판단하여 스피드 핵이 사용되는지를 검출한다. 그러나, 이러한 선행기술은 해커가 미리 예측된 타이머 관련 API를 후킹할 경우에는 검출가능하지만, 예측할 수 없는 새로운 타이머 관련 API를 후킹하여 내부 시간을 조작하는 경우에는 이를 검출할 수 없는 문제점이 있다.Korean Patent Application No. 2003-88654, "Method of detecting whether or not a speed nuclear is used by a determination method of timer API hooking" is known as a prior art for detecting speed nuclei in a client computer. This prior art detects whether a speed core is used by determining whether a timer related API expected to be used by a hacker is hooked. However, this prior art has a problem in that it can not detect when the internal time is manipulated by hooking a new timer-related API that can be detected but can not be predicted when the hacker hooks a timer-related API predicted in advance.

다른 선행기술로서, 대한민국 특허출원 제2005-90603호, "컴퓨터시스템에서 내부 시간 변경 감지방법"이 있다. 이 선행기술은 TSC, RTC 등의 정보를 사용하여 기준시간을 연산하고, 타이머 관련 API를 호출하여 시스템 시간을 추출하며, 기준시간과 시스템 시간을 비교함으로써, 스피드 핵 사용 여부를 검출한다. 그러나, 이러한 선행기술은 TSC, RTC 등의 정보를 획득하려면 커널모드모듈이 추가되어야 하고, TSC, RTC 등의 정보로부터 기준시간을 연산하려면 다량의 시스템 자원이 소모되는 문제점이 있다.Another prior art is Korean Patent Application No. 2005-90603, entitled " Internal Time Change Detection Method in a Computer System ". This prior art computes a reference time using information such as TSC and RTC, extracts a system time by calling a timer related API, and compares the reference time with a system time to detect whether or not a speed nucleus is used. However, in this prior art, a kernel mode module must be added in order to acquire information such as TSC and RTC, and a large amount of system resources are consumed in order to calculate a reference time from information such as TSC and RTC.

상술한 종래기술의 문제점을 해결하기 위하여 안출된 이 발명의 목적은, 게임프로세스의 메모리 영역에 스피드 핵에 의해 조작될 수 없는 비후킹 시간관련 API함수를 추가 로딩하고, 게임실행코드에서 참조하는 시스템 시간과 상기 비후킹 시간관련 API 함수를 통해 획득된 시간을 비교함으로써, 커널모드모듈을 사용하지 않고도 스피드 핵 사용 여부를 검출할 수 있는 스피드 핵 검출 시스템 및 방법을 제공하기 위한 것이다.
It is an object of the present invention, which is devised to solve the problems of the prior art described above, to provide a game system which loads a non-hooking time related API function which can not be manipulated by a speed core in a memory area of a game process, And comparing the obtained time with the time obtained through the API function related to the non-hooking time, thereby detecting the speed nuclear use without using the kernel mode module.

상술한 목적을 달성하기 위한 이 발명에 따른 스피드 핵 검출 시스템은, 게임프로세스의 메모리 영역에 시스템 DLL 파일의 복사본인 시스템 DLL 복사본을 로딩하는 환경설정부와,According to an aspect of the present invention, there is provided a speed nuclear detection system including: a configuration unit for loading a copy of a system DLL, which is a copy of a system DLL file, in a memory area of a game process;

상기 시스템 DLL 파일에 포함된 시간관련 API 함수와 상기 시스템 DLL 복사본에 포함된 비후킹 시간관련 API 함수를 각각 호출하는 시간관련 API 호출부와,A time related API call unit for calling a time related API function included in the system DLL file and a non - hooking time related API function included in the copy of the system DLL,

상기 시스템 DLL 파일에 포함된 시간관련 API 함수로부터 획득된 게임 참조 시간 정보와 상기 비후킹 시간관련 API 함수로부터 획득된 비후킹 시간 정보를 비교하여 상기 두 시간 정보의 차이값이 기설정된 임계값을 초과하면 스피드 핵 사용으로 판단하는 스피드 핵 판단부를 포함한 것을 특징으로 한다.Hooking time information obtained from the API function of the non-hooking time with the game reference time information obtained from the time-related API function included in the system DLL file and comparing the non-hooking time information obtained from the API function with the non-hooking time to exceed the predetermined threshold value Speed nucleus judging unit which judges the use of speed nuclear.

또한, 이 발명에 따른 스피드 핵 검출 방법은, 스피드 핵 검출 시스템이 게임프로세스의 메모리 영역에 시스템 DLL 파일의 복사본인 시스템 DLL 복사본을 로딩하는 제1단계와,According to another aspect of the present invention, there is provided a speed nuclear detection method comprising the steps of loading a copy of a system DLL, which is a copy of a system DLL file, into a memory area of a game process,

상기 스피드 핵 검출 시스템이 상기 시스템 DLL 파일에 포함된 시간관련 API 함수와 상기 시스템 DLL 복사본에 포함된 비후킹 시간관련 API 함수를 각각 호출하는 제2단계와,A second step in which the speed nuclear detection system calls a time related API function included in the system DLL file and a non-hooking time related API function included in the copy of the system DLL,

상기 스피드 핵 검출 시스템이 상기 시스템 DLL 파일에 포함된 시간관련 API 함수로부터 획득된 게임 참조 시간 정보와 상기 비후킹 시간관련 API 함수로부터 획득된 비후킹 시간 정보를 비교하여 상기 두 시간 정보의 차이값이 기설정된 임계값을 초과하면 스피드 핵 사용으로 판단하는 제3단계를 포함한 것을 특징으로 한다.
The speed nucleation detection system compares the game reference time information obtained from the time related API function included in the system DLL file with the non-hooking time information obtained from the API function related to the non-hooking time, And a third step of judging the use of the speed nuclear when the predetermined threshold value is exceeded.

이상과 같이 이 발명에 따르면, 게임실행코드에서 참조하는 시간 정보와 스피드 핵에 의해 조작될 수 없도록 보호된 시간 정보를 각각 획득하여 두 시간 정보를 비교하여, 게임실행코드에서 참조하는 시간 정보가 조작되었는 지를 판단함으로써, 스피드 핵 사용 여부를 검출할 수 있는 효과가 있다.
As described above, according to the present invention, the time information referenced in the game execution code and the time information protected so as not to be manipulated by the speed nucleus are obtained, respectively, and the two pieces of time information are compared, It is possible to detect whether the speed nuclear is used or not.

도 1은 일반적으로 윈도우즈 운영체제 하에서 동작하는 게임프로세스가 시간 정보를 획득하는 과정을 도시한 도면이다.
도 2는 일반적으로 윈도우즈 운영체제 하에서 동작하는 게임에 작용하는 스피드 핵이 동작하는 과정을 도시한 도면이다.
도 3은 이 발명에 따른 스피드 핵 검출 시스템을 도시한 구성 블록도이다.
도 4는 이 발명에 따른 스피드 핵 검출 방법을 도시한 동작 흐름도이다.
FIG. 1 is a diagram illustrating a process in which a game process operating under a Windows operating system generally acquires time information.
FIG. 2 is a diagram illustrating a process of operating a speed core operating in a game generally operating under a Windows operating system.
3 is a block diagram of a configuration of a speed nuclear detection system according to the present invention.
4 is a flowchart illustrating a method of detecting a speed nucleus according to the present invention.

이하, 첨부된 도면을 참조하여 이 발명에 따른 스피드 핵 검출 시스템 및 방법에 대해 상세하게 설명한다.Hereinafter, a speed nuclear detection system and method according to the present invention will be described in detail with reference to the accompanying drawings.

먼저, 게임 프로세스가 윈도우즈 운영체제에서 시간 정보를 획득하는 과정과, 스피드 핵이 이 시간 정보를 조작하는 과정을 설명한다.First, the game process acquires time information in the Windows operating system and the process in which the speed nucleus manipulates this time information.

도 1은 윈도우즈 운영체제 하에서 동작하는 게임프로세스가 시간 정보를 획득하는 일반적인 과정을 도시한 도면이다.FIG. 1 is a diagram illustrating a general process in which a game process operating under a Windows operating system obtains time information.

윈도우즈 운영체제 하에서 임의의 게임이 실행되면, 게임실행코드(11)와 그 게임실행코드(11)에서 참조하는 API들에 관한 정보가 저장된 시스템 DLL파일(12)이 해당 게임프로세스에 할당된 메모리 영역에 로딩된다. 게임실행코드(11)가 실행되어 시스템 DLL 파일(12)의 임의의 시간관련 API 함수를 호출하면, 해당 시간관련 API 함수가 동작하여 윈도우 타이머(13)로부터 획득된 시스템 시간 정보가 게임실행코드(11)로 전달되도록 한다. 통상적으로 윈도우 타이머(13)는 하드웨어 클럭 카운터(14)로부터 시스템 시간 정보를 갱신한다.When an arbitrary game is executed under the Windows operating system, the system DLL file 12, in which the game execution code 11 and information on the APIs referred to by the game execution code 11 are stored, is stored in a memory area allocated to the game process Lt; / RTI > When the game execution code 11 is executed to call an arbitrary time-related API function of the system DLL file 12, the corresponding time-related API function operates and the system time information acquired from the window timer 13 is transmitted to the game execution code 11). Typically, the window timer 13 updates the system time information from the hardware clock counter 14.

도 2는 윈도우즈 운영체제 하에서 동작하는 게임에 작용하는 스피드 핵이 동작하는 일반적인 과정을 도시한 도면이다.FIG. 2 is a diagram illustrating a general procedure for operating a speed core operating on a game operating under a Windows operating system.

게임프로세스에 할당된 메모리 영역에 게임실행코드(11)와 시스템 DLL파일(12)이 로딩된다. 스피드 핵(21)은 게임실행코드(11)가 호출하는 시간관련 API 함수를 후킹한다. 여기서, 후킹이라 함은 제어의 흐름을 가로채는 것을 말한다. 이와 같이 스피드 핵(21)에 의해 시간관련 API 함수가 후킹된 상태에서, 게임실행코드(11)가 시스템 DLL 파일(12)의 해당 시간관련 API 함수를 호출하면, 스피드 핵(21)으로 이동하여 스피드 핵(21)이 동작한다. 스피드 핵(21)은 윈도우 타이머(13)로부터 시스템 시간 정보를 획득하고, 획득된 시스템 시간 정보를 조작한 후 게임실행코드(11)에게 전달한다. 즉, 게임실행코드(11)에는 윈도우 타이머(13)에서 연산된 정상적인 시스템 시간 정보가 아닌 스피드 핵(21)에서 조작된 시간 정보가 입력된다.The game execution code 11 and the system DLL file 12 are loaded into the memory area allocated to the game process. The speed nucleus 21 hooks the time-related API function called by the game execution code 11. Here, the term " hooking " refers to intercepting the flow of control. When the game execution code 11 calls the corresponding time-related API function of the system DLL file 12 while the time-related API function is hooked by the speed nucleus 21, the game execution code 11 moves to the speed nucleus 21 The speed nucleus 21 operates. The speed nucleus 21 acquires system time information from the window timer 13, manipulates the obtained system time information, and transfers it to the game execution code 11. That is, the game execution code 11 is input with time information manipulated by the speed nucleus 21, rather than the normal system time information calculated by the window timer 13.

이러한 스피드 핵 동작 방식을 소프트웨어 방식의 스피드 핵이라 한다. 이 소프트웨어 방식의 스피드 핵은 게임에서 사용하고 있는 시간관련 API 함수들을 후킹하고 함수의 결과값(시스템 시간 정보)을 조작하여 게임 속도를 조절하는 방식을 말하는데, 스피드 핵이 후킹 대상으로 하는 시간관련 API 함수들에는 timeGetSystemTime API, timeGetTime API, timeSetEvent API, GetTickCount API, QueryPerformanceCounter API, GetMessageTime API, SetTimer API 등이 포함된다.This type of speed nuclear operation is called software-based speed nuclear. This software-based speed core is a method of hooking up time-related API functions used in the game and controlling the game speed by manipulating the result value of the function (system time information). The time-related API The functions include the timeGetSystemTime API, the timeGetTime API, the timeSetEvent API, the GetTickCount API, the QueryPerformanceCounter API, the GetMessageTime API, and the SetTimer API.

도 3은 이 발명에 따른 스피드 핵 검출 시스템(30)을 도시한 구성 블록도이다.FIG. 3 is a block diagram showing the structure of a speed nuclear detection system 30 according to the present invention.

윈도우즈 운영체제 하에서 게임프로그램이 실행되면, 윈도우즈 운영체제는 게임프로세스에게 메모리 영역을 할당하고, 게임프로세스에 할당된 메모리 영역에 게임실행코드(11)와 시스템 DLL 파일(12)이 로딩된다. 통상적으로 시스템 DLL 파일(12)은 시간관련 API 함수(12b)뿐만 아니라 waitforsingleobject API, waitformultipleobject API 등과 같은 동기화 API 함수(12a)를 포함하는 바, 동기화 API 함수(12a)를 이용하여 동기화 조건이 설정되면, 동기화 API 실행루틴(15)이 구동하여 해당 동기화 조건에 부합되는 상태가 되면 이벤트(event)를 발생한다. 통상적으로 윈도우즈 운영체제(Windows OS)에서 동기화 API 실행루틴(15)과 윈도우 타이머(13)는 하드웨어 클럭 카운터(14)의 출력으로부터 시간 정보를 갱신한다.When the game program is executed under the Windows operating system, the Windows operating system allocates a memory area to the game process, and the game execution code 11 and the system DLL file 12 are loaded into the memory area allocated to the game process. Typically, the system DLL file 12 includes a synchronization API function 12a such as a waitforsingleobject API and a waitformultipleobject API as well as a time-related API function 12b. When a synchronization condition is set using the synchronization API function 12a , And the synchronization API execution routine 15 is driven to generate an event when the synchronization condition is satisfied. The synchronization API execution routine 15 and the window timer 13 in the Windows OS generally update the time information from the output of the hardware clock counter 14.

이 발명의 스피드 핵 검출 시스템(30)은 게임프로세스의 메모리 영역에 상기 시스템 DLL 파일(12)의 복사본인 시스템 DLL 복사본(12')을 로딩하고 동기화 API 함수(12a)를 호출하여 동기화 조건을 설정하는 환경설정부(31)와, 동기화 API 실행루틴으로부터 상기 동기화 조건에 따른 이벤트를 수신하여 API 호출 신호를 출력하는 보안 타이머(34)와, 상기 API 호출 신호에 따라 상기 시스템 DLL 파일(12)에 포함된 시간관련 API 함수(12b)와 상기 시스템 DLL 복사본(12')에 포함된 비후킹 시간관련 API 함수(12b')를 각각 호출하는 시간관련 API 호출부(33)와, 상기 시스템 DLL 파일(12)에 포함된 시간관련 API 함수(12b)로부터 획득된 게임 참조 시간 정보와 상기 비후킹 시간관련 API 함수(12b')로부터 획득된 비후킹 시간 정보를 비교하여 상기 두 시간 정보의 차이값이 기설정된 임계값을 초과하면 스피드 핵 사용으로 판단하는 스피드 핵 판단부(32)를 포함한다.The speed nuclear detection system 30 of the present invention loads a system DLL copy 12 'which is a copy of the system DLL file 12 into a memory area of a game process and calls a synchronization API function 12a to set a synchronization condition A security timer 34 for receiving an event according to the synchronization condition from the synchronization API execution routine and outputting an API call signal to the system DLL file 12 according to the API call signal; A time related API call unit 33 that calls the included time related API function 12b and the non - hooking time related API function 12b 'included in the system DLL copy 12' Hooking time information obtained from the non-hooking-time-related API function 12b 'is compared with the game reference time information obtained from the time-related API function 12b included in the non-hooking-time-related API function 12b' Set threshold value Speed nucleus determination unit 32 that determines that the speed nuclear is used.

상기 스피드 핵 판단부(32)는 기설정된 시간동안 상기 게임 참조 시간의 변화량과 상기 비후킹 시간의 변화량을 각각 누적하고, 상기 두 시간의 누적 변화량을 비교하여 스피드 핵 사용 여부를 판단한다.The speed nucleus judging unit 32 accumulates the variation amount of the game reference time and the variation amount of the non-hooking time for a preset time, and compares the cumulative variation amount of the two hours to determine whether or not the speed nuclear is used.

상기 시스템 DLL 파일(12)은 kernel32.dll 이고, 시간관련 API 함수(12b)는 GetTickCount API인 것이 바람직하지만 이에 한정되지는 않는다. 시간관련 API 함수(12b)에는 timeGetSystemTime API, timeGetTime API, timeSetEvent API, QueryPerformanceCounter API, GetMessageTime API, SetTimer API 등이 포함될 수 있다. 상기 시간관련 API 함수(12b)와 비후킹 시간관련 API 함수(12b')는 동일한 종류의 API일 수도 있고, 서로 다른 종류의 API일 수도 있다.Preferably, the system DLL file 12 is kernel32.dll and the time related API function 12b is a GetTickCount API, but the present invention is not limited thereto. The time related API function 12b may include a timeGetSystemTime API, a timeGetTime API, a timeSetEvent API, a QueryPerformanceCounter API, a GetMessageTime API, a SetTimer API, and the like. The time related API function 12b and the non-hooking time related API function 12b 'may be APIs of the same kind or APIs of different kinds.

게임프로세스의 게임실행코드(11)는 시스템 DLL 파일(12)의 시간관련 API 함수(12b)를 호출하여 시간 정보를 획득하여 게임에 참조한다. 이때, 해당 시간관련 API 함수가 스피드 핵에 의해 후킹된 상태이면, 도 2와 같이 스피드 핵(21)에 의해 조작된 시간 정보가 게임실행코드(11)에 전달되어 게임에 참조된다. 반면에 해당 시간관련 API 함수가 스피드 핵에 의해 후킹된 상태가 아니면, 도 1과 같이 윈도우 타이머(13)의 시스템 시간 정보가 게임실행코드(11)에 전달되어 게임에 참조된다. 따라서, 시간관련 API 호출부(33)가 시스템 DLL 파일(12)의 시간관련 API 함수(12b)를 호출하여 획득한 시간 정보를 게임 참조 시간 정보라 한다.The game execution code 11 of the game process calls the time-related API function 12b of the system DLL file 12 to acquire time information and refer to the game. At this time, if the corresponding time-related API function is hooked by the speed nucleus, the time information manipulated by the speed nucleus 21 as shown in FIG. 2 is transmitted to the game execution code 11 and referred to in the game. On the other hand, if the corresponding time-related API function is not hooked by the speed nucleus, the system time information of the window timer 13 is transmitted to the game execution code 11 and referred to in the game as shown in FIG. Therefore, the time information acquired by the time-related API calling unit 33 by calling the time-related API function 12b of the system DLL file 12 is referred to as game reference time information.

한편, 시스템 DLL 복사본(12')은 이 발명에 따른 스피드 핵 검출 시스템(30)에 의해 게임 프로세스에 추가 로딩되는 바, 스피드 핵(21)은 이 시스템 DLL 복사본(12')을 인지하지 못하며, 이 시스템 DLL 복사본(12')에 포함된 API 함수들을 후킹할 수 없다. 따라서, 시스템 DLL 복사본(12')에 포함된 시간관련 API 함수를 비후킹 시간관련 API 함수라 한다.On the other hand, since the system DLL copy 12 'is additionally loaded into the game process by the speed nuclear detection system 30 according to the present invention, the speed core 21 does not recognize this system DLL copy 12' It is not possible to hook the API functions included in the copy of the system DLL 12 '. Thus, the time-related API functions included in the system DLL copy 12 'are referred to as non-hooking time related API functions.

상기와 같이 구성된 스피드 핵 검출 시스템(30)의 동작을 설명한다.The operation of the speed nuclear detection system 30 constructed as described above will be described.

스피드 핵 검출 시스템(30)은 게임과 함께 실행되는 것이 바람직하다. 환경설정부(31)는 게임프로세스의 메모리 영역에 로딩된 시스템 DLL 파일(12)의 복사본 즉, 시스템 DLL 복사본(12')을 게임 프로세스의 메모리 영역에 로딩한다. 그리고, 환경설정부(31)는 동기화 API 함수(예컨대, waitforsingleobject API)를 호출하여 동기화 조건을 설정한다. 이 발명에서는 특정 주기(예컨대, 0.1초)마다 한 번씩 이벤트를 발생하도록 동기화 조건을 설정한다. 이렇게 동기화 조건이 설정되면, 윈도우즈 운영체제의 동기화 API 실행루틴(15)이 해당 동기화 조건에 따라(예컨대, 0.1초마다 한 번씩), 이 발명의 스피드 핵 검출시스템(30)으로 이벤트를 발생한다.The speed nuclear detection system 30 is preferably implemented with the game. The environment setting unit 31 loads a copy of the system DLL file 12 loaded in the memory area of the game process, that is, the system DLL copy 12 ', into the memory area of the game process. The environment setting unit 31 sets a synchronization condition by calling a synchronization API function (e.g., waitforsingleobject API). In the present invention, a synchronization condition is set so as to generate an event once every predetermined period (for example, 0.1 second). When the synchronization condition is set as described above, the synchronization API execution routine 15 of the Windows operating system generates an event to the speed detection system 30 of the present invention in accordance with the synchronization condition (for example, once every 0.1 second).

보안 타이머(34)는 동기화 API 실행루틴(15)으로부터 상기 이벤트가 입력되면 이를 기반으로 API 호출신호를 출력하고, 시간관련 API 호출부(33)는 API 호출신호에 따라 시스템 DLL 파일(12)의 시간관련 API 함수(12b)와 시스템 DLL 복사본(12')의 비후킹 시간관련 API 함수(12b')를 각각 호출한다.The security timer 34 outputs an API call signal on the basis of the event input from the synchronization API execution routine 15 and the time related API call unit 33 calls the system DLL file 12 Related API function 12b and the non-hooking time related API function 12b 'of the system DLL copy 12', respectively.

이때, 스피드 핵(21)이 사용되지 않는다면 시간관련 API 함수(12b)와 비후킹 시간관련 API 함수(12b')가 모두 윈도우 타이머(13)로부터 시스템 시간 정보를 획득하여 스피드 핵 판단부(32)에게 제공하게 되기 때문에, 스피드 핵 판단부(32)에는 동일한 두 시간 정보가 입력되고 누적된다.If the speed nucleus 21 is not used, the time related API function 12b and the non-hooking time related API function 12b 'both obtain the system time information from the window timer 13, So that the same two pieces of time information are input and accumulated in the speed nucleus determination unit 32. [

그러나, 스피드 핵(21)이 사용된다면, 비후킹 시간관련 API 함수(12b')는 윈도우 타이머(13)로부터 시간 정보를 획득하여 스피드 핵 판단부(32)에게 제공하지만, 시간관련 API 함수(12b)는 도 2와 같이 스피드 핵(21)에 의해 후킹되어 스피드 핵(21)에 의해 조작된 시간 정보가 스피드 핵 판단부(32)에게 제공되기 때문에, 스피드 핵 판단부(32)에는 서로 다른 두 개의 시간 정보가 입력되고 누적된다. 이 경우, 게임실행코드(11)가 해당 시간관련 API 함수(12b)를 호출하면 스피드 핵에 의해 조작된 시간 정보가 게임실행코드(11)에 제공된다고 유추할 수 있다.However, if a speed nucleus 21 is used, the non-hooking time related API function 12b 'acquires time information from the window timer 13 and provides it to the speed nucleus determiner 32, ) Is hooked by the speed nucleus 21 as shown in FIG. 2, and time information manipulated by the speed nucleus 21 is provided to the speed nucleus determination unit 32, Time information is input and accumulated. In this case, when the game execution code 11 calls the corresponding time-related API function 12b, it can be inferred that the time information manipulated by the speed nucleus is provided to the game execution code 11. [

따라서, 스피드 핵 판단부(32)는 시간관련 API 함수(12b)로부터 획득된 게임 참조 시간 정보와 비후킹 시간관련 API 함수(12b')로부터 획득된 비후킹 시간 정보를 비교하여 스피드 핵이 사용되는 지를 판단할 수 있다. 이 발명에서는 두 시간 정보의 차이값이 기설정된 임계값보다 크면 스피드 핵 사용으로 판단한다.Accordingly, the speed nucleus determination unit 32 compares the game reference time information obtained from the time-related API function 12b with the non-hooking time information obtained from the API function 12b 'related to the non-hooking time, Can be determined. In this invention, if the difference value of the two time information is larger than the predetermined threshold value, it is judged that the speed nuclear is used.

그러나, 호출되는 시간관련 API의 종류에 따라 획득된 시간 정보에 약간의 오차가 발생할 수 있다. 이 발명에서는 기설정된 시간동안 게임 참조 시간과, 비후킹 시간을 각각 누적하여, 그 시간의 누적 변화량의 차이값을 기반으로 스피드 핵 사용 여부를 판단한다.However, some errors may occur in the time information obtained depending on the type of API to be called. According to the present invention, the game reference time and the non-hooking time are respectively accumulated for a predetermined time, and the speed nuclear use is determined based on the difference value of the cumulative change amount of the time.

현재 사용되는 스피드 핵은 자신이 후킹한 시간관련 API를 호출한 주체프로세스를 식별하지 않는다. 즉, 해당 시간관련 API 함수를 게임 프로세스가 호출한 것인지, 아니면 이 발명과 같이 스피드 핵 검출시스템이 호출한 것인지를 식별하지 못하고 무조건 해당 시간관련 API 함수의 결과값인 시간 정보를 조작하여 리턴한다. 그러나, 앞으로 스피드 핵이 주체프로세스를 식별하여 선별적으로 결과값을 조작한다면 스피드 핵 사용을 검출할 수 없게 될 수도 있다. 이를 방지하기 위해, 시간관련 API 호출부를 게임 프로세스의 메모리 영역에 로딩하는 것이 바람직하다. 이는, 스피드 핵은 이 발명에 따른 시간관련 API 호출부가 시간관련 API 함수를 호출하는 것을 게임프로세스가 호출하는 것으로 판단하기 때문이다.The currently used speed core does not identify the subject process that called the time-related API that hooked itself. That is, it can not identify whether the time-related API function is called by the game process or the speed nuclear detection system as in the present invention, and unconditionally manipulates and returns the time information which is the result of the API function corresponding to the time. However, in the future, speed nukes may not be able to detect speed nuclear use if they identify the subject process and manipulate the results selectively. In order to prevent this, it is preferable to load the time-related API call unit into the memory area of the game process. This is because the speed core determines that the game process calls the time related API call according to the present invention to call the time related API function.

도 4는 이 발명에 따른 스피드 핵 검출 시스템에서의 스피드 핵 검출 방법을 도시한 동작 흐름도이다.4 is a flow chart illustrating a method of detecting speed nuclei in a speed nuclear detection system according to the present invention.

먼저, 환경설정부는 시스템 DLL 복사본을 게임 프로세스의 메모리 영역에 로딩한다(S41). 환경설정부는 동기화 API 함수(예컨대, waitforsingleobject API)를 호출하여 동기화 조건을 설정한다(S42).First, the environment setting unit loads a copy of the system DLL into the memory area of the game process (S41). The environment setting unit sets a synchronization condition by calling a synchronization API function (e.g., waitforsingleobject API) (S42).

동기화 API 실행루틴으로부터 이벤트가 입력되면(S43), 시간관련 API 호출부는 시스템 DLL 파일의 시간관련 API 함수와 시스템 DLL 복사본의 비후킹 시간관련 API 함수를 각각 호출한다(S44).When an event is input from the synchronization API execution routine (S43), the time related API call unit calls the time related API function of the system DLL file and the non-hooking time related API function of the system DLL copy, respectively (S44).

스피드 핵 판단부는 시스템 DLL 파일의 시간관련 API 함수로부터 게임 참조 시간 정보를 획득하고 비후킹 시간관련 API 함수로부터 비후킹 시간 정보를 획득하여, 각각 기설정된 시간동안 누적한다(S45).The speed nucleus determiner obtains game reference time information from the time-related API function of the system DLL file, acquires non-hooking time information from the non-hooking time related API function, and accumulates them for a preset time (S45).

게임 참조 시간의 누적된 변화량과 비후킹 시간의 누적된 변화량을 비교하여(S46), 그 차이값이 임계값을 초과하면(S47), 스피드 핵이 사용되는 것으로 판단한다(S48). 그러나, 그 차이값이 임계값을 초과하지 않으면(S47), 스피드 핵이 사용되지 않는 것으로 판단한다(S49).The cumulative change amount of the game reference time is compared with the accumulated change amount of the non-hooking time (S46). If the difference exceeds the threshold value (S47), it is determined that the speed nucleus is used (S48). However, if the difference does not exceed the threshold value (S47), it is determined that the speed core is not used (S49).

이상에서 본 발명에 대한 기술사상을 첨부도면과 함께 서술하였지만, 이는 본 발명의 가장 양호한 실시예를 예시적으로 설명한 것이지 본 발명을 한정하는 것은 아니다. 또한, 이 기술분야의 통상의 지식을 가진 자라면 누구나 본 발명의 기술사상의 범주를 이탈하지 않는 범위 하에서 다양한 변형 및 모방이 가능함은 명백한 사실이다.
While the present invention has been described in connection with what is presently considered to be the most practical and preferred embodiments, it is to be understood that the invention is not limited to the disclosed embodiments. In addition, it is obvious that various modifications and variations can be made without departing from the scope of the technical idea of the present invention by anyone having ordinary skill in the art.

11 : 게임실행코드 12 : 시스템 DLL 파일
12a : 동기화 API 함수 12b : 시간관련 API 함수
12' : 시스템 DLL 복사본 12b' : 비후킹 시간관련 API 함수
13 : 윈도우 타이머 14 : 하드웨어 클럭 카운터
21 : 스피드 핵 30 : 스피드 핵 검출 시스템
31 : 환경 설정부 32 : 스피드 핵 판단부
33 : 시간관련 API 호출부 34 : 보안 타이머
11: Game execution code 12: System DLL file
12a: Synchronization API function 12b: Time-related API function
12 ': copy of system DLL 12b': non-hooking time related API function
13: Windows Timer 14: Hardware Clock Counter
21: Speed Nuclear 30: Speed Nuclear Detection System
31: environment setting unit 32: speed nuclear judgment unit
33: Time related API call part 34: Security timer

Claims (8)

게임프로세스의 메모리 영역에 시스템 DLL 파일의 복사본인 시스템 DLL 복사본을 로딩하는 환경설정부와,
상기 시스템 DLL 파일에 포함된 시간관련 API 함수와 상기 시스템 DLL 복사본에 포함된 비후킹 시간관련 API 함수를 각각 호출하는 시간관련 API 호출부와,
상기 시스템 DLL 파일에 포함된 시간관련 API 함수로부터 획득된 게임 참조 시간 정보와 상기 비후킹 시간관련 API 함수로부터 획득된 비후킹 시간 정보를 비교하여 상기 두 시간 정보의 차이값이 기설정된 임계값을 초과하면 스피드 핵 사용으로 판단하는 스피드 핵 판단부를 포함한 것을 특징으로 하는 스피드 핵 검출 시스템.
An environment setting unit for loading a copy of the system DLL, which is a copy of the system DLL file, in a memory area of the game process;
A time related API call unit for calling a time related API function included in the system DLL file and a non - hooking time related API function included in the copy of the system DLL,
Hooking time information obtained from the API function of the non-hooking time with the game reference time information obtained from the time-related API function included in the system DLL file and comparing the non-hooking time information obtained from the API function with the non-hooking time to exceed the predetermined threshold value And a speed nuclear determination unit that determines that the speed nuclear is used.
제 1 항에 있어서,
상기 환경설정부는 동기화 API 함수를 호출하여 동기화 조건을 설정하고,
상기 스피드 핵 검출 시스템은 동기화 API 실행루틴으로부터 상기 동기화 조건에 따른 이벤트를 수신하여 API 호출 신호를 상기 시간관련 API 호출부로 출력하는 보안 타이머를 더 포함한 것을 특징으로 하는 스피드 핵 검출 시스템.
The method according to claim 1,
The environment setting unit sets a synchronization condition by calling a synchronization API function,
Wherein the speed nucleation detection system further comprises a security timer for receiving an event according to the synchronization condition from a synchronization API execution routine and outputting an API call signal to the time related API call unit.
제 1 항에 있어서,
상기 스피드 핵 판단부는 상기 게임 참조 시간 정보와 상기 비후킹 시간 정보로부터 기설정된 시간동안 게임 참조 시간의 변화량과 비후킹 시간의 변화량을 각각 누적하고, 상기 두 시간의 누적 변화량을 비교하여 스피드 핵 사용 여부를 판단하는 것을 특징으로 하는 스피드 핵 검출 시스템.
The method according to claim 1,
The speed nucleus judging unit accumulates the variation amount of the game reference time and the variation amount of the non-hooking time from the game reference time information and the non-hooking time information, respectively, and compares the accumulated variation amounts of the two hours, To determine the speed of the nucleus.
제 1 항에 있어서,
상기 시간관련 API 호출부는 상기 게임프로세스의 메모리 영역에 로딩된 것을 특징으로 하는 스피드 핵 검출 시스템.
The method according to claim 1,
Wherein the time related API call unit is loaded in a memory area of the game process.
스피드 핵 검출 시스템이 게임프로세스의 메모리 영역에 시스템 DLL 파일의 복사본인 시스템 DLL 복사본을 로딩하는 제1단계와,
상기 스피드 핵 검출 시스템이 상기 시스템 DLL 파일에 포함된 시간관련 API 함수와 상기 시스템 DLL 복사본에 포함된 비후킹 시간관련 API 함수를 각각 호출하는 제2단계와,
상기 스피드 핵 검출 시스템이 상기 시스템 DLL 파일에 포함된 시간관련 API 함수로부터 획득된 게임 참조 시간 정보와 상기 비후킹 시간관련 API 함수로부터 획득된 비후킹 시간 정보를 비교하여 상기 두 시간 정보의 차이값이 기설정된 임계값을 초과하면 스피드 핵 사용으로 판단하는 제3단계를 포함한 것을 특징으로 하는 스피드 핵 검출 방법.
A speed nuclear detection system loading a copy of a system DLL, which is a copy of a system DLL file, into a memory area of a game process;
A second step in which the speed nuclear detection system calls a time related API function included in the system DLL file and a non-hooking time related API function included in the copy of the system DLL,
The speed nucleation detection system compares the game reference time information obtained from the time related API function included in the system DLL file with the non-hooking time information obtained from the API function related to the non-hooking time, And a third step of determining that the speed nuclear is used if the predetermined threshold value is exceeded.
제 5 항에 있어서,
상기 제1단계는, 상기 스피드 핵 검출 시스템이 동기화 API 함수를 호출하여 동기화 조건을 설정하는 단계를 더 포함하고,
상기 제2단계는, 상기 스피드 핵 검출 시스템이 동기화 API 실행루틴으로부터 상기 동기화 조건에 따른 이벤트가 수신되면 상기 시스템 DLL 파일에 포함된 시간관련 API 함수와 상기 시스템 DLL 복사본에 포함된 비후킹 시간관련 API 함수를 각각 호출하는 것을 특징으로 하는 스피드 핵 검출 방법.
6. The method of claim 5,
The first step further comprises the step of the speed nuclear detection system calling a synchronization API function to set a synchronization condition,
The second step may include: when the speed nucleation detection system receives an event according to the synchronization condition from the synchronization API execution routine, the time related API function included in the system DLL file and the non-hooking time related API , Respectively.
제 5 항에 있어서,
상기 제3단계는, 상기 스피드 핵 검출 시스템이 상기 게임 참조 시간 정보와 상기 비후킹 시간 정보로부터 기설정된 시간동안 게임 참조 시간의 변화량과 비후킹 시간의 변화량을 각각 누적하고, 상기 두 시간의 누적 변화량을 비교하여 스피드 핵 사용 여부를 판단하는 것을 특징으로 하는 스피드 핵 검출 방법.
6. The method of claim 5,
Wherein the speed nucleation detection system accumulates a variation amount of the game reference time and a variation amount of the non-hooking time from the game reference time information and the non-hooking time information for a predetermined time, To determine whether the speed nuclear is used or not.
제 5 항에 있어서,
상기 스피드 핵 검출 시스템의 적어도 일부가 상기 게임프로세스의 메모리 영역에 로딩된 것을 특징으로 하는 스피드 핵 검출 방법.
6. The method of claim 5,
Wherein at least a portion of the speed nuclear detection system is loaded into a memory area of the game process.
KR1020130035713A 2013-04-02 2013-04-02 Speed Hack Detection System and Method KR101421633B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020130035713A KR101421633B1 (en) 2013-04-02 2013-04-02 Speed Hack Detection System and Method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130035713A KR101421633B1 (en) 2013-04-02 2013-04-02 Speed Hack Detection System and Method

Publications (1)

Publication Number Publication Date
KR101421633B1 true KR101421633B1 (en) 2014-07-23

Family

ID=51742693

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130035713A KR101421633B1 (en) 2013-04-02 2013-04-02 Speed Hack Detection System and Method

Country Status (1)

Country Link
KR (1) KR101421633B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109522712A (en) * 2018-10-31 2019-03-26 武汉斗鱼网络科技有限公司 Method, storage medium, equipment and the system being accelerated for detection system
CN111124869A (en) * 2018-10-30 2020-05-08 武汉斗鱼网络科技有限公司 Program accelerated detection method, storage medium, device and system

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060059795A (en) * 2004-11-29 2006-06-02 주식회사 안철수연구소 Method of sensing time modification of internal time by a computer program
KR20070001304A (en) * 2005-06-29 2007-01-04 케이티하이텔 주식회사 Apparatus and method for providing pattern-matching data, and apparatus and method for protecting process from hacking using the same
KR100979092B1 (en) 2008-04-30 2010-08-31 주식회사 잉카인터넷 method of judging whether an image-enhanced gamehack is used, and intercepting an image-enhanced gamehack
KR101005593B1 (en) 2009-04-17 2011-01-05 엔에이치엔비즈니스플랫폼 주식회사 Method and Apparatus for Providing Security Service Using Hook

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060059795A (en) * 2004-11-29 2006-06-02 주식회사 안철수연구소 Method of sensing time modification of internal time by a computer program
KR20070001304A (en) * 2005-06-29 2007-01-04 케이티하이텔 주식회사 Apparatus and method for providing pattern-matching data, and apparatus and method for protecting process from hacking using the same
KR100979092B1 (en) 2008-04-30 2010-08-31 주식회사 잉카인터넷 method of judging whether an image-enhanced gamehack is used, and intercepting an image-enhanced gamehack
KR101005593B1 (en) 2009-04-17 2011-01-05 엔에이치엔비즈니스플랫폼 주식회사 Method and Apparatus for Providing Security Service Using Hook

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111124869A (en) * 2018-10-30 2020-05-08 武汉斗鱼网络科技有限公司 Program accelerated detection method, storage medium, device and system
CN109522712A (en) * 2018-10-31 2019-03-26 武汉斗鱼网络科技有限公司 Method, storage medium, equipment and the system being accelerated for detection system

Similar Documents

Publication Publication Date Title
KR101221169B1 (en) Modifying rates of action in a virtual universe
KR101498614B1 (en) Apparatus and method of deactivating malicious codes
KR100897849B1 (en) Apparatus and Method for finding malicious process
US10445103B2 (en) Mobile game data processing method and apparatus
WO2020019484A1 (en) Simulator recognition method, recognition device, and computer readable medium
CN110090445B (en) Plug-in detection method, client and server
TWI625152B (en) Video game processing device and video game processing program
WO2014153975A1 (en) Online game anti-cheating method and server
DK2840496T3 (en) PROCEDURE, SYSTEM AND EXECUTABLE CODE TO MANAGE THE USE OF HARDWARE RESOURCES OF A COMPUTER SYSTEM
KR101421633B1 (en) Speed Hack Detection System and Method
US20240009571A1 (en) Game data processing method and apparatus, device, storage medium, and program product
CN106982151A (en) The speed of service abnormal detection method, device and games system in a kind of game
CN106230644B (en) Client acceleration detection method
KR100457405B1 (en) Method of detecting whether speed hack is in use
CN113181656A (en) Plug-in detection method, device and medium
CN106407016A (en) Method and device for simulating multi-threading resource competition
CN108197471B (en) Malicious software detection method and device
KR100653545B1 (en) Method of sensing time modification of internal time by a computer program
US11327798B1 (en) Accelerating an application code portion based on a received configuration
KR101267725B1 (en) Pattern collecting method of bot program for online game
KR101530531B1 (en) Malicious Module Handling System and Method
CN106021106B (en) A kind of course control method and user terminal
KR101826081B1 (en) Device, system and method of taking action on hack tool for online game
KR102129576B1 (en) Apparatus and method for detecting a Sybil account
US10142689B2 (en) Server, terminal, information processing method, information processing program, and computer-readable recording medium storing information processing programs

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20180716

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20190715

Year of fee payment: 6