KR101216485B1 - Detecting method of gamehack dll - Google Patents
Detecting method of gamehack dll Download PDFInfo
- Publication number
- KR101216485B1 KR101216485B1 KR1020110015330A KR20110015330A KR101216485B1 KR 101216485 B1 KR101216485 B1 KR 101216485B1 KR 1020110015330 A KR1020110015330 A KR 1020110015330A KR 20110015330 A KR20110015330 A KR 20110015330A KR 101216485 B1 KR101216485 B1 KR 101216485B1
- Authority
- KR
- South Korea
- Prior art keywords
- dynamic link
- link library
- game
- dll
- list
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/44—Program or device authentication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44557—Code layout in executable memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/468—Specific access rights for resources, e.g. using capability register
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing 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/2109—Game systems
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Stored Programmes (AREA)
- Storage Device Security (AREA)
Abstract
이 발명은 게임프로세스 내에 삽입되어 동작하는 게임핵 동적연결라이브러리를 검출하는 방법에 관한 것이다.
이 발명에 따른 게임핵 동적연결라이브러리 검출방법은, 보안프로세스는 게임프로세스에 삽입된 동적연결라이브러리 리스트와 상기 리스트에 포함된 각 동적연결라이브러리가 로드된 메모리 주소 정보를 추출하는 제1단계와, 상기 보안프로세스는 상기 동적연결라이브러리 리스트 중 하나의 진단대상 동적연결라이브러리를 선정하는 제2단계와, 상기 보안프로세스는 상기 진단대상 동적연결라이브러리의 기계어코드를 읽고 어셈블링코드로 변환하는 제3단계와, 상기 보안프로세스는 상기 제3단계에서 변환된 어셈블링코드가 상기 게임프로세스 또는 상기 게임프로세스에 포함된 다른 동적연결라이브러리를 호출하는 명령 코드를 포함하면 상기 진단대상 동적연결라이브러리를 게임핵 동적연결라이브러리로 진단하는 제4단계를 포함한다.The present invention relates to a method for detecting a game core dynamic link library inserted and operated in a game process.
In the method of detecting a game core dynamic link library according to the present invention, the security process includes a first step of extracting a dynamic link library list inserted in the game process and memory address information loaded with each dynamic link library included in the list; The security process includes a second step of selecting a diagnostic target dynamic link library of the dynamic link library list, the security process is a third step of reading the machine code of the diagnostic target dynamic link library and converting to an assembling code; If the assembling code converted in the third step includes a command code for calling the game process or another dynamic link library included in the game process, the security target dynamic link library is converted into a game core dynamic link library. And a fourth step of diagnosing.
Description
이 발명은 게임핵 검출방법에 관한 것으로서, 보다 상세하게는 게임프로세스 내에 삽입되어 동작하는 게임핵 동적연결라이브러리를 검출하는 방법에 관한 것이다.The present invention relates to a method for detecting a game hack, and more particularly, to a method for detecting a game hack dynamic link library inserted and operated in a game process.
초고속인터넷이 널리 보급되면서 온라인 게임인구가 급속도로 증가하고 수많은 온라인 게임들이 개발되었지만 게임 보안에 대한 인식과 개념은 아직 미흡한 상태이다. 컴퓨터에서 동작하는 악성 프로그램을 핵 또는 해킹프로그램이라고 하며, 특히 게임에서의 핵 또는 해킹프로그램을 게임핵이라고 한다.With the widespread use of high speed internet, the online game population has increased rapidly and numerous online games have been developed. However, the concept and concept of game security is still insufficient. Malicious programs that run on computers are called hacks or hacking programs, and in particular, hacks or hacking programs in games are called game hacks.
게임핵은 게임의 메모리를 조작하여 능력치나 체력 등과 같은 특정 데이터를 바꾸어주거나, 격투기 게임에서 타격 속도나 타격 횟수를 증가시키거나, 게임에 매크로 기능을 부여함으로써 게이머가 게임을 손쉽게 이길 수 있도록 해준다. 이 때문에 게이머들은 온라인 게임시 게임핵을 설치하고 싶어 한다. 그러나, 온라인 게임에서 게임핵을 사용하면, 사용자들간의 밸런스 붕괴, 게임서버로의 가중한 부하 등과 같은 문제를 일으킬 수 있다.Game hacks allow gamers to easily win games by manipulating the game's memory to change certain data, such as stats and stamina, increase the speed or number of hits in a martial arts game, or give macros to the game. This is why gamers want to install game hacks for online games. However, the use of game hacks in online games can lead to problems such as poor balance among users, heavy loads on game servers, and the like.
즉, 온라인 게임에서 일부 사용자들이 자신의 컴퓨터에 게임핵을 설치하여 비정상적인 방법으로 이득을 보면서 게임(play)을 하게 되면, 다른 사용자들과의 균형이 무너지게 되고, 심각한 경우에는 온라인 게임 전체의 밸런스가 깨지며 게임서버에 과부하가 발생하게 된다.In other words, in online games, when some users install game hacks on their computers and play games in an abnormal way, they lose their balance with other users. Is broken and the game server is overloaded.
따라서, 게임 공급자들은 게임프로그램과 함께 보안프로그램을 게임 클라이언트에 설치하도록 하고 있는 바, 게임프로세스가 구동되면 보안프로세스가 구동되고, 보안프로세스의 실행을 중단시키면 게임프로세스의 실행도 중단되며, 이 보안프로세스가 게임핵이 실행되는 것을 차단한다.Therefore, game providers are required to install a security program along with the game program in the game client. When the game process starts, the security process starts. If the execution of the security process stops, the game process stops. Blocks game hacks from running.
이 발명의 명세서에서 '게임핵', '프로그램', '파일' 등은 컴퓨터를 실행시키기 위해 차례대로 작성된 명령어 모음을 의미하며, 이 '프로그램' 등이 컴퓨터에서 론칭(launching)되어 메모리에 로드됨으로써, 컴퓨터 내에서 실행되는 상태를 '프로세스'라 한다. 즉, 게임프로그램은 게임프로세스로서 실행되고, 보안프로그램은 보안프로세스로서 실행되며, 게임핵은 게임핵프로세스로서 실행된다. 보안프로세스는 컴퓨터에서 실행되는 게임핵을 비롯한 각종 해킹프로세스의 실행을 차단한다.In the specification of the present invention, 'game hack', 'program', 'file', etc. refer to a set of instructions written in order to execute a computer, and the 'program' is launched from a computer and loaded into a memory. In other words, a state running in a computer is called a process. That is, the game program is executed as a game process, the security program is executed as a security process, and the game hack is executed as a game hack process. The security process blocks the execution of various hacking processes including game hacks running on the computer.
통상적으로 임의의 프로세스가 실행되면 그 프로세스에 삽입된 동적연결라이브러리(DLL : Dynamic Linking Library) 파일들을 관리하는 연결구조체가 생성되는데, 이 연결구조체를 확인하면 해당 프로세스에 삽입된 DLL 리스트와 이 DLL 리스트에 포함된 각 DLL이 로드된 메모리 주소 정보를 확인할 수 있다. 통상적으로 프로세스에 삽입된 DLL에 관한 정보는 FindProcess 또는 OpenProcess 명령어를 이용하여 얻어진다.In general, when an arbitrary process is executed, a linking structure is created to manage dynamic linking library (DLL) files inserted into the process. When checking the linking structure, the list of DLLs inserted into the process and the list of DLLs You can check the loaded memory address of each DLL included in. Typically, information about a DLL inserted into a process is obtained using the FindProcess or OpenProcess command.
이와 마찬가지로 게임프로세스가 실행되면, 게임프로세스에 삽입된 DLL 파일들을 관리하는 연결구조체(이하, 게임 연결구조체라 함)가 생성된다. 이 게임 연결구조체에는 게임프로세스에 삽입된 DLL 리스트와, 이 DLL 리스트에 포함된 각 DLL이 로드된 메모리 주소 정보가 포함된다.Similarly, when the game process is executed, a linkage structure (hereinafter referred to as a game linkage structure) that manages DLL files inserted into the game process is created. This game linkage structure contains a list of DLLs inserted into the game process and the memory address information loaded for each DLL included in the DLL list.
게임핵의 종류에는, 독립적으로 별도의 프로세스를 실행하여 게임프로세스를 후킹하고 동작하는 외부 동작 형태의 게임핵과, 게임프로세스에 DLL 파일 형태로서 삽입(injection)되어 게임프로세스 내부에서 동작하는 게임핵 DLL이 있다.Types of game hacks include a game hack in the form of an external operation that independently executes a separate process to hook and operate the game process, and a game hack DLL that is injected into the game process as a DLL file and operates inside the game process. have.
보안프로세스가 게임프로세스 내부 또는 외부에서 동작하는 게임핵을 진단하는 일반적인 방법으로서, 기검출된 게임핵의 패턴을 추출하여 데이터베이스에 저장해 놓고, 보안프로세스가 컴퓨터에 실행중인 프로세스들에 대해 데이터베이스에 저장된 게임핵 패턴과 비교하여 게임핵을 검출한다.As a general method for diagnosing game hacks that run inside or outside the game process, the security process extracts and stores the pattern of the detected game hacks in the database, and the game stored in the database for processes running on the computer. Detects game hacks compared to hack patterns.
이러한 일반적인 게임핵 진단방법은 게임핵의 종류가 많아짐에 따라 데이터베이스에 저장할 패턴이 증가함으로써 더 많은 용량의 데이터베이스가 필요해지고 게임핵 진단 및 검출시간이 길어지는 문제점이 있다. 또한, 패턴이 일치하는 지 여부에 따라 게임핵 여부를 진단하기 때문에 변종되거나 알려지지 않은 미지의 게임핵은 검출할 수 없는 문제점이 있다.
In this general game nucleus diagnosis method, as the number of game nuclei increases, the pattern to be stored in the database increases, so that a larger capacity database is required and the game nucleus diagnosis and detection time becomes longer. In addition, since the game nucleus is diagnosed according to whether or not the pattern matches, there is a problem in that unknown or unknown game nuclei are not detected.
상술한 종래기술의 문제점을 해결하기 위하여 안출된 이 발명의 목적은, 게임프로세스에 삽입되어 동작하는 게임핵 DLL의 특성을 이용하여 보다 용이하고 정확하게 게임핵 DLL을 검출하는 방법을 제공하기 위한 것이다.
Disclosure of Invention The object of the present invention devised to solve the above-mentioned problems of the prior art is to provide a method for detecting a game nucleus DLL more easily and accurately by using the characteristics of a game nucleus DLL inserted and operated in a game process.
상술한 목적을 달성하기 위한 이 발명의 한 실시예에 따른 게임핵 동적연결라이브러리 검출방법은, 보안프로세스는 게임프로세스에 삽입된 동적연결라이브러리 리스트와 상기 리스트에 포함된 각 동적연결라이브러리가 로드된 메모리 주소 정보를 추출하는 제1단계와,Game nucleus dynamic link library detection method according to an embodiment of the present invention for achieving the above object, the security process is a dynamic link library list inserted into the game process and each dynamic link library included in the list is loaded memory A first step of extracting address information;
상기 보안프로세스는 상기 동적연결라이브러리 리스트 중 하나의 진단대상 동적연결라이브러리를 선정하는 제2단계와,The security process includes a second step of selecting a diagnostic target dynamic link library of the dynamic link library list;
상기 보안프로세스는 상기 진단대상 동적연결라이브러리의 기계어코드를 읽고 어셈블링코드로 변환하는 제3단계와,The security process is a third step of reading the machine code of the dynamic link library to be diagnosed and converted to assembling code;
상기 보안프로세스는 상기 제3단계에서 변환된 어셈블링코드가 상기 게임프로세스 또는 상기 게임프로세스에 포함된 다른 동적연결라이브러리를 호출하는 명령 코드를 포함하면 상기 진단대상 동적연결라이브러리를 게임핵 동적연결라이브러리로 진단하는 제4단계를 포함한 것을 특징으로 한다.
If the assembling code converted in the third step includes a command code for calling the game process or another dynamic link library included in the game process, the security target dynamic link library is converted into a game core dynamic link library. And a fourth step of diagnosing.
이 발명의 다른 실시예에 따른 게임핵 동적연결라이브러리 검출방법은, 보안프로세스는 게임프로세스에 삽입된 동적연결라이브러리 리스트와 상기 리스트에 포함된 각 동적연결라이브러리가 로드된 메모리 주소 정보를 추출하는 제1단계와,According to another aspect of the present invention, there is provided a game core dynamic link library detection method, wherein a security process includes: a first list of extracting a dynamic link library list inserted in a game process and memory address information loaded with each dynamic link library included in the list; Steps,
상기 보안프로세스는 상기 동적연결라이브러리 리스트 중 하나의 진단대상 동적연결라이브러리를 선정하는 제2단계와,The security process includes a second step of selecting a diagnostic target dynamic link library of the dynamic link library list;
상기 보안프로세스는 상기 진단대상 동적연결라이브러리의 기계어코드를 읽고 어셈블링코드로 변환하는 제3단계와,The security process is a third step of reading the machine code of the dynamic link library to be diagnosed and converted to assembling code;
상기 보안프로세스는 상기 제3단계에서 변환된 어셈블링코드가 상기 게임프로세스 또는 상기 게임프로세스에 포함된 다른 동적연결라이브러리로 이동하는 명령 코드를 포함하면 상기 진단대상 동적연결라이브러리를 게임핵 동적연결라이브러리로 진단하는 제4단계를 포함한 것을 특징으로 한다.
When the assembling code converted in the third step includes an instruction code for moving to the game process or another dynamic link library included in the game process, the security target library is transferred to the game core dynamic link library. And a fourth step of diagnosing.
이상과 같이 이 발명에 따르면 게임프로세스에 삽입된 DLL들 중 게임프로세스를 호출(CALL)하거나 게임프로세스로 이동(JUMP)하는 명령코드를 포함한 DLL을 게임핵 DLL로 검출하기 때문에, 보다 정확하고 신속하게 게임핵을 검출할 수 있을 뿐만 아니라 패턴이 알려지지 않은 미지의 게임핵 DLL도 검출할 수 있는 효과가 있다.
As described above, according to the present invention, since the DLL including the command code for calling the game process (CALL) or moving to the game process (JUMP) among the DLLs inserted in the game process is detected as the game nucleus DLL, it is more accurate and faster. Not only can it detect game hacks, but it can also detect unknown game hack DLLs whose patterns are unknown.
도 1은 이 발명에 따른 게임핵 동적연결라이브러리 검출방법이 적용된 컴퓨터시스템의 기능 블록도이다.
도 2는 이 발명에 따른 게임핵 동적연결라이브러리 검출방법을 도시한 동작 흐름도이다.1 is a functional block diagram of a computer system to which a method for detecting a game core dynamic link library according to the present invention is applied.
2 is a flowchart illustrating a method for detecting a game core dynamic link library according to the present invention.
이하, 첨부된 도면을 참조하며 이 발명의 한 실시예에 따른 게임핵 동적연결라이브러리 검출방법을 보다 상세하게 설명한다.Hereinafter, a method for detecting a game core dynamic link library according to an embodiment of the present invention will be described in detail with reference to the accompanying drawings.
이 발명에 따른 게임핵 동적연결라이브러리 검출방법은 보안프로그램의 일부로서 제공된다. 이 게임핵 동적연결라이브러리 검출방법을 실행하는 보안프로그램은 컴퓨터시스템 내에서 보안프로세스를 생성하여 실행되어, 이 보안프로세스의 실행코드와 데이터가 메모리에 로드된다. CPU는 메모리에 로드된 보안프로세스의 실행코드를 순차적으로 정보처리함으로써, 이 발명에 따른 게임핵 동적연결라이브러리 검출 기능을 수행한다.The game core dynamic link library detection method according to the present invention is provided as part of a security program. A security program that executes this game hack dynamic link library detection method generates and executes a security process in a computer system, and the execution code and data of the security process are loaded into memory. The CPU performs the game core dynamic link library detection function according to the present invention by sequentially processing the execution code of the security process loaded in the memory.
도 1은 이 발명에 따른 게임핵 동적연결라이브러리 검출방법이 적용된 컴퓨터시스템의 기능 블록도이다.1 is a functional block diagram of a computer system to which a method for detecting a game core dynamic link library according to the present invention is applied.
일반적으로 컴퓨터시스템에 실행된 게임프로세스(100)에는 다수의 동적연결라이브러리들(DLL)(111, 112)이 삽입되고, 게임 연결구조체(113)는 게임프로세스(100)에 삽입된 다수의 DLL들(111, 112)에 대한 리스트를 저장하고 관리한다.In general, a plurality of dynamic link libraries (DLLs) 111 and 112 are inserted into a game process 100 executed in a computer system, and the
이 발명에 따른 게임핵 동적연결라이브러리 검출방법을 실행하는 보안프로세스(120)는 게임 연결구조체(113)로부터 게임프로세스(110)에 삽입된 DLL 리스트와 각 DLL들이 로드된 메모리 주소 정보를 추출하는 DLL 정보 추출부(121)와, 상기 DLL들의 기계어코드를 역어셈블링하는 역어셈블링부(122)와, 상기 DLL 정보 추출부(121)에서 추출된 임의의 DLL의 메모리 주소로부터 기계어코드를 읽어서 역어셈블링부(122)를 통해 어셈블링코드로 변환시키고 상기 어셈블링코드를 분석하여 게임핵 DLL 여부를 진단하는 게임핵 DLL 진단부(123)를 포함한다.The
또한, 이 발명에 따른 보안프로세스(120)는 게임프로세스(110)에서 허용하는 DLL 리스트를 저장하는 화이트리스트저장부(124)를 더 포함하고, 게임핵 DLL 진단부(123)는 상기 DLL 정보 추출부(121)에서 추출된 DLL들 중 상기 화이트리스트저장부(124)에 포함되지 않은 DLL들에 대해 게임핵 DLL 여부를 진단한다. 여기서, 화이트리스트저장부(124)는 게임프로세스에서 허용하는 DLL의 고유값을 저장하며, 이 고유값은 해쉬값 또는 PE 헤더 정보일 수 있다.In addition, the
또한, 게임핵 DLL 진단부(123)는 상기 DLL 정보 추출부(121)에서 추출된 DLL들 중 디지털 서명된 DLL을 제외하고 나머지 DLL들에 대해 게임핵 DLL 여부를 진단한다. 또한, 게임핵 DLL 진단부(123)는 상기 DLL 정보 추출부(121)에서 추출된 DLL들 중 마이크로소프트사(MicroSoft Corporation) 인증정보를 포함한 DLL을 제외하고 나머지 DLL들에 대해 게임핵 DLL 여부를 진단한다.In addition, the game nucleus
게임핵 DLL 진단부(123)는 DLL의 어셈블링코드를 분석하여 해당 DLL이 게임프로세스를 호출(CALL)하거나 게임프로세스로 이동(JUMP)하는 명령 코드를 포함하면, 그 DLL을 게임핵 DLL로 진단한다. 이를 상세하게 설명하면, DLL의 기계어코드를 어셈블링코드로 변환하면 호출(CALL) 명령 코드는 "E8"이고, 그 다음 8자리가 호출하고자 하는 주소값이다. 따라서, 호출(CALL) 명령 코드 "E8" 후 8자리의 주소값이 게임프로세스가 로드된 메모리 공간의 주소이면 게임핵 DLL 진단부(123)는 이 DLL이 게임프로세스를 호출하는 것으로 인식하고 해당 DLL을 게임핵 DLL로 진단한다.The game hack
한편, 이동(JUMP) 명령을 나타내는 어셈블링코드는 "E9"이고, 그 다음 8자리가 이동하고자 하는 주소값과 현재 주소값과의 차이값이다. 따라서, 이동(JUMP) 명령 코드 "E9" 후 8자리의 주소값과 현재 이 이동 명령 코드의 주소값을 합하면 이동(JUMP)하고자 하는 주소값이 되는데, 이 이동하고자 하는 주소값이 게임프로세스가 로드된 메모리 공간의 주소이면 게임핵 DLL 진단부(123)는 이 DLL을 게임핵 DLL로 진단한다.On the other hand, the assembling code indicating the JUMP instruction is " E9 ", and the next 8 digits are the difference value between the address value to be moved and the current address value. Therefore, the sum of the 8-digit address value after the jump command code “E9” and the current address value of the move command code becomes the address value to be jumped, and the address value to be moved is loaded by the game process. If it is the address of the memory space, the game hack DLL
또한, 이 발명을 확장하면, 게임프로세스에 삽입된 한 DLL이 상기 게임프로세스에 삽입된 다른 DLL을 호출하거나, 상기 게임프로세스에 삽입된 다른 DLL로 이동하면 상기 DLL을 게임핵 DLL로 진단할 수도 있다.In addition, if the present invention is extended, one DLL inserted into the game process calls another DLL inserted into the game process or moves to another DLL inserted into the game process to diagnose the DLL as a game core DLL. .
도 2는 이 발명에 따른 게임핵 동적연결라이브러리 검출방법을 도시한 동작 흐름도이다.2 is a flowchart illustrating a method for detecting a game core dynamic link library according to the present invention.
보안프로세스는 게임프로세스에 삽입된 DLL 리스트와 각 DLL이 로드된 메모리 주소 정보를 추출한다(S31). 앞서 설명한 바와 같이 보안프로세스는 게임 연결구조체를 통해 게임프로세스에 삽입된 DLL 리스트와 각 DLL의 메모리 주소 정보를 얻을 수 있다.The security process extracts a list of DLLs inserted into the game process and memory address information loaded with each DLL (S31). As described above, the security process can obtain a list of DLLs inserted into the game process and memory address information of each DLL through the game connection structure.
다음, 보안프로세스는 DLL 리스트 중 하나의 진단대상 DLL을 선정한다(S32). 이때, DLL 리스트 중 상기 게임프로세스에서 허용하는 DLL, 디지털 서명된 DLL, 마이크로소프트사 인증정보를 포함한 DLL 등은 진단대상 DLL에서 제외시킨다.Next, the security process selects one DLL to be diagnosed from the DLL list (S32). In this case, the DLL, the digitally signed DLL, and the DLL including Microsoft's authentication information, which are permitted by the game process, are excluded from the DLL to be diagnosed.
다음, 보안프로세스는 단계 S32에서 선정된 진단대상 DLL의 메모리 주소 정보를 이용하여 상기 진단대상 DLL의 기계어코드를 읽고(S33) 그 기계어코드를 어셈블링코드로 변환한다(S34).Next, the security process reads the machine code of the diagnosis target DLL using the memory address information of the diagnosis target DLL selected in step S32 (S33) and converts the machine code into an assembling code (S34).
상기 진단대상 DLL의 어셈블링코드가 호출(CALL) 명령 또는 이동(JUMP) 명령을 포함하면(S35), 그 호출(CALL) 대상 주소값 또는 이동(JUMP) 대상 주소값을 계산한다(S36).If the assembling code of the diagnosis target DLL includes a call instruction or a jump instruction (S35), the call target address value or the jump target address value is calculated (S36).
보안프로세스는 상기 호출 대상 주소값 또는 이동 대상 주소값이 게임프로세스의 메모리 공간 내이면(S37), 상기 진단대상 DLL을 게임핵 DLL로 진단한다(S38).If the call target address value or the move target address value is in the memory space of the game process (S37), the diagnosis process DLL diagnoses the diagnosis target DLL as a game hack DLL (S38).
상기 진단대상 DLL의 모든 기계어코드를 읽을 때까지 단계 S33 내지 단계 39를 반복수행하고, 모든 진단대상 DLL에 대한 진단을 완료할 때까지 단계 S32 내지 단계 S40을 반복수행한다.Steps S33 to 39 are repeated until all the machine codes of the DLLs to be diagnosed are read, and steps S32 to S40 are repeatedly performed until the diagnosis on all the DLLs to be diagnosed is completed.
단계 S37에서 상기 호출 대상 주소값 또는 이동 대상 주소값이 상기 게임프로세스에 삽입된 다른 DLL의 메모리 공간 내이더라도 상기 진단대상 DLL을 게임핵 DLL로 진단할 수 있다.In step S37, the diagnosis target DLL can be diagnosed as a game nucleus DLL even if the call target address value or the move target address value is in the memory space of another DLL inserted into the game process.
이 명세서에서는 게임프로세스에 DLL 파일 형태로 삽입된 게임핵 DLL을 검출하는 기술에 대해 상세하였지만, 이 발명은 이에 한정되지 아니하며 게임핵 DLL을 구성하는 스레드(thread) 단위의 게임핵 검출에 적용할 수도 있다.
In this specification, a technology for detecting a game hack DLL inserted into a game process in the form of a DLL file has been described in detail. However, the present invention is not limited thereto and may be applied to detecting a game hack in a thread unit constituting the game hack DLL. have.
110 : 게임프로세스 111, 112 : 동적연결라이브러리
113 : 게임 연결구조체 120 : 보안프로세스
121 : DLL 정보 추출부 122 : 역어셈블링부
123 : 게임핵 DLL 진단부 124 : 화이트 리스트 저장부110:
113: game connection structure 120: security process
121: DLL information extraction unit 122: de-assembly unit
123: game nucleus DLL diagnosis unit 124: white list storage unit
Claims (6)
상기 보안프로세스는 상기 동적연결라이브러리 리스트 중 하나의 진단대상 동적연결라이브러리를 선정하는 제2단계와,
상기 보안프로세스는 상기 진단대상 동적연결라이브러리의 기계어코드를 읽고 어셈블링코드로 변환하는 제3단계와,
상기 보안프로세스는 상기 제3단계에서 변환된 어셈블링코드가 상기 게임프로세스 또는 상기 게임프로세스에 포함된 다른 동적연결라이브러리를 호출하는 명령 코드를 포함하면 상기 진단대상 동적연결라이브러리를 게임핵 동적연결라이브러리로 진단하는 제4단계를 포함한 것을 특징으로 하는 게임핵 동적연결라이브러리 검출방법.The security process includes a first step of extracting a dynamic link library list inserted into the game process and memory address information loaded with each dynamic link library included in the list;
The security process includes a second step of selecting a diagnostic target dynamic link library of the dynamic link library list;
The security process is a third step of reading the machine code of the dynamic link library to be diagnosed and converted to assembling code;
If the assembling code converted in the third step includes a command code for calling the game process or another dynamic link library included in the game process, the security target dynamic link library is converted into a game core dynamic link library. Game core dynamic link library detection method comprising the step of diagnosing.
상기 보안프로세스는 상기 동적연결라이브러리 리스트 중 하나의 진단대상 동적연결라이브러리를 선정하는 제2단계와,
상기 보안프로세스는 상기 진단대상 동적연결라이브러리의 기계어코드를 읽고 어셈블링코드로 변환하는 제3단계와,
상기 보안프로세스는 상기 제3단계에서 변환된 어셈블링코드가 상기 게임프로세스 또는 상기 게임프로세스에 포함된 다른 동적연결라이브러리로 이동하는 명령 코드를 포함하면 상기 진단대상 동적연결라이브러리를 게임핵 동적연결라이브러리로 진단하는 제4단계를 포함한 것을 특징으로 하는 게임핵 동적연결라이브러리 검출방법.The security process includes a first step of extracting a dynamic link library list inserted into the game process and memory address information loaded with each dynamic link library included in the list;
The security process includes a second step of selecting a diagnostic target dynamic link library of the dynamic link library list;
The security process is a third step of reading the machine code of the dynamic link library to be diagnosed and converted to assembling code;
When the assembling code converted in the third step includes an instruction code for moving to the game process or another dynamic link library included in the game process, the security target library is transferred to the game core dynamic link library. Game core dynamic link library detection method comprising the step of diagnosing.
상기 보안프로세스는 상기 동적연결라이브러리 리스트 중 상기 게임프로세스에서 허용하는 동적연결라이브러리를 상기 진단대상 동적연결라이브러리에서 제외시키는 것을 특징으로 하는 게임핵 동적연결라이브러리 검출방법.The method of claim 1 or 2, wherein in the second step,
And the security process excludes from the dynamic link library to be diagnosed the dynamic link library allowed by the game process in the dynamic link library list.
상기 보안프로세스는 상기 동적연결라이브러리 리스트 중 디지털 서명된 동적연결라이브러리를 상기 진단대상 동적연결라이브러리에서 제외시키는 것을 특징으로 하는 게임핵 동적연결라이브러리 검출방법.The method of claim 1 or 2, wherein in the second step,
And the security process excludes the digitally signed dynamic link library from the dynamic link library list from the diagnostic target dynamic link library.
상기 보안프로세는 상기 동적연결라이브러리 리스트 중 마이크로소프트사 인증정보를 포함한 동적연결라이브러리를 상기 진단대상 동적연결라이브러리에서 제외시키는 것을 특징으로 하는 게임핵 동적연결라이브러리 검출방법.
The method of claim 1 or 2, wherein in the second step,
The security process is a game core dynamic link library detection method, characterized in that the dynamic link library including Microsoft authentication information in the dynamic link library list to exclude from the diagnostic dynamic link library.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020110015330A KR101216485B1 (en) | 2011-02-22 | 2011-02-22 | Detecting method of gamehack dll |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020110015330A KR101216485B1 (en) | 2011-02-22 | 2011-02-22 | Detecting method of gamehack dll |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20120096128A KR20120096128A (en) | 2012-08-30 |
KR101216485B1 true KR101216485B1 (en) | 2012-12-31 |
Family
ID=46886200
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020110015330A KR101216485B1 (en) | 2011-02-22 | 2011-02-22 | Detecting method of gamehack dll |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101216485B1 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101308112B1 (en) * | 2012-01-02 | 2013-09-12 | (주)네오위즈게임즈 | Preventing Method of Memory Fabrication and Client Apparatus |
-
2011
- 2011-02-22 KR KR1020110015330A patent/KR101216485B1/en active IP Right Grant
Also Published As
Publication number | Publication date |
---|---|
KR20120096128A (en) | 2012-08-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109375945B (en) | Firmware version detection method and vulnerability repair rate evaluation method for Internet of things equipment | |
CA3152837A1 (en) | Simulator detection method and system | |
Dureuil et al. | From code review to fault injection attacks: Filling the gap using fault model inference | |
CN104751048B (en) | A kind of dynamic link library integrity measurement method under pre-linking mechanism | |
CN106371940A (en) | Solution method and device for program crash | |
CN106326737B (en) | System and method for detecting the harmful file that can be executed on virtual stack machine | |
CN102722672B (en) | A kind of method and device detecting running environment authenticity | |
JP2008129714A (en) | Abnormality detection method, abnormality detection device, abnormality detection program, and learning model generation method | |
CN106789837B (en) | Network anomalous behaviors detection method and detection device | |
CN108319850B (en) | Sandbox detection method, sandbox system and sandbox equipment | |
WO2022044664A1 (en) | Boot device and method for booting a computer system | |
CN111523097A (en) | APP brush user identification method and device based on android system and storage medium | |
Schwartz et al. | A generic technique for automatically finding defense-aware code reuse attacks | |
KR101216485B1 (en) | Detecting method of gamehack dll | |
KR102157208B1 (en) | Smart contract excution apparatus and vulnerability detection method | |
KR20120014673A (en) | Method for dectecting falsification of process by inserting disguised dll | |
US20130227642A1 (en) | Apparatus and method for detecting illegal user | |
US9842018B2 (en) | Method of verifying integrity of program using hash | |
CN109426546B (en) | Application starting method and device, computer storage medium and equipment | |
US9063723B2 (en) | Function-based software comparison method | |
KR100457405B1 (en) | Method of detecting whether speed hack is in use | |
KR101042857B1 (en) | method for blocking excution of hacking process | |
US8388441B2 (en) | Method for displaying information about use of hack tool in online game | |
KR101252185B1 (en) | method for blocking hack using thread check | |
KR20140089044A (en) | Method of detecting software similarity using feature information of executable files and apparatus therefor |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20181217 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20191216 Year of fee payment: 8 |