KR100823547B1 - Method for detecting input data automatically inputting - Google Patents

Method for detecting input data automatically inputting Download PDF

Info

Publication number
KR100823547B1
KR100823547B1 KR1020060077204A KR20060077204A KR100823547B1 KR 100823547 B1 KR100823547 B1 KR 100823547B1 KR 1020060077204 A KR1020060077204 A KR 1020060077204A KR 20060077204 A KR20060077204 A KR 20060077204A KR 100823547 B1 KR100823547 B1 KR 100823547B1
Authority
KR
South Korea
Prior art keywords
input
input data
time
mouse
data
Prior art date
Application number
KR1020060077204A
Other languages
Korean (ko)
Other versions
KR20080015623A (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 KR1020060077204A priority Critical patent/KR100823547B1/en
Priority to PCT/KR2007/003904 priority patent/WO2008020710A1/en
Publication of KR20080015623A publication Critical patent/KR20080015623A/en
Application granted granted Critical
Publication of KR100823547B1 publication Critical patent/KR100823547B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/038Control and interface arrangements therefor, e.g. drivers or device-embedded control circuitry
    • 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/20Input arrangements for video game devices
    • A63F13/21Input arrangements for video game devices characterised by their sensors, purposes or types
    • 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/20Input arrangements for video game devices
    • A63F13/21Input arrangements for video game devices characterised by their sensors, purposes or types
    • A63F13/218Input arrangements for video game devices characterised by their sensors, purposes or types using pressure sensors, e.g. generating a signal proportional to the pressure applied by the player
    • 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/20Input arrangements for video game devices
    • A63F13/22Setup operations, e.g. calibration, key configuration or button assignment
    • 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/40Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment
    • A63F13/44Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment involving timing of operations, e.g. performing an action within a time slot
    • 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
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/02Input arrangements using manually operated switches, e.g. using keyboards or dials
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/0354Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of 2D relative movements between the device, or an operating part thereof, and a plane or surface, e.g. 2D mice, trackballs, pens or pucks
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/50Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
    • A63F2300/55Details of game data or player data management
    • A63F2300/5586Details of game data or player data management for enforcing rights or rules, e.g. to prevent foul play
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/60Methods for processing data by generating or executing the game program
    • A63F2300/63Methods for processing data by generating or executing the game program for controlling the execution of the game in time
    • A63F2300/638Methods for processing data by generating or executing the game program for controlling the execution of the game in time according to the timing of operation or a time limit

Abstract

입력 데이터의 자동 입력 감지 방법이 개시되어 있다. 본 발명은, A) 입력부로부터 입력된 제1 입력 데이터가 수신된 제1 시간 데이터를 저장하고, 그 후로 입력된 제2 입력 데이터가 수신된 제2 시간 데이터를 저장하는 단계와; B) 상기 제1 및 제2 시간 데이터의 시간 차를 연산하는 단계와; C) 상기 단계 A) 및 B)를 소정 시간 동안 반복한 결과, 소정 회수 이상 동일한 시간 차가 발생된 경우 상기 제1 및 제2 입력 데이터가 자동 입력된 상태로 판단하는 단계를 포함한다.Disclosed is an automatic input sensing method of input data. The present invention includes the steps of: A) storing first time data on which first input data input from an input unit is received, and second time data on which second input data is received thereafter; B) calculating a time difference between the first and second time data; C) repeating steps A) and B) for a predetermined time, and determining that the first and second input data are automatically input when the same time difference occurs more than a predetermined number of times.

마우스, 키보드, 자동 입력, 데이터, 스캔 코드 Mouse, keyboard, auto-entry, data, scan code

Description

입력 데이터의 자동 입력 감지 방법{METHOD FOR DETECTING INPUT DATA AUTOMATICALLY INPUTTING}How to automatically detect input data {METHOD FOR DETECTING INPUT DATA AUTOMATICALLY INPUTTING}

도 1은 본 발명의 일 실시 예에 따른 입력 데이터의 자동 입력 감지 방법을 설명하기 위한 순서도이다.1 is a flowchart illustrating an automatic input sensing method of input data according to an embodiment of the present invention.

도 2는 본 발명의 다른 실시 예에 따른 입력 데이터의 자동 입력 감지 방법을 설명하기 위한 순서도이다.2 is a flowchart illustrating an automatic input sensing method of input data according to another embodiment of the present invention.

본 발명은 컴퓨터 시스템에 관한 것으로, 보다 상세하게는 입력 장치를 통해 입력되는 입력 데이터가 자동 입력 장치 또는 프로그램에 의해 자동으로 생성된 입력 데이터인지 여부를 감지하기 위한 입력 데이터의 자동 입력 감지 방법에 관한 것이다.The present invention relates to a computer system, and more particularly, to an automatic input detection method of input data for detecting whether input data input through an input device is input data automatically generated by an automatic input device or a program. will be.

초고속 인터넷의 발달로 다수의 개인용 컴퓨터들이 인터넷으로 연결되어 게임 등의 프로그램을 실행하는 것이 가능하며, 이때 단순 반복되는 마우스, 키보드 등의 입력을 대신하기 위하여 오토 마우스 또는 매크로 등의 자동 입력 프로그램 또는 자동 입력 장치가 사용되고 있다. 일 예로 잘 알려진 MMPORPG 게임의 경우 그 게임에 특화된 마우스 및 키보드 자동 입력 하드웨어 장치가 널리 개발 및 판매되고 있으며, 그 이외에도 게임 전용 마우스 또는 키보드가 개발되어 판매되고 있는 실정이다. 그러나, 이러한 오토 마우스 또는 매크로를 이용하여 온라인 게임에 참여하는 것은 다른 게임 참여자들과의 형평성이 문제될 뿐만 아니라, 온라인 게임의 아이템을 전문적으로 판매하는 이들이 오토 마우스 또는 매크로를 이용하여 아이템을 획득한 후 돈을 받고 판매하는 등의 심각한 사회 문제를 일으키고 있다.With the development of high speed internet, many personal computers can be connected to the internet to execute programs such as games.In this case, an automatic input program such as an auto mouse or a macro or an automatic mouse can be used instead of a simple repeated mouse or keyboard input. An input device is being used. For example, a well-known MMPORPG game has been widely developed and sold for a mouse and keyboard automatic input hardware device specialized for the game, and in addition, a mouse or keyboard for a game has been developed and sold. However, participating in an online game using such an auto mouse or macro not only impairs equity with other game participants, but also enables those who specialize in selling items of the online game to acquire items using the auto mouse or macro. It is causing serious social problems such as getting paid and selling money afterwards.

따라서, 이러한 마우스 및 키보드 자동 입력을 방지하기 위하여 현재는 오토 마우스 프로그램에서 마우스 또는 키보드에서 발생되는 이벤트를 프로그램에 의해 발생시키는데 사용되는 API를 후킹하여 해당 이벤트가 게임에 영향을 주는 경우, 해당 이벤트를 실패하도록 하는 방법이 이용되고 있다.Therefore, in order to prevent such automatic input of the mouse and keyboard, the current auto mouse program hooks the API used to generate an event generated by the mouse or keyboard by the program, and if the event affects the game, the event is generated. A method of failing is being used.

예를 들면, SendInput 이라는 API는 마우스 또는 키보드의 버튼 또는 키를 선택할 때 발생되는 이벤트를 프로그램에 의해 발생시킬 수 있는 API이다. 따라서, 이러한 API를 이용하여 마우스 또는 키보드 이벤트가 발생한 것과 같은 기능을 수행하는 자동 입력 프로그램이 존재한다면, 해당 프로그램이 사용하는 SendInput API를 후킹하여 해당 자동 입력 프로그램이 SendInput API를 호출할 때 실패하도록 함으로써 방어를 수행할 수 있다.For example, an API called SendInput is an API that allows a program to generate events that occur when a button or key on a mouse or keyboard is selected. Therefore, if there is an auto-input program that uses these APIs to perform the same function as a mouse or keyboard event, then by hooking the SendInput API used by the program, it will fail when the auto-input program calls the SendInput API. Defensive can be performed.

그러나, 이와 같은 후킹 방법은 후킹이 가진 한계점을 모두 가지게 되는데, 그 일 예로 후킹을 원래대로 되돌리거나, 후킹한 함수가 아닌 동일한 기능을 하는 다른 함수를 사용하거나, 또는 API 호출 방식이 아닌 디바이스 드라이버를 이용하여 하드웨어적으로 발생한 마우스 또는 키보드의 이벤트인 것처럼 속이거나, 또는 하드웨어 장비를 이용하여 이벤트를 발생시키는 경우에는 아무런 보호를 수행할 수가 없다는 문제점이 있어 왔다.However, this hooking method has all the limitations of hooking, for example, to restore the hooking function, to use another function having the same function as the hooking function, or to use a device driver that does not call the API. There has been a problem that no protection can be performed when a user deceives an event by using a hardware or a mouse or keyboard, or generates an event by using a hardware device.

본 발명은 상기한 사정을 감안하여 창출된 것으로서, 본 발명의 목적은 입력 장치를 통해 입력되는 입력 데이터의 패턴을 분석하여 자동 입력 장치 또는 자동 입력 프로그램에 의해 입력되는 입력 데이터를 감지하기 위한 입력 데이터의 자동 입력 감지 방법을 제공하는 데 있다. The present invention has been made in view of the above circumstances, and an object of the present invention is to analyze input patterns input through an input device and to detect input data input by an automatic input device or an automatic input program. To provide an automatic input detection method.

상기 목적을 달성하기 위한 본 발명의 제 1 관점에 따른 입력 데이터의 자동 입력 감지 방법은, Automatic input detection method of the input data according to the first aspect of the present invention for achieving the above object,

A) 입력부로부터 입력된 제1 입력 데이터가 수신된 제1 시간 데이터를 저장하고, 그 후로 입력된 제2 입력 데이터가 수신된 제2 시간 데이터를 저장하는 단계;A) storing first time data at which the first input data input from the input unit has been received, and then storing second time data at which the second input data received thereafter is received;

B) 상기 제1 및 제2 시간 데이터의 시간 차를 연산하는 단계; 및 B) calculating a time difference between the first and second time data; And

C) 상기 단계 A) 및 B)를 소정 시간 동안 반복한 결과, 소정 회수 이상 동일한 시간 차가 발생된 경우 상기 제1 및 제2 입력 데이터가 자동 입력된 상태로 판단하는 단계를 포함한다.C) repeating steps A) and B) for a predetermined time, and determining that the first and second input data are automatically input when the same time difference occurs more than a predetermined number of times.

상기 목적을 달성하기 위한 본 발명의 제 2 관점에 따른 입력 데이터의 자동 입력 감지 방법은, Automatic input detection method of the input data according to the second aspect of the present invention for achieving the above object,

가) 입력부로부터 순차로 입력되는 입력 데이터에 상응하는 스캔 코드(Scan Code)의 값 및 상기 스캔 코드가 발생한 시간 정보를 저장하는 단계;A) storing a value of a scan code corresponding to input data sequentially input from an input unit and time information at which the scan code is generated;

나) 소정 시간 동안 발생되는 상기 시간 정보 및 상기 스캔 코드를 모니터링하여 상기 시간 정보 및 상기 스캔 코드의 변화 패턴을 조회하는 단계; 및B) monitoring the time information and the scan code generated for a predetermined time to inquire a change pattern of the time information and the scan code; And

다) 상기 변화 패턴 중 반복되는 변화 패턴이 소정 시간 동안 특정 회수만큼 반복되는 경우, 상기 입력 부로부터 상기 입력 데이터가 자동으로 입력되는 것으로 판단하는 단계를 포함한다. 상기 목적을 달성하기 위한 본 발명의 제 3 관점에 따른 입력 데이터의 자동 입력 감지 방법은, C) determining that the input data is automatically input from the input unit when the repeated change pattern among the change patterns is repeated a predetermined number of times for a predetermined time. Automatic input sensing method of the input data according to the third aspect of the present invention for achieving the above object,

ⅰ) 입력부와 연결된 마우스가 움직이는 동안 상기 마우스의 버튼이 눌려져서 발생된 버튼 다운 이벤트에 상응하는 제1 위치 정보를 저장하고, 상기 눌려진 버튼이 복귀되면서 발생된 버튼 업 이벤트에 상응하는 제2 위치 정보를 저장하는 단계;Iii) storing first location information corresponding to a button down event generated by pressing a button of the mouse while the mouse connected to the input unit is moving, and second location information corresponding to a button up event generated when the pressed button is returned. Storing the;

ⅱ) 상기 제1 위치 정보 및 제2 위치 정보를 이용하여 상기 마우스의 이동 거리를 연산하는 단계; 및Ii) calculating a moving distance of the mouse using the first location information and the second location information; And

ⅲ) 상기 단계 ⅰ) 및 ⅱ)를 소정 시간 동안 반복 실행하여 상기 연산된 이동 거리가 소정 값 이하로 소정 회수 이상 발생된 경우 상기 제1 및 제2 입력 데이터가 자동 입력 상태임을 감지하는 단계를 포함하는 것을 특징으로 한다.Iii) repeatedly performing steps iv) and ii) for a predetermined time and detecting that the first and second input data are in an automatic input state when the calculated movement distance is generated a predetermined number or more below a predetermined value. Characterized in that.

상기 목적을 달성하기 위한 본 발명의 제 4 관점에 따른 입력 데이터의 자동 입력 감지 방법은, Automatic input sensing method of the input data according to the fourth aspect of the present invention for achieving the above object,

X-1) 입력부와 연결된 마우스를 임의로 이동시켜 적어도 2개의 위치 이벤트를 발생시키고 상기 위치 이벤트 각각에 따른 위치 정보 및 시간 정보를 저장하는 단계;X-1) generating at least two location events by randomly moving a mouse connected to the input unit and storing location information and time information according to each of the location events;

X-2) 상기 적어도 2개의 위치 이벤트 간의 이동 거리 및 시간 간격을 연산하는 단계;X-2) calculating a movement distance and a time interval between the at least two location events;

X-3) 상기 이동 거리가 소정의 픽셀 이상인 경우 상기 시간 간격을 기준값으로 설정하여 저장하는 단계; X-3) storing the time interval as a reference value when the moving distance is equal to or greater than a predetermined pixel;

X-4) 상기 단계 X-1) 내지 X-3)를 소정 횟수 반복하여 상기 기준값의 평균 기준 값을 연산하는 단계; X-4) calculating the average reference value of the reference value by repeating steps X-1) to X-3) a predetermined number of times;

X-5) 상기 입력부와 연결된 마우스의 위치가 변경되었을 때 발생하는 제1 위치 이동 이벤트에 상응하는 제1 위치 정보 및 제1 시간 정보를 저장하고, 그 후에 발생하는 제2 위치 이동 이벤트에 상응하는 제2 위치 정보 및 제2 시간 정보를 저장하는 단계;X-5) stores the first position information and the first time information corresponding to the first position movement event that occurs when the position of the mouse connected to the input unit is changed, and corresponds to the second position movement event that occurs after that. Storing second location information and second time information;

X-6) 상기 제1 및 제2 위치 정보를 이용하여 상기 마우스의 이동 거리를 연산하고 상기 제1 및 제2 시간 정보를 이용하여 시간 간격을 연산하는 단계; Calculating a moving distance of the mouse using the first and second location information and calculating a time interval using the first and second time information;

X-7) 상기 단계 X-6)에서 연산된 상기 이동 거리가 상기 소정 픽셀 이상인 경우, 상기 단계 X-6)의 시간 간격과 상기 평균 기준 값을 비교하는 단계; 및X-7) comparing the time interval of step X-6) with the average reference value when the moving distance calculated in step X-6) is greater than or equal to the predetermined pixel; And

X-8) 상기 시간 간격이 상기 평균 기준 값과 상이한 경우, 상기 입력부를 통해 자동 입력되는 상태임을 감지하는 단계를 포함한다.X-8) if the time interval is different from the average reference value, detecting that the state is automatically input through the input unit.

이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예에 대하여 설명한다.Hereinafter, with reference to the accompanying drawings will be described a preferred embodiment of the present invention.

[제1 실시 예][First Embodiment]

도 1은 본 발명의 일 실시 예에 따른 입력 데이터의 자동 입력 감지 방법을 설명하기 위한 순서도이다.1 is a flowchart illustrating an automatic input sensing method of input data according to an embodiment of the present invention.

제 1 실시 예는 마우스, 키보드, 등의 입력 장치와 연결된 컴퓨터의 입력부로부터 수신되는 입력 데이터의 입력 주기를 분석하여 자동으로 입력 데이터가 입력되었는지 여부를 판단하는 방법을 제시한다. 즉, 본원 발명의 제1 실시 예는 마우스의 버튼의 클릭(Click) 주기, 키보드 키의 클릭 주기를 분석하여 일정 시간 동안 동일한 클릭 주기를 갖는 횟수를 카운트하고, 그 카운트가 일정 수 이상이면 사용자에 의한 입력이 아닌 자동 입력 상태임을 감지하는 방법이다. 제1 실시 예는 상기 컴퓨터와 연결된 입력 장치로부터 실제로 입력된 입력 데이터 뿐만 아니라, 상기 컴퓨터에 인스톨(Install) 된 소정의 자동 입력 프로그램에 의해 가상으로 입력된 입력 데이터에 대하여도 동일하게 적용된다.The first embodiment provides a method of automatically determining whether input data is input by analyzing an input period of input data received from an input unit of a computer connected to an input device such as a mouse, a keyboard, or the like. That is, the first embodiment of the present invention analyzes the click period of a button of a mouse and the click period of a keyboard key to count the number of times having the same click period for a predetermined time, and if the count is greater than or equal to a predetermined number, It is a method of detecting that the input status is not automatic input. The first embodiment is equally applied to not only input data actually input from an input device connected to the computer, but also input data virtually input by a predetermined automatic input program installed in the computer.

도 1을 참조하면, 입력부로 입력되는 제1 입력 데이터가 수신된 제1 시간 데이터를 저장하고, 그 후 입력되는 제2 입력 데이터가 수신된 제2 시간 데이터를 저장한다(S110, S120).Referring to FIG. 1, first time data received with the first input data input to the input unit is stored, and second time data with the second input data received thereafter is stored (S110 and S120).

상기 제1 시간 데이터 및 상기 제2 시간 데이터의 시간 차를 연산하여(S130) 그 결과를 저장하며, 소정 시간 동안 상기 단계 S110 내지 S130을 반복하여 제1 및 제2 입력 데이터 간의 시간 차를 누적 저장한다(S140).Compute the time difference between the first time data and the second time data (S130) and store the result, and repeat the steps S110 to S130 for a predetermined time to accumulate and store the time difference between the first and second input data. (S140).

만일, 상기 입력부가 마우스 또는 키보드와 연결되었다면 마우스의 버튼 또는 키보드의 키가 한 번 선택됨에 따라 상기 제1 또는 제2 입력 데이터가 발생된다.  If the input unit is connected to a mouse or a keyboard, the first or second input data is generated as a button of a mouse or a key of the keyboard is selected once.

따라서, 소정 시간 동안 상기 마우스 또는 상기 키보드에 의해 발생된 제1 및 제2 입력 데이터의 발생된 시간 차가 동일하게 소정 회수 이상 발생하였다면, 상기 제1 및 제2 입력 데이터가 자동으로 입력되고 있는 상태로 판단한다(S150, S170). 부언하면, 상기 단계 S150의 판단 결과, 소정 시간 동안 제1 및 제2 입력 데이터의 발생된 시간 차가 소정 회수 이상 동일하다면, 사용자에 의한 입력이 아닌 상기 자동 입력 프로그램 또는 자동 입력 장치에 의해 입력 데이터가 생성되었다고 판단한다. Therefore, if the generated time difference between the first and second input data generated by the mouse or the keyboard for the predetermined time is equal to or more than a predetermined number of times, the first and second input data are automatically input. It determines (S150, S170). In other words, as a result of the determination in step S150, if the generated time difference between the first and second input data for the predetermined time is equal to or more than a predetermined number of times, the input data is not inputted by the automatic input program or the automatic input device, but by the user. It is determined that it was created.

그러나, 상기 단계 S150의 판단 결과 상기 제1 및 제2 입력 데이터의 발생된 시간 차가 상기 소정 회수 미만인 경우, 타이머를 재 세팅하여 단계 S110부터 수행한다(S160).However, if the time difference between the first and second input data is less than the predetermined number of times as a result of the determination of step S150, the timer is reset and performed from step S110 (S160).

[제 2 실시 예]Second Embodiment

본 발명의 제2 실시 예에서는 제1 입력 데이터 및 제2 입력 데이터의 입력 시간을 보다 세분화하여 분석함으로써 입력부로 입력되는 입력 데이터가 자동으로 입력된 데이터인지 여부를 감지하는 방법을 설명한다.In the second embodiment of the present invention, a method of detecting whether the input data input to the input unit is automatically input data by further analyzing the input time of the first input data and the second input data is further described.

먼저, 입력부가 마우스와 연결된 경우 마우스의 버튼을 한 번 선택하면 버튼 다운 이벤트(Button Down Event) 및 버튼 업 이벤트(Button Up Event)가 발생된다. 이때, 상기 버튼 다운 이벤트 및 버튼 업 이벤트를 이용하여 마우스의 클릭 주기를 분석한다.First, when the input unit is connected to the mouse, selecting a button of the mouse once generates a button down event and a button up event. At this time, the click cycle of the mouse is analyzed using the button down event and the button up event.

보다 상세히 설명하기 위하여 상기 제1 입력 데이터가 상기 마우스의 버튼을 누르는 버튼 다운 이벤트(Button Down Event)이고 상기 제2 입력 데이터가 상기 마우스의 눌렀던 버튼을 제자리로 되돌리는 버튼 업 이벤트로 가정하자.To describe in more detail, assume that the first input data is a button down event of pressing a button of the mouse and the second input data is a button up event of returning the pressed button of the mouse.

상기 제1 입력 데이터인 버튼 다운 이벤트와 상기 제2 입력 데이터인 버튼 업 이벤트가 소정 시간 동안 동일한 시간 차를 가지고 소정 회수 이상 입력된다면, 상기 제1 및 제2 입력 데이터가 사용자에 의한 입력이 아닌 상기 자동 입력 프로그램 또는 자동 입력 장치에 의해 입력 데이터가 생성되었다고 판단한다. When the button down event, which is the first input data and the button up event, which is the second input data are input for a predetermined number of times with the same time difference for a predetermined time, the first and second input data are not input by the user. It is determined that the input data is generated by the automatic input program or the automatic input device.

이때, 상기 제1 입력 데이터를 버튼 업 이벤트, 상기 제2 입력 데이터를 버튼 다운 이벤트로 설정하더라도 상술한 바와 같은 프로세스를 적용하는 것이 가능하다. 이는 사용자는 소정 시간 동안 동일한 시간 간격으로 소정 회수 이상 마우스의 버튼을 업 또는 다운하는 이벤트를 발생시킬 수 없기 때문이다. In this case, even if the first input data is set to the button up event and the second input data is set to the button down event, the above-described process may be applied. This is because the user cannot generate an event of up or down the button of the mouse more than a predetermined number of times at the same time interval for a predetermined time.

두번째로 입력부가 키보드와 연결된 경우 키보드의 키를 한 번 선택하면 키 다운 스캔 코드(Key Down Scan code) 및 키 업 스캔 코드(Key Up Scan code)가 발생된다. 이때, 상기 키 다운 스캔 코드 및 키 업 스캔 코드를 이용하여 키보드의 클릭 주기를 분석한다.Secondly, when the input unit is connected to the keyboard, selecting a key of the keyboard once generates a key down scan code and a key up scan code. In this case, the click period of the keyboard is analyzed using the key down scan code and the key up scan code.

보다 상세히 설명하기 위하여 상기 제1 입력 데이터가 상기 키보드의 키를 누름으로써 발생되는 키 다운 스캔 코드이고 상기 제2 입력 데이터가 상기 키보드의 눌렀던 키를 제자리로 되돌림으로써 발생되는 키 업 스캔 코드로 가정하자.For further explanation, it is assumed that the first input data is a key down scan code generated by pressing a key of the keyboard and the second input data is a key up scan code generated by returning a pressed key of the keyboard to its original position. lets do it.

상기 제1 입력 데이터인 키 다운 스캔 코드와 상기 제2 입력 데이터인 키 업 스캔 코드가 소정 시간 동안 동일한 시간 차를 가지고 소정 회수 이상 입력된다면, 상기 제1 및 제2 입력 데이터가 사용자에 의한 입력이 아닌 상기 자동 입력 프로그 램 또는 자동 입력 장치에 의해 생성되었다고 판단한다. When the key down scan code, which is the first input data, and the key up scan code, which is the second input data, are input for a predetermined number of times with the same time difference for a predetermined time, the first and second input data are not input by the user. It is determined that the generated by the automatic input program or the automatic input device.

이때, 상기 제1 입력 데이터를 키 업 스캔 코드, 상기 제2 입력 데이터를 키 다운 스캔 코드로 설정하더라도 상술한 바와 같은 프로세스를 적용하는 것이 가능하다. 이는 사용자는 소정 시간 동안 동일한 시간 간격으로 소정 회수 이상 키보드의 키를 업 또는 다운하는 스캔 코드를 발생시킬 수 없기 때문이다. At this time, even if the first input data is set as the key up scan code and the second input data as the key down scan code, the above-described process can be applied. This is because the user cannot generate a scan code to up or down the keys of the keyboard more than a predetermined number of times at the same time interval for a predetermined time.

[제3 실시 예] Third Embodiment

본 발명의 제3 실시 예에서는 키보드에서 발생되는 입력 데이터의 스캔 코드를 분석하여 입력부로 입력되는 입력 데이터가 자동으로 입력된 데이터인지 여부를 감지하는 방법을 설명한다.A third embodiment of the present invention describes a method of detecting whether input data input to an input unit is automatically input data by analyzing scan codes of input data generated from a keyboard.

입력부로 입력 데이터를 순차로 입력하는 상기 키보드의 각 키는 스캔 코드 값으로 표현되며, 상기 스캔 코드는 키 업 스캔 코드 및 키 다운 스캔 코드로 구성된다. 즉, 사용자가 키보드의 키를 누르면 키 다운 스캔 코드 값이 발생하고 그 키에서 손을 떼면 키 업 스캔 코드 값이 발생하게 된다. 따라서, 사용자가 하나의 키를 선택하면 스캔 코드 값은 다운/업 두 개가 쌍으로 발생하게 된다.Each key of the keyboard that sequentially inputs input data to the input unit is represented by a scan code value, and the scan code is composed of a key up scan code and a key down scan code. That is, when a user presses a key on the keyboard, a key down scan code value is generated, and when the user releases the key, a key up scan code value is generated. Therefore, when the user selects one key, two down / up pairs of scan codes are generated.

본 발명의 제3 실시 예에서는 상기 스캔 코드 값 및 상기 스캔 코드의 다운/업 또는 업/다운 코드 값의 발생 시간 간격을 모니터링하여 입력 데이터가 자동으로 입력된 데이터인지 여부를 감지한다.In the third embodiment of the present invention, whether the input data is automatically input data is monitored by monitoring the scan code value and the time interval of occurrence of the down / up or up / down code value of the scan code.

일 응용 예에서, 사용자의 키 선택 조합에 따라 키 다운 스캔 코드 또는 키 업 스캔 코드가 각각 반복적으로 발생될 수 있으며, 키 다운 스캔 코드 또는 키 업 스캔 코드가 다운-업-업-업, 다운-다운-다운-업, 업-업-다운-다운 등의 다양한 조합을 갖는다.In one application, the key down scan code or the key up scan code may be repeatedly generated, respectively, according to the user's key selection combination, and the key down scan code or the key up scan code may be down-up-up-up, down- Various combinations of down-down-up, up-up-down-down, and the like.

도 2를 참조하면, 입력부로부터 입력되는 입력 데이터에 상응하는 스캔 코드가 발생되면 상기 입력 데이터가 입력되는 시간 데이터와 함께 상기 스캔 코드의 값을 저장한다(S210, S220).Referring to FIG. 2, when a scan code corresponding to input data input from an input unit is generated, a value of the scan code is stored together with time data into which the input data is input (S210 and S220).

이때, 상기 스캔 코드는 업/다운 스캔 코드가 하나의 쌍으로 발생되므로, 하나의 키를 눌렀다가 제자리로 복구함으로써 발생되는 키 업 및 다운 스캔 코드의 시간 간격 즉, 하나의 키가 눌려져 있던 시간 간격을 연산한다(S230). 또는 눌려진 하나의 키를 복구한 후 다음 키를 누름으로써 발생되는 다운 및 키 업 스캔 코드의 시간 간격을 연산하는 것도 가능하다. 또한, 동시에 여러 키가 눌려져 있었다면 그 여러 키가 눌려져 있었던 시간 간격도 동일해야 한다. In this case, since the up / down scan codes are generated as a pair, the scan codes are time intervals of the key up and down scan codes generated by pressing one key and then restoring it in place, that is, a time interval in which one key is pressed. It is calculated (S230). Alternatively, it is possible to calculate the time interval of the down and key up scan codes generated by pressing a next key after recovering a pressed key. In addition, if several keys were pressed at the same time, the time interval in which the various keys were pressed should be the same.

일 응용 예에서, 하나의 키가 눌려져 있던 시간 간격, 눌려졌던 한 키가 복구되고 다른 키가 눌려진 시간 간격, 및 동시에 여러 키가 눌려져 있었던 시간 간격 모두를 연산하며, 그 중 적어도 하나의 시간 간격을 모니터링하여 소정 시간 동안 상기 연산된 시간 간격이 소정 횟수 이상 동일한지 여부를 판단한다. 부언하면, 상술한 모든 시간 간격을 모두 고려하여 소정 시간 동안 상기 시간 간격 모두가 소정 회수 이상 동일한지 여부를 판단하는 것이 가능하다.In one application, a time interval in which one key was pressed, a time interval in which one key was recovered and another key was pressed, and a time interval in which several keys were pressed at the same time are calculated, and at least one time interval is calculated. Monitoring is performed to determine whether the calculated time interval is equal to a predetermined number of times or more for a predetermined time. In other words, it is possible to determine whether all of the time intervals are equal to or more than a predetermined number of times for a predetermined time in consideration of all the above-described time intervals.

소정 시간 동안 상기 단계 S210 내지 S230을 반복 수행하여, 스캔 코드 값이 일정하거나 또는 소정의 순서로 반복되는지 판단한다(S240, S250).By repeating the steps S210 to S230 for a predetermined time, it is determined whether the scan code value is constant or repeated in a predetermined order (S240, S250).

즉, 제3 실시 예에서는 시간에 따른 스캔 코드 값의 변화 패턴을 분석하여 스캔 코드 값이 발생되는 시간 간격이 동일하고 그 동일한 시간 간격이 소정 회수 이상 지속되며 동시에 발생된 스캔 코드 값이 일정하다면, 그 입력 데이터가 자동으로 입력되고 있는 상태로 판단한다(S260, S280).That is, in the third embodiment, when the change pattern of the scan code value with time is analyzed and the time intervals at which the scan code values are generated are the same, the same time intervals last more than a predetermined number of times, and the generated scan code values are constant, It determines with the input data being input automatically (S260, S280).

또한, 제3 실시 예에서는 스캔 코드 값이 발생되는 시간 간격이 동일하고 그 동일한 시간 간격이 소정 회수 이상 지속될 뿐만 아니라, 그때 발생된 스캔 코드 값이 일정 패턴을 가지며 소정 회수 이상 반복될 때 그 입력 데이터가 소정의 자동 입력 프로그램 또는 자동 입력 장치에 의해 자동으로 입력되고 있는 상태로 판단한다. In addition, in the third embodiment, the time intervals at which the scan code values are generated are the same and the same time intervals last not less than a predetermined number of times, and the input data when the generated scan code values have a predetermined pattern and are repeated more than a predetermined number of times. It is determined that the state is automatically input by the predetermined automatic input program or automatic input device.

[제4 실시 예][Example 4]

본 발명의 제4 실시 예에서는 마우스가 움직이는 도중에 사용자가 버튼을 클릭함으로써 입력되는 입력 데이터의 위치 정보를 분석하여 입력부로 입력되는 입력 데이터가 자동으로 입력된 데이터인지 여부를 감지하는 방법을 설명한다.The fourth embodiment of the present invention describes a method of detecting whether the input data input to the input unit is automatically input data by analyzing the position information of the input data input by the user clicking the button while the mouse is moving.

입력부와 물리적으로 연결된 마우스가 움직이는 도중 버튼이 눌려지는 경우 발생되는 버튼 다운 이벤트 및 눌려진 버튼이 제자리로 복귀하면 발생되는 버튼 업 이벤트가 서로 다른 위치에서 발생된다. 부언하면, 마우스가 움직이고 있는 도중에 마우스의 버튼이 사용자에 의해 선택되는 경우, 버튼 다운 이벤트가 발생된 위치(이하, 제1 위치 정보라 함) 및 버튼 업 이벤트가 발생된 위치(이하, 제2 위치 정보라 함) 간에 이동 거리가 발생한다. 따라서, 본 발명의 제4 실시 예에서는 제1 위치 정보 및 제2 위치 정보를 이용하여 상기 마우스의 이동 거리를 연산하고 그 이 동 거리가 소정 값 이하인 경우를 카운트 한다. 상기 카운트된 횟수가 소정 회수 이상인 경우, 상기 제1 및 제2 입력 데이터가 자동으로 입력되고 있다고 판단한다.The button down event generated when the button is pressed while the mouse physically connected to the input unit is moved and the button up event generated when the pressed button returns to its original position are generated at different positions. In other words, when the mouse button is selected by the user while the mouse is moving, the position where the button down event is generated (hereinafter referred to as first position information) and the position where the button up event is generated (hereinafter referred to as the second position) Travel distances). Therefore, in the fourth embodiment of the present invention, the moving distance of the mouse is calculated using the first position information and the second position information, and the case where the moving distance is less than or equal to a predetermined value is counted. If the counted number is more than a predetermined number of times, it is determined that the first and second input data are automatically input.

[제5 실시 예][Example 5]

본 발명의 제5 실시 예에서는 입력부와 물리적으로 연결된 마우스를 통해 입력되는 데이터의 위치 정보 및 시간 정보를 분석하여 입력부로 입력되는 입력 데이터가 자동으로 입력된 데이터인지 여부를 감지하는 방법을 설명한다.The fifth embodiment of the present invention describes a method of detecting whether the input data input to the input unit is automatically input data by analyzing the location information and the time information of the data input through the mouse physically connected to the input unit.

제5 실시 예에서는 입력부를 통해 입력되는 입력 데이터가 자동으로 입력되는 데이터인지 여부를 감지하기 전에, 기준 데이터를 생성하는 작업을 수행한다.According to the fifth embodiment, before detecting whether the input data input through the input unit is automatically input data, the operation of generating the reference data is performed.

마우스가 자신의 현재 위치를 운영 체제(Operating System)로 알려주기 위하여 마우스가 움직일 때마다 위치 이벤트를 발생하게 되는데 이때, 위치 이벤트는 FPS(Frame Per Second)라고 불리는 초당 프레임 수에 따라 발생하게 된다. 그런데, 마우스에 따라 FPS에 차이가 발생하므로, 입력 데이터가 자동으로 입력되는지 여부를 알고자 하는 그 시스템에 연결된 마우스의 FPS를 연산할 필요가 있다.The mouse generates a location event whenever the mouse moves to inform the operating system of its current location. The location event is generated according to the number of frames per second called Frame Per Second (FPS). However, since a difference occurs in the FPS according to the mouse, it is necessary to calculate the FPS of the mouse connected to the system that wants to know whether the input data is automatically input.

즉, 마우스에 의해 위치 이벤트가 발생하면 그 위치 이벤트에 따른 위치 정보 및 시간 정보를 저장한다. 상기 위치 이벤트는 적어도 2개이어야 두 위치 이벤트 간의 거리 및 시간 간격을 연산할 수 있다. That is, when a location event occurs by a mouse, location information and time information according to the location event are stored. At least two location events may be used to calculate a distance and a time interval between two location events.

두 위치 이벤트 간의 이동 거리가 소정 픽셀(Pixel) 이상인 경우 상기 두 위치 이벤트가 발생된 시간 간격을 기준 값으로 설정하여 저장한다.When the moving distance between two location events is greater than or equal to a predetermined pixel, the time interval at which the two location events are generated is set as a reference value and stored.

소정 시간 동안 발생된 기준 값을 누적 관리한 후 상기 기준 값의 평균 기준 값을 연산한다. After the cumulative management of the reference value generated for a predetermined time, the average reference value of the reference value is calculated.

그 후에 입력부를 통해 입력되는 입력 데이터로부터 위치 정보 및 시간 정보를 추출하고 연속되는 입력 데이터 간의 이동 거리 및 시간 간격을 연산하여 상기 평균 기준값과 비교한다. 보다 상세히 설명하면, 입력부와 연결된 마우스의 위치가 변경되었을 때 발생하는 제1 위치 이동 이벤트에 상응하는 제1 위치 정보 및 제1 시간 정보를 저장한다. 그 후 다시 상기 마우스의 위치가 변경되어 발생되는 제2 위치 이동 이벤트에 상응하는 제2 위치 정보 및 제2 시간 정보도 역시 저장한다.Thereafter, location information and time information are extracted from the input data input through the input unit, and the moving distance and time interval between successive input data are calculated and compared with the average reference value. In more detail, the first location information and the first time information corresponding to the first location movement event generated when the location of the mouse connected to the input unit is changed are stored. Thereafter, the second position information and the second time information corresponding to the second position movement event generated by changing the position of the mouse are also stored.

제1 및 제2 위치 정보를 이용하여 상기 마우스의 이동 거리를 연산하고 상기 제1 및 제2 시간 정보를 이용하여 마우스에 발생된 이벤트가 발생된 시간 간격을 연산한다. 이때, 상기 마우스의 이동 거리가 소정 픽셀 이상인 경우 상기 시간 간격과 상기 평균 기준 값을 비교한다.The moving distance of the mouse is calculated using first and second location information, and the time interval at which an event generated in the mouse is generated is calculated using the first and second time information. In this case, when the moving distance of the mouse is more than a predetermined pixel, the time interval and the average reference value are compared.

상기 시간 간격이 상기 평균 기준 값과 상이한 경우, 상기 입력부를 통해 입력 데이터가 자동으로 입력되는 상태로 감지한다.When the time interval is different from the average reference value, the input data is automatically sensed through the input unit.

본 발명은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CO-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장 장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산 방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.The invention can also be embodied as computer readable code on a computer readable recording medium. The computer-readable recording medium includes all kinds of recording devices in which data that can be read by a computer system is stored. Examples of computer-readable recording media include ROM, RAM, CO-ROM, magnetic tape, floppy disks, optical data storage devices, and the like, which may also be implemented in the form of carrier waves (for example, transmission over the Internet). Include. The computer readable recording medium can also be distributed over network coupled computer systems so that the computer readable code is stored and executed in a distributed fashion.

이상에서 상세히 설명한 바와 같이, 본 발명의 입력 데이터의 자동 입력 감지 방법에 의하면, 자동 입력 프로그램 또는 자동 입력 장치에 의해 데이터가 자동으로 입력되더라도 입력 패턴을 분석하여 사용자에 의해 마우스 또는 키보드로 입력되는 정상 데이터로부터 용이하게 분류해 낼 수 있다는 장점이 있다.As described in detail above, according to the automatic input detection method of the input data of the present invention, even if the data is automatically input by the automatic input program or the automatic input device, the normal inputted by the user by analyzing the input pattern by the mouse or the keyboard. The advantage is that it can be easily classified from the data.

지금까지 본 발명을 바람직한 실시예를 참조하여 상세히 설명하였지만, 본 발명이 상기한 실시예에 한정되는 것은 아니며, 이하의 특허청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 누구든지 다양한 변형 또는 수정이 가능한 범위까지 본 발명의 기술적 사상이 미친다 할 것이다.Although the present invention has been described in detail with reference to the preferred embodiments, the present invention is not limited to the above-described embodiments, and the present invention belongs to the present invention without departing from the gist of the present invention as claimed in the following claims. Anyone skilled in the art will have the technical idea of the present invention to the extent that various modifications or changes are possible.

Claims (9)

A) 입력부로부터 입력된 제1 입력 데이터가 수신된 제1 시간 데이터를 저장하고, 그 후로 입력된 제2 입력 데이터가 수신된 제2 시간 데이터를 저장하는 단계;A) storing first time data at which the first input data input from the input unit has been received, and then storing second time data at which the second input data received thereafter is received; B) 상기 제1 및 제2 시간 데이터의 시간 차를 연산하는 단계; 및 B) calculating a time difference between the first and second time data; And C) 상기 단계 A) 및 B)를 소정 시간 동안 반복한 결과, 소정 회수 이상 동일한 시간 차가 발생된 경우 상기 제1 및 제2 입력 데이터가 자동 입력된 상태로 판단하는 단계를 포함하는 것을 특징으로 하는 입력 데이터의 자동 입력 감지 방법.C) repeating steps A) and B) for a predetermined time, and determining that the first and second input data are automatically input when the same time difference occurs more than a predetermined number of times. How to automatically detect input data. 제 1 항에 있어서, 상기 제1 및 제2 입력 데이터는 마우스 또는 키보드에 의해 선택된 버튼 또는 키를 각각 선택할 때마다 발생되거나 또는 자동 입력 하드웨어 또는 자동 입력 프로그램에 의해 발생되는 것을 특징으로 하는 입력 데이터의 자동 입력 감지 방법.The method of claim 1, wherein the first and second input data are generated each time a button or key selected by a mouse or keyboard is selected, or generated by an automatic input hardware or an automatic input program. Automatic input detection method. 제 1 항에 있어서, 상기 입력부가 마우스와 연결된 경우, 상기 제1 입력 데이터 및 상기 제2 입력 데이터는 각각 버튼 업 이벤트 및 버튼 다운 이벤트 중 하나 인 것을 특징으로 하는 입력 데이터의 자동 입력 감지 방법.The method of claim 1, wherein when the input unit is connected to a mouse, the first input data and the second input data are one of a button up event and a button down event, respectively. 제 1 항에 있어서, 상기 입력부가 키보드와 연결된 경우, 상기 제1 입력 데 이터는 상기 키보드로부터 선택된 키의 다운 또는 업 스캔 코드이며, 상기 제2 입력 데이터는 상기 키 또는 다른 키의 업 또는 다운 스캔 코드인 것을 특징으로 하는 입력 데이터의 자동 입력 감지 방법.The apparatus of claim 1, wherein when the input unit is connected to a keyboard, the first input data is a down or up scan code of a key selected from the keyboard, and the second input data is an up or down scan of the key or another key. Automatic input detection method of the input data, characterized in that the code. 가) 입력부로부터 순차로 입력되는 입력 데이터에 상응하는 스캔 코드(Scan Code)의 값 및 상기 스캔 코드가 발생한 시간 정보를 저장하는 단계;A) storing a value of a scan code corresponding to input data sequentially input from an input unit and time information at which the scan code is generated; 나) 소정 시간 동안 발생되는 상기 시간 정보 및 상기 스캔 코드를 모니터링하여 상기 시간 정보 및 상기 스캔 코드의 변화 패턴을 조회하는 단계; 및B) monitoring the time information and the scan code generated for a predetermined time to inquire a change pattern of the time information and the scan code; And 다) 상기 변화 패턴 중 반복되는 변화 패턴이 소정 시간 동안 특정 회수만큼 반복되는 경우, 상기 입력 부로부터 상기 입력 데이터가 자동으로 입력되는 것으로 판단하는 단계를 포함하는 것을 특징으로 하는 입력 데이터의 자동 입력 감지 방법.C) determining that the input data is automatically input from the input unit when the repeated change pattern among the change patterns is repeated a predetermined number of times for a predetermined time; Way. 제 5 항에 있어서, 상기 입력부로 입력되는 입력 데이터는 상기 입력부와 물리적으로 연결된 키보드 또는 자동 입력 하드웨어 또는 자동 입력 프로그램에 의해 발생되는 것을 특징으로 입력 데이터의 자동 입력 감지 방법.The method of claim 5, wherein the input data input to the input unit is generated by a keyboard or an automatic input hardware or an automatic input program that is physically connected to the input unit. ⅰ) 입력부와 연결된 마우스가 움직이는 동안 상기 마우스의 버튼이 눌려져서 발생된 버튼 다운 이벤트에 상응하는 제1 위치 정보를 저장하고, 상기 눌려진 버튼이 복귀되면서 발생된 버튼 업 이벤트에 상응하는 제2 위치 정보를 저장하는 단계;Iii) storing first location information corresponding to a button down event generated by pressing a button of the mouse while the mouse connected to the input unit is moving, and second location information corresponding to a button up event generated when the pressed button is returned. Storing the; ⅱ) 상기 제1 위치 정보 및 제2 위치 정보를 이용하여 상기 마우스의 이동 거리를 연산하는 단계; 및Ii) calculating a moving distance of the mouse using the first location information and the second location information; And ⅲ) 상기 단계 ⅰ) 및 ⅱ)를 소정 시간 동안 반복 실행하여 상기 연산된 이동 거리가 소정 값 이하로 소정 회수 이상 발생된 경우 상기 제1 및 제2 입력 데이터가 자동 입력 상태임을 감지하는 단계를 포함하는 것을 특징으로 하는 입력 데이터의 자동 입력 감지 방법.Iii) repeatedly performing steps iv) and ii) for a predetermined time and detecting that the first and second input data are in an automatic input state when the calculated movement distance is generated a predetermined number or more below a predetermined value. Automatic input detection method of the input data, characterized in that. X-1) 입력부와 연결된 마우스를 임의로 이동시켜 적어도 2개의 위치 이벤트를 발생시키고 상기 위치 이벤트 각각에 따른 위치 정보 및 시간 정보를 저장하는 단계;X-1) generating at least two location events by randomly moving a mouse connected to the input unit and storing location information and time information according to each of the location events; X-2) 상기 적어도 2개의 위치 이벤트 간의 이동 거리 및 시간 간격을 연산하는 단계;X-2) calculating a movement distance and a time interval between the at least two location events; X-3) 상기 이동 거리가 소정의 픽셀 이상인 경우 상기 시간 간격을 기준값으로 설정하여 저장하는 단계; X-3) storing the time interval as a reference value when the moving distance is equal to or greater than a predetermined pixel; X-4) 상기 단계 X-1) 내지 X-3)를 소정 횟수 반복하여 상기 기준값의 평균 기준 값을 연산하는 단계; X-4) calculating the average reference value of the reference value by repeating steps X-1) to X-3) a predetermined number of times; X-5) 상기 입력부와 연결된 마우스의 위치가 변경되었을 때 발생하는 제1 위치 이동 이벤트에 상응하는 제1 위치 정보 및 제1 시간 정보를 저장하고, 그 후에 발생하는 제2 위치 이동 이벤트에 상응하는 제2 위치 정보 및 제2 시간 정보를 저 장하는 단계;X-5) stores the first position information and the first time information corresponding to the first position movement event that occurs when the position of the mouse connected to the input unit is changed, and corresponds to the second position movement event that occurs after that. Storing second location information and second time information; X-6) 상기 제1 및 제2 위치 정보를 이용하여 상기 마우스의 이동 거리를 연산하고 상기 제1 및 제2 시간 정보를 이용하여 시간 간격을 연산하는 단계; Calculating a moving distance of the mouse using the first and second location information and calculating a time interval using the first and second time information; X-7) 상기 단계 X-6)에서 연산된 상기 이동 거리가 상기 소정 픽셀 이상인 경우, 상기 단계 X-6)의 시간 간격과 상기 평균 기준 값을 비교하는 단계; 및X-7) comparing the time interval of step X-6) with the average reference value when the moving distance calculated in step X-6) is greater than or equal to the predetermined pixel; And X-8) 상기 시간 간격이 상기 평균 기준 값과 상이한 경우, 상기 입력부를 통해 자동 입력되는 상태임을 감지하는 단계를 포함하는 것을 특징으로 입력 데이터의 자동 입력 감지 방법.X-8) if the time interval is different from the average reference value, detecting that the automatic input state through the input unit, characterized in that the automatic input detection method of the input data. 제 7 항 또는 제 8 항에 있어서, 상기 입력부로 입력되는 제1 또는 제2 위치 이동 이벤트는 상기 입력부와 물리적으로 연결된 마우스 또는 자동 입력 하드웨어 또는 자동 입력 프로그램에 의해 발생되는 것을 특징으로 입력 데이터의 자동 입력 감지 방법.The method of claim 7 or 8, wherein the first or second position movement event input to the input unit is generated by a mouse or an automatic input hardware or an automatic input program that is physically connected to the input unit. Input detection method.
KR1020060077204A 2006-08-16 2006-08-16 Method for detecting input data automatically inputting KR100823547B1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020060077204A KR100823547B1 (en) 2006-08-16 2006-08-16 Method for detecting input data automatically inputting
PCT/KR2007/003904 WO2008020710A1 (en) 2006-08-16 2007-08-14 Method for detecting automatically generated input signals and apparatus thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060077204A KR100823547B1 (en) 2006-08-16 2006-08-16 Method for detecting input data automatically inputting

Publications (2)

Publication Number Publication Date
KR20080015623A KR20080015623A (en) 2008-02-20
KR100823547B1 true KR100823547B1 (en) 2008-05-22

Family

ID=39082216

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060077204A KR100823547B1 (en) 2006-08-16 2006-08-16 Method for detecting input data automatically inputting

Country Status (2)

Country Link
KR (1) KR100823547B1 (en)
WO (1) WO2008020710A1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101156760B1 (en) * 2010-10-25 2012-06-14 주식회사 엠게임스튜디오 Apparatus and method for detecting automatic input using scancode
KR101171717B1 (en) 2011-12-28 2012-09-13 (주)네오위즈게임즈 Method and server of preventing automatic program for item auction site of on-line game
KR20200117289A (en) * 2019-04-03 2020-10-14 넷마블 주식회사 Method for detecting macro program and mobile device performing the same

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100976861B1 (en) * 2008-01-21 2010-08-23 주식회사 안철수연구소 Method for detecting automatic input generated by hardware device and apparatus thereof
DE102008015339A1 (en) * 2008-03-20 2009-10-01 Orbster Gmbh Interactive online- game i.e. role-playing game, implementing method, involves tracking positional change of terminal by server and comparing positional change information with threshold value
WO2010107149A1 (en) * 2009-03-19 2010-09-23 Ahnlab., Inc. Method and apparatus for detecting automatic input event generated by hardware device
KR101237161B1 (en) * 2010-08-30 2013-02-25 주식회사 엔씨소프트 Method of detecting unknown bot of online game
KR101272028B1 (en) * 2011-08-18 2013-06-07 정지혜 Communication apparatus for providing hacking information and control method thereof, and system and method thereof comprising the apparatus
KR101279779B1 (en) * 2011-10-20 2013-06-28 어보브반도체 주식회사 Method for sensing proximity of object and apparatus thereof
KR101948123B1 (en) * 2017-01-10 2019-02-14 라인 가부시키가이샤 Method and system for detecting automatic input
KR20220002249A (en) 2019-01-19 2022-01-06 애니브레인, 에스.에이 Systems and methods for preventing fraudulent activity in esports

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08280933A (en) * 1995-04-17 1996-10-29 Sukuuea:Kk Video game apparatus, control method and device therefor and memory cartridge for video game
JP2002320768A (en) 2001-04-26 2002-11-05 Square Co Ltd Game device, game control method, recording medium therefor and computer program
KR20040004319A (en) * 2003-12-19 2004-01-13 윤성일 Computer input signal repeater
KR200409622Y1 (en) 2005-02-21 2006-02-24 이정한 Computer for system auto control installation of input device

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100902740B1 (en) * 2002-06-27 2009-06-15 주식회사 케이티 Apparatus and method for automatic click signal intersion using mouse movement

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08280933A (en) * 1995-04-17 1996-10-29 Sukuuea:Kk Video game apparatus, control method and device therefor and memory cartridge for video game
JP2002320768A (en) 2001-04-26 2002-11-05 Square Co Ltd Game device, game control method, recording medium therefor and computer program
KR20040004319A (en) * 2003-12-19 2004-01-13 윤성일 Computer input signal repeater
KR200409622Y1 (en) 2005-02-21 2006-02-24 이정한 Computer for system auto control installation of input device

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101156760B1 (en) * 2010-10-25 2012-06-14 주식회사 엠게임스튜디오 Apparatus and method for detecting automatic input using scancode
KR101171717B1 (en) 2011-12-28 2012-09-13 (주)네오위즈게임즈 Method and server of preventing automatic program for item auction site of on-line game
WO2013100400A1 (en) * 2011-12-28 2013-07-04 (주)네오위즈게임즈 Method for inhibiting automatic program in an item auction in an online game, and server
US9457280B2 (en) 2011-12-28 2016-10-04 Intellectual Discovery Co., Ltd. Auto program preventing method for auction house for on-line game item and server therefor
KR20200117289A (en) * 2019-04-03 2020-10-14 넷마블 주식회사 Method for detecting macro program and mobile device performing the same
KR102220516B1 (en) * 2019-04-03 2021-02-25 넷마블 주식회사 Method for detecting macro program and mobile device performing the same

Also Published As

Publication number Publication date
KR20080015623A (en) 2008-02-20
WO2008020710A1 (en) 2008-02-21

Similar Documents

Publication Publication Date Title
KR100823547B1 (en) Method for detecting input data automatically inputting
US10834590B2 (en) Method, device, and system of differentiating between a cyber-attacker and a legitimate user
US10860939B2 (en) Application performance analyzer and corresponding method
JP4482795B2 (en) Image processing apparatus, moving object tracking method, moving object tracking program, monitoring apparatus, and game apparatus
US8144780B2 (en) Detecting visual gestural patterns
US20150205957A1 (en) Method, device, and system of differentiating between a legitimate user and a cyber-attacker
US8938395B2 (en) Cursor path vector analysis for detecting click fraud
CN101482784B (en) Motion component dominance factors for motion locking of touch sensor data
CN107422901B (en) Method and system for preventing mistaken touch of touch screen
CN110300327B (en) Game client performance analysis method, device, terminal and storage medium
CN110865753B (en) Application message notification method and device
US8935175B2 (en) Cursor path vector analysis for detecting click fraud
US20090024461A1 (en) Cursor path vector analysis for detecting click fraud
WO2021036455A1 (en) Link-based risk user identification method and device
KR101462608B1 (en) System for detecting unusual symptom based on adaptive bigdata process
CN112801670A (en) Risk assessment method and device for payment operation
Ling et al. Secure fingertip mouse for mobile devices
CN109710111B (en) False touch prevention method and electronic equipment
CN108762568B (en) Broken line repairing method and device for touch screen and household appliance
CN109976576A (en) A kind of method and apparatus of mobile terminal screen false-touch prevention
CN105607832B (en) Information processing method and electronic equipment
Cardaioli et al. Your PIN sounds good! on the feasibility of PIN inference through audio leakage
Sonoda et al. Prediction of failure occurrence time based on system log message pattern learning
CN110703942B (en) Touch signal processing method and device, main chip terminal and touch display panel
CN110087235B (en) Identity authentication method and device, and identity authentication method and device adjustment method and device

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: 20130515

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20140515

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20150515

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20160516

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20180515

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20190515

Year of fee payment: 12