KR20010092079A - The method to modify the executable file which is stored in a storage deivce, while it is running under multi-tasking OS - Google Patents

The method to modify the executable file which is stored in a storage deivce, while it is running under multi-tasking OS Download PDF

Info

Publication number
KR20010092079A
KR20010092079A KR1020000014013A KR20000014013A KR20010092079A KR 20010092079 A KR20010092079 A KR 20010092079A KR 1020000014013 A KR1020000014013 A KR 1020000014013A KR 20000014013 A KR20000014013 A KR 20000014013A KR 20010092079 A KR20010092079 A KR 20010092079A
Authority
KR
South Korea
Prior art keywords
program
copy
original
execution
executing
Prior art date
Application number
KR1020000014013A
Other languages
Korean (ko)
Other versions
KR100370229B1 (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 KR10-2000-0014013A priority Critical patent/KR100370229B1/en
Publication of KR20010092079A publication Critical patent/KR20010092079A/en
Application granted granted Critical
Publication of KR100370229B1 publication Critical patent/KR100370229B1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44594Unloading
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/542Event management; Broadcasting; Multicasting; Notifications

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Storage Device Security (AREA)

Abstract

PURPOSE: A method for modifying a storage by an executed program on a multi-tasking operating system environment is provided to modify an original program by a process of a copy. CONSTITUTION: A copy of an original program is created in a storage(502). The original program requests that the currently used operating system will execute the copy program after that time and is terminated(503). The copy program connects to an update server(504) and judges whether a self-update is necessary or not through a version comparing operation(505). If a self-update is not necessary, the copy program is executed normally. If a self-update is necessary, the original program is updated(507) and an execution of the original file is requested to the currently used operating system(508).

Description

멀티태스킹 운영체제 환경하에서 실행중인 프로그램이 자신이 저장되어 있는 저장영역을 수정하는 방법 {The method to modify the executable file which is stored in a storage deivce, while it is running under multi-tasking OS}The method to modify the executable file which is stored in a storage deivce, while it is running under multi-tasking OS}

본 발명은 멀티태스킹 운영체제 환경하에서 실행중인 프로그램이 자신이 저장되어 있는 저장영역을 수정하는 방법에 관한 것으로, 보다 상세하게는 프로그램이 실행중일 때 저장영역의 해당프로그램에 대한 쓰기(Write)금지 특성을 가진 운영체제상에서 실행중인 프로그램의 복사본을 이용하여 상기 원본 프로그램이 저장된 영역을 수정(이하 자기수정이라 약칭하기로 한다)하는 방법에 관한 것이다.The present invention relates to a method for modifying a storage area in which a program running under a multitasking operating system environment is stored. More particularly, the present invention relates to a write prohibition characteristic of a corresponding program in a storage area when a program is running. The present invention relates to a method of modifying (hereinafter abbreviated as self-modifying) an area in which the original program is stored by using a copy of a program running on an operating system.

과거 90년대 중반까지 MS-DOS 와 같이 싱글태스킹 방식이면서 메모리 관리방식이 단순한 운영체제가 퍼스날컴퓨터에 설치되어 사용되어 오다가 최근에는 마이크로소프트사의 윈도우즈(Windows) 및 유닉스(UNIX)의 사용이 보편화되면서 그와 같은 멀티태스킹 운영체제의 사용이 빠르게 확산되고 있다. 이러한 멀티태스킹 운영체제는 동시에 두 개이상의 작업을 할 수 있게 하는 다중작업(Multitask, 멀티태스크)기능을 지원하고 가상메모리을 사용해 실제메모리의 크기보다 큰 프로그램도 동작시킬 수 있는 기능을 가지고 있다.Until the mid 90's, single-tasking and simple memory management systems such as MS-DOS have been installed and used on personal computers. The use of such multitasking operating systems is spreading rapidly. Such a multitasking operating system supports multitasking (multitask) function that allows two or more tasks to run at the same time, and has the function of operating a program larger than the actual memory size using virtual memory.

MS-DOS상에서는 실행중인 프로그램이 자기수정이 쉽게 이루어진다. 그 이유는 실행중인 프로그램이 자기자신을 수정할 수 있도록 쓰기허가를 운영체제가 제공하기 때문이다. MS-DOS는 프로그램을 실행하기 위해 메모리로 적재할 때 실행프로그램 전체를 적재한 후 실행시키므로 저장장치에 저장되어 있는 해당프로그램이 실행 중에 수정되더라도 실행중인 프로그램의 동작에 영향을 미치지 않기 때문에 쓰기작업이 가능하도록 설계되었다.Under MS-DOS, running programs can easily be self-modified. This is because the operating system provides write permission so that the running program can modify itself. MS-DOS loads and executes the entire program when it is loaded into memory to execute the program. Therefore, even if the corresponding program stored in the storage device is modified during execution, the writing operation is not affected. It is designed to be possible.

도 1에 도시한 바와 같이 MS-DOS를 기반으로 한 응용프로그램들은 필요에 의해 간단하게 자기수정을 가능케하는 특징을 지니고 있다.As shown in FIG. 1, MS-DOS-based applications have a feature that enables simple self-modification as necessary.

상기 도 1에 의한 종래 MS-DOS 기반의 자기수정방법은 사용자에 의해 해당 프로그램의 자기수정요청(101)이 있을 때 해당프로그램을 수정(102)한 후 해당 프로그램을 정상적으로 수행(103)하고, 자기수정요청(101)이 없을 때에는 그냥 해당 프로그램을 정상수행(103)하는 방법에 의하여 간단하게 이루어진다.In the conventional MS-DOS-based self-correction method of FIG. 1, when a self-correction request 101 of a corresponding program is requested by a user, the program is modified 102 and then normally executed 103. When there is no modification request 101, it is simply made by the method of performing a normal program 103.

하지만 최근에 멀티태스킹 운영체제가 확산되면서 이를 기반으로 한 응용프로그램들은 상기와 같은 방법으로는 자기수정이 불가능하다. 그 이유는 운영체제가 실행프로그램을 실행시키기 위하여 메모리로 적재할 때 프로그램전체를 적재하지 않고 해당시점에서 필요한 영역만을 적재하는 동적적재(Dynamic Loading)방식으로 프로그램을 실행시키기 때문이다. 수정이 가능할 경우 그 영향이 동작중인 프로세스(실행중인 프로그램을 프로세스라고 한다)에 미치기 때문에 실행 중인 프로그램에 대하여는 저장영역에 쓰기권한이 금지되어 있다.However, due to the proliferation of multitasking operating systems in recent years, self-modification is not possible with the above-described applications. The reason is that when the operating system loads into the memory to execute the execution program, the program is executed by the dynamic loading method which loads only the necessary area at the point in time without loading the entire program. If a modification is possible, the write access to the storage area is prohibited for the running program because its effect is on the running process (called the process).

도 2는 상기와 같은 멀티태스킹 운영체제하에서의 종래 자기수정방법을 나타내는 플로우 다이어그램으로서, 상기와 같은 운영체제하에서 작동되는 응용프로그램은 자기자신을 갱신할 필요가 있을 것을 대비하여 갱신/수정만을 담당하는 프로그램 A(소위 업데이터 등이 이에 포함된다)와 실제로 동작을 수행할 프로그램 B로 분리구성되어 있다. 상기 구성에 의하면 사용자에 의해 자기수정요청이 있는 경우 프로그램 A에 의해 프로그램 B를 수정한 후 프로그램 B를 실행하는 방식을 취하나 이 경우라도 A자신이 갱신될 필요가 있을 경우에는 이렇다할 수정방법이 마련되어 있지 않으므로 문제가 있다.2 is a flow diagram showing a conventional self-modification method under the multitasking operating system as described above, in which an application program operating under the above-mentioned operating system needs to update itself and is only responsible for updating / modifying program A ( So-called updater, etc.) and program B to actually perform the operation. According to the above configuration, when a user requests a self-correction, the program A is modified by program A, and then program B is executed. However, even in this case, when A needs to be updated, there is no corrective method. So there is a problem.

특히 안티바이러스 프로그램(Anti-Virus Program 이하 백신 또는 백신 프로그램)의 경우 자기자신이 바이러스에 감염되어 있을 가능성에 대비 자기자신의 감염여부를 진단하고 치료시 자기수정을 할 수 있는 기능이 구비되어 있어야 하는데 종래의 방법을 응용한다면 백신프로그램을 정상적인 백신동작을 수행하는 프로그램과 그 프로그램을 진단/치료해주는 프로그램으로 분리하고 진단/치료해주는 프로그램을 먼저 동작시키고 이 프로그램이 백신동작을 하는 프로그램을 진단/치료한후 실행시키면 된다. 그러나 진단/치료해주는 프로그램자체의 바이러스 감염에 대한 대책을 다시 세워야하는 문제점이 있어 백신프로그램들은 이 같은 문제를 아직까지도 해결하지 못하고 있는 실정이다.In particular, anti-virus programs (Vaccine or Vaccine program below) should be equipped with functions to diagnose their own infection and to correct themselves during treatment in preparation for the possibility of being infected with a virus. If the conventional method is applied, the vaccine program is divided into a program that performs a normal vaccine operation and a program that diagnoses and treats the program, and then operates a program that diagnoses and treats the program first. Then run it. However, there is a problem that the countermeasures against the virus infection of the program that diagnoses / cures itself have to be reestablished, and thus the vaccine programs have not solved the problem yet.

이와 같이 아직까지 이렇다 할 방법이 개발되어 있지 않은 현 실정 하에서 상기와 같은 문제해결을 위하여는 실행중인 프로그램 자체에 자기수정이 가능한 새로운 프로그램수정방법의 개발이 절실하게 요구된다 할 것이다.As such, in order to solve such problems under the current situation, which is not yet developed, a new program modification method capable of self-correction to the running program itself is urgently required.

본 발명자는 멀티태스킹 운영체제 하에서 상기한 종래 프로그램이 지니는 한계를 극복하기 위한 방안으로 복사본의 프로세스를 이용한 원본 프로그램 수정방식을 제안한다.The present inventor proposes a method of modifying an original program using a copy process as a way to overcome the limitations of the above-described conventional program under a multitasking operating system.

본 발명의 목적은 복사본의 프로세스로 원본 프로그램의 프로그램내용을 수정하여 운영체제에서 오는 제한을 극복하는 방법을 제공하는데 있으며,An object of the present invention is to provide a method of overcoming the limitations coming from the operating system by modifying the program contents of the original program in the process of copying,

본 발명의 또 다른 목적으로는 이 방법으로 백신프로그램 자체에 대한 바이러스의 진단 및 치료를 가능하게 하고자 하는데 있다.Another object of the present invention is to enable the diagnosis and treatment of viruses for the vaccine program itself by this method.

또한 본 발명의 또 다른 목적으로는 원본 프로그램의 수정이 있은 후에 상기 복사본을 자동 삭제함으로써 이후에도 안전한 시스템 환경을 계속 유지하고자 하는 데에 있다.In addition, another object of the present invention is to maintain a safe system environment even after the automatic deletion of the copy after the modification of the original program.

도 1은 싱글태스킹 운영체제하에서의 종래 자기수정방법을 나타내는 플로우 다이어그램.1 is a flow diagram illustrating a conventional self-correction method under a single tasking operating system.

도 2는 멀티태스킹 운영체제하에서의 종래 자기수정방법을 나타내는 플로우 다이어그램.2 is a flow diagram illustrating a conventional self-correction method under a multitasking operating system.

도 3은 멀티태스킹 운영체제하에서의 '프로그램공유규칙'에 대한 설명도.3 is an explanatory diagram of a 'program sharing rule' under a multitasking operating system.

도 4는 본 발명의 방법을 설명하는 절차 흐름도.4 is a process flow diagram illustrating a method of the present invention.

도 5는 본 발명에 의한 자기수정에 의한 자체 업데이트 방법을 나타내는 플로우 다이어그램.5 is a flow diagram showing a self-update method by self-correction according to the present invention.

도 6은 본 발명에 의한 백신 프로그램 자체진단 및 치료방법을 나타내는 설명도.Figure 6 is an explanatory diagram showing the self-diagnosis and treatment method of the vaccine program according to the present invention.

도 7은 본 발명에 의한 컴퓨터바이러스에 대한 백신프로그램의 자체진단 및 치료과정을 나타내는 플로우 다이어그램.7 is a flow diagram showing the self-diagnosis and treatment of the vaccine program against a computer virus according to the present invention.

도 8은 본 발명에 있어 해당 프로그램의 실행종료 후 삭제설정기능이 없는 운영체제에 있어서의 바이러스 진단 및 치료과정을 나타내는 플로우 다이어그램.8 is a flow diagram showing a virus diagnosis and treatment process in the operating system without the delete setting function after the execution of the program in accordance with the present invention.

윈도우즈(windows), 유닉스(unix) 등을 포함한 멀티태스킹(Multitasking)환경을 지원하는 운영체제에 있어서는 이른바 '프로그램공유규칙'이 적용되고 있다. 상기 프로그램공유규칙이라 함은 원본 프로그램을 기반으로 생성된 자신의 프로세스는 모태인 원본 프로그램에 대하여 쓰기(Write)에 대한 액세스권한이 주어지지 않는 것을 의미한다.So-called "program sharing rules" are applied to operating systems that support multitasking environments, including Windows and Unix. The program sharing rule means that the own process created based on the original program is not given write access to the original program.

따라서 상기 운영체제하에서는 자신의 프로그램에 대하여 읽기(Read)권한만이 부여되고 쓰기권한이 주어지지 않으므로 인해 자신의 프로그램에 대한 편집 및 수정 등의 작업이 불가능하게 된다.Accordingly, under the operating system, only read permission is given to the program and no write permission is given to the program, thereby making it impossible to edit or modify the program.

도 3은 소위 멀티태스킹 운영체제하에서의 '프로그램공유규칙'을 보여주고있다.3 shows a program sharing rule under a so-called multitasking operating system.

운영체제는 사용자가 실행을 위해 저장장치내의 하나의 프로그램을 선택(마우스를 이용하여 클릭하는 행위 등을 포함)을 하게 되면 저장장치로부터 해당 프로그램을 메모리영역으로 읽어들여 메모리 영역에 해당 프로그램의 프로세스를 생성시키고 이를 실행시키는 인터페이스 구조를 가지고 있다. 상기 도면에서 보면 저장장치(301)에 저장되어 원본 프로그램(302)을 사용자가 선택하면 메모리영역(303)에 원본 프로그램의 프로세스(304)가 생성된 후 실행이 이루어진다(a). 하지만 상기 프로세스(304)는 자신의 원본 프로그램에 대하여는 쓰기권한이 주어지지 않으므로 편집, 수정 등이 불가능하게 된다(b).When the user selects a program in the storage device (including clicking with a mouse) for execution, the operating system reads the program from the storage device into the memory area and creates a process of the program in the memory area. It has an interface structure to make it and execute it. In the drawing, when the user selects the original program 302 stored in the storage device 301, the process 304 of the original program is generated in the memory area 303 and then executed. However, since the process 304 is not given write permission for its original program, editing, modification, etc. are impossible (b).

본 발명은 멀티태스킹 운영체제 환경하에서 실행중인 프로그램이 자신이 저장되어 있는 저장영역을 수정하는 방법에 관한 것으로서,The present invention relates to a method for modifying a storage area in which a program running under a multitasking operating system environment is stored.

(1) 원본 프로그램을 실행시킨 후 상기 원본의 복사본 프로그램을 생성시키는 단계와,(1) executing the original program and creating a copy program of the original;

(2) 상기 단계에 의해 생성한 복사본 프로그램을 실행시킨 후 실행중인 원본 프로그램을 종료하는 단계를 포함한다.(2) executing the copy program generated by the above step and terminating the original program being executed.

상기 (2)의 단계에 사용된 용어 중 '복사본 프로그램의 실행'에는 원본 프로그램에 대한 쓰기(자기수정)가 포함되는 의미로 사용된다. 이하 상기와 같은 의미로 사용하기로 한다.The term 'execution of the copy program' of the term used in the step (2) is used to mean writing (self-correction) to the original program. Hereinafter will be used in the same sense as above.

상기 과정을 통하여 실행이 되는 복사본 프로그램은 원본 프로그램에 대하여쓰기허가가 주어지므로 자기수정이 가능하게 된다. 따라서 상기 본 발명이 적용가능한 프로그램은 프로그램의 성격상 자기수정의 필요성, 즉 쓰기 권한의 필요성이 있는 모든 프로그램을 포함함은 당업자에게 있어 자명하다.The copy program executed through the above process is given a write permission for the original program, so that self-modification is possible. Therefore, it will be apparent to those skilled in the art that the program to which the present invention is applicable includes all programs having the necessity of self-modification, that is, the need for write permission.

도 4는 상기 본 발명의 방법을 설명하는 절차 흐름도로서, 원본 프로그램의 실행(401)은 통상적으로 키보드조작에 의하거나 마우스 등을 이용한 클릭 이벤트로서 이루어지며 상기 원본 프로그램의 복사본 프로그램을 저장장치에 생성하는 단계(402)를 포함한다. 상기에서 저장장치는 하드디스크, 플로피 디스크, 롬 등의 마그네틱 저장매체 또는 씨디, 디브이디 등의 광학적 판독 및 기록장치를 포함한 읽고 쓰기가 가능한 저장매체이다. 상기 복사본 프로그램은 상기 저장장치의 소정영역에 할당되어 저장된다.4 is a flowchart illustrating the method of the present invention, wherein execution of the original program 401 is typically performed by a keyboard operation or as a click event using a mouse and generates a copy program of the original program in a storage device. And step 402. The storage device may be a read / write storage medium including a magnetic storage medium such as a hard disk, a floppy disk, a ROM, or an optical reading and recording device such as a CD or a DVD. The copy program is allocated and stored in a predetermined area of the storage device.

이때 복사본 프로그램은 해당 운영체제에 의해 원본 프로그램과는 별개 프로그램으로 인식되어지도록 프로그램의 이름을 원본과 다르게 지정하는 등의 조치를 취할 수 있다. 상기 조치로는 구체적으로는 복사본 프로그램의 실행요청시 복사본임을 알리는 인수를 전달하는 방식에 의하여 이루어지는 것이 바람직하다.In this case, the copy program may take measures such as designating a program name differently from the original so that the copy program is recognized as a separate program from the original program. Specifically, the measure is preferably performed by passing an argument indicating that the copy program is a copy.

본 발명은 상기 복사본 프로그램의 생성단계(402)를 거친 후 복사본 프로그램의 실행(403)은 통상적인 프로그램의 실행과 같이 메모리에서 이루어지며 이 후 원본 프로그램을 종료(404)하고 상기 복사본 프로그램에 의한 원본 프로그램 쓰기를 시행하는 단계를 포함한다.In the present invention, after the step 402 of generating the copy program, the execution of the copy program 403 is performed in the memory as in the execution of a normal program, and then the original program is terminated (404) and the original by the copy program. Implementing program writes.

또한 상기 본 발명은 효율적인 컴퓨팅 환경을 유지하기 위해 복사본 프로그램의 실행종료와 함께 스스로 저장장치에서 삭제되도록 하는 단계를 추가하는 것이 바람직하다.In addition, the present invention preferably adds a step of deleting from the storage device itself with the termination of the copy program in order to maintain an efficient computing environment.

또한 본 발명은 멀티태스킹 운영체제하에서 프로그램의 자기수정에 의한 자체 업데이트 방법을 포함한다. 상기 자체 업데이트 방법은,The present invention also includes a self-update method by self-modification of a program under a multitasking operating system. The self-update method,

(1) 원본 프로그램을 실행시킨 후 상기 원본의 복사본 프로그램을 생성시키는 단계와,(1) executing the original program and creating a copy program of the original;

(2) 상기 단계에 의해 생성한 복사본 프로그램을 실행시킨 후 원본 프로그램을 종료하는 단계 및,(2) terminating the original program after executing the copy program generated by the above step;

(3) 상기 복사본 프로그램의 실행으로 원본 프로그램을 수정함으로써 원본을 업데이트시킨 후 원본 프로그램을 실행하는 단계를 포함한다.(3) updating the original by modifying the original program by executing the copy program, and then executing the original program.

상기에서 (1) 및 (2)의 단계는 전술한 바와 같으며, (3)의 원본 프로그램의 실행단계는 (2)의 단계를 거쳐 실행되는 복사본 프로그램에 의하여 원본 프로그램을 업데이트한 후 복사본 프로그램은 종료하면서 이 후 업데이트되어진 원본 프로그램이 실행되는 단계를 포함한다.The steps of (1) and (2) are as described above, and the step of executing the original program of (3) is to update the original program by the copy program executed through the step of (2), and then the copy program is At the end of the process, the updated original program is executed.

또한 상기 (3)의 단계는 인터넷을 통한 최신 업데이트 프로그램으로의 수정단계를 포함하는 것이 바람직하다. 상기의 인터넷을 통한 최신 업데이트 프로그램로의 수정은 인터넷 상에서 해당 프로그램의 공급업체가 제공하는 웹서버에 접속함으로써 현재까지 제공되는 업데이트 프로그램과 현재 사용자가 사용하는 프로그램과의 버전을 스스로 체크하여 가장 최신 버전의 프로그램으로 수정하는 과정을 포함한다. 상기의 경우 사용자는 원본 프로그램을 실행하는 하나의 이벤트만으로도 자동으로 최신 버전의 프로그램을 구비하게 되므로 매우 효과적이다.In addition, the step (3) preferably includes a modification to the latest update program via the Internet. In order to update to the latest update program through the Internet, the latest version is checked by checking the version of the update program provided up to now and the program currently used by the user by accessing a web server provided by the supplier of the program on the Internet. Including the process of modifying the program. In the above case, the user is automatically equipped with the latest version of the program even with a single event of executing the original program, which is very effective.

도 5는 상기 프로그램의 자기수정에 의한 자체 업데이트 방법을 나타내는 플로우 다이어그램을 나타낸다.5 is a flow diagram illustrating a self-update method by self-correction of the program.

프로그램 사용자가 원본이 되는 프로그램을 시작하면 상기 프로그램은 복사본이 아닌 원본에 해당(501단계에서 복사본 여부를 판단한 결과)하므로 저장장치에 상기 원본에 대한 복사본 프로그램을 생성(502)한다. 원본 프로그램은 이후 상기 복사본 프로그램에 대하여 현재 사용 중인 운영체제가 이를 실행시킬 것을 요구(503)하면서 원본 프로그램 자신은 종료하는 과정을 포함하는 것이 바람직하다.When the program user starts the original program, the program corresponds to the original rather than the copy (result of determining whether the program is a copy in step 501), and thus creates a copy program for the original in the storage device (502). The original program then preferably includes the process of terminating the original program itself while requesting (503) the operating system currently in use for the copy program to execute it.

상기 단계에서 운영체제에 대하여 복사본 프로그램의 실행 요구시 피호출프로그램이 복사본임을 알리는 인수를 함께 전달하는 것이 바람직하다. 이때 인수에는 복사본의 프로그램 이름을 원본의 프로그램 이름과 다르게 구성하는 정보를 포함하는 것이 바람직하다.In this step, when the execution request of the copy program is requested to the operating system, it is preferable to pass an argument indicating that the called program is a copy. In this case, it is preferable that the argument includes information that forms the program name of the copy different from the original program name.

상기 단계에 의하여 복사본 프로그램의 실행요청이 있는 경우 상기 복사본 프로그램은 원본 프로그램과 동일한 프로세스를 수행하므로 원본 프로그램의 초기 실행단계와 동일한 과정을 겪게 되지만, 복사본에 해당하므로(501에서 판단) 이후 업데이트서버에 접속(504)하여 버전 비교작업(505)을 통해 자기수정 즉 자체업데이트가 필요한지 판단한다(505). PC에 설치되어 있는 원본의 버전과 서버에 등록된동일파일의 버전을 비교하여 서버에 있는 파일이 최신의 버전이면 자기수정이 필요한 경우이다. 상기 업데이트서버는 저장장치에 최신버전의 파일을 보관하고 네트웍상의 원격지 PC 또는 상기 저장장치를 판독할수 있는 PC의 요청을 받아 최신버전의 파일을 공급할 수 있는 네트웍상의 시스템 또는 저장장치를 포함한다. 상기 단계에서 자기수정의 필요가 없다고 판단되는 경우에는 정상적으로 자신의 프로그램을 수행하면 되고, 이와는 달리 자기수정의 필요가 있는 경우에는 원본 프로그램을 갱신(업데이트)(507)하고, 이 후 원본의 실행을 현재의 운영체제에 요구(508)하며 자신의 복사본 프로그램은 종료하도록 하는 과정을 포함하는 것이 바람직하다.If there is a request to execute the copy program by the above step, the copy program performs the same process as the original program, and thus undergoes the same process as the initial execution step of the original program. In operation 504, the self-correction operation may be determined through a version comparison operation 505. If the file on the server is up-to-date by comparing the version of the original file installed on the PC with the version of the same file registered on the server, self-correction is necessary. The update server includes a system or a storage device on a network that stores the latest version of the file in a storage device and can supply the latest version of the file upon request from a remote PC on the network or a PC that can read the storage device. If it is determined that there is no need for self-correction at this stage, the program can be executed normally. If the self-correction is necessary, the original program is updated (updated) (507). It is desirable to include the process of requesting the current operating system 508 and causing its copy program to terminate.

상기 원본의 실행요구 단계(508)에서 원본을 실행시킬때 피호출프로그램이 원본임을 알리는 인수를 포함하는 것이 바람직하다.When executing the original in the execution request step 508 of the original, it is preferable to include an argument indicating that the called program is the original.

또한 복사본의 실행종료시 저장장치로부터 삭제되도록 프로그램 자체에 설정하여 두는 것이 바람직하다. 이는 복사본의 실행이 종료하면 자동으로 운영체제에 의하여 삭제되도록 설정하는 것이 가능하며, 만일 상기와 같이 복사본 프로그램의 삭제가 불가능한 운영체제라 하더라도 사용자에 의한 초기실행은 항상 원본에서 출발하기 때문에 사용자 측면에서는 항상 최신버전으로 동작되는 것으로 보이게 된다. 또한 상기와 같이 복사본 프로그램의 실행종료 후 복사본 프로그램에 대한 삭제설정이 불가능한 경우에는 원본 프로그램의 실행요구시 복사본을 삭제토록 하는 인수를 함께 전달하는 방법에 의하여 삭제하는 것이 가능하다.Also, it is desirable to set the program itself so that the copy is deleted from the storage device when the execution of the copy ends. It can be set to be automatically deleted by the operating system when execution of the copy is finished. Even if the operating system cannot delete the copy program as described above, the initial execution by the user always starts from the original, so it is always up to date. It seems to work with the version. In addition, if the deletion program for the copy program is not possible after the execution of the copy program as described above, it is possible to delete the copy program by passing an argument to delete the copy program.

또한 본 발명에 의한 멀티태스킹 운영체제 환경하에서 실행중인 프로그램이자신이 저장되어 있는 저장영역을 수정하는 방법에는 컴퓨터바이러스에 대한 백신프로그램의 자체진단 및 치료방법을 포함한다.In addition, a method for modifying a storage area in which a program running in a multitasking operating system environment according to the present invention is stored includes a method for self-diagnosis and treatment of a vaccine program against a computer virus.

컴퓨터 바이러스란 자기복제, 감염, 파괴작업을 수행하는 프로그램으로 일반프로그램과 마찬가지로 컴퓨터의 기억장소에서 실행이 되어진다. 컴퓨터 바이러스는 자기자신과 동일한 바이러스를 계속 증식시켜 나가며 연쇄적으로 다른 시스템에 전염을 일으키고 경우에 따라서는 디스켓을 포맷시키거나 원본프로그램에 손상을 입혀 시스템을 파괴하는 행위를 한다.A computer virus is a program that performs self-replicating, infecting, and destroying operations. It is executed in the memory of a computer like a general program. Computer viruses continue to multiply the same virus as themselves, infecting other systems in series, and sometimes destroying the system by formatting diskettes or damaging the original program.

상기와 같은 컴퓨터 바이러스는 여러가지 기준에 의하여 분류되어질 수 있지만 그 중 동작원리에 따라 기억장소에 상주하는 형태와 상주하지 않는 형태로 분류할 수 있다. 비상주형 바이러스의 경우 감염된 프로그램이 실행이 될때 자신의 코드가 먼저 실행되게 하여 다른 프로그램을 감염시키지만 상주형 바이러스의 경우에는 감염된 프로그램이 한번 실행된 후 기억장소에 상주함으로써 이후에 실행되는 프로그램들을 계속하여 감염시켜 나간다.Such a computer virus may be classified according to various criteria, but may be classified into a form resident in a storage location and a form not resident according to an operation principle. In the case of non-resident viruses, when an infected program is executed, its code is executed first to infect other programs. However, in the case of a resident virus, the infected program is executed once and then resides in a memory to continue the programs that are subsequently executed. Infect it.

백신 프로그램은 컴퓨터바이러스를 예방, 진단 또는 치료할 수 있는 프로그램으로 이들 프로그램도 컴퓨터 기억장소로 불려 읽혀져 실행이 되는 점에서 일반 프로그램과 다를 것이 없다. 따라서 비상주형 바이러스의 경우 감염된 프로그램이 실행되지만 않으면 이를 검색하는 백신프로그램을 감염시키는 염려는 없으나, 기억장소에 이미 바이러스가 상주하고 있는 경우에는 이를 치료하기 위하여 실행되는 백신프로그램도 바이러스에 감염될 수 있다.Vaccine programs are programs that can prevent, diagnose, or treat computer viruses. These programs are also called computer storage and are read and executed. Therefore, in case of non-resident virus, the infected program is not executed, but there is no concern about infecting the vaccine program that detects it. However, if the virus already resides in the memory, the vaccine program that is executed to cure the virus may also be infected. .

백신프로그램이 바이러스에 의해 감염된 경우 스스로를 진단하고 치료하여야하지만 이미 자신의 프로그램이 실행중인 경우에는 원본프로그램에 대하여 읽기권한만 주어지고 쓰기권한이 주어지지 아니하므로 바이러스 진단은 가능하나 치료는 불가능하게 된다.If the vaccine program is infected with a virus, it should diagnose and repair itself, but if its own program is already running, the virus can be diagnosed but not cured because only read and write rights are given to the original program. .

본 발명은 컴퓨터바이러스에 대한 백신프로그램의 자체진단 및 치료방법으로서 다음과 같은 단계를 포함한다.The present invention includes the following steps as a method for self-diagnosis and treatment of a vaccine program against computer viruses.

(1) 원본 백신프로그램을 실행시킨 후 상기 원본의 복사본 프로그램을 생성시키는 단계와,(1) running the original antivirus program and creating a copy program of the original;

(2) 상기 단계에 의해 생성한 복사본 프로그램을 실행시킨 후 원본 백신프로그램을 종료하는 단계.(2) terminating the original antivirus program after executing the copy program generated by the above step.

상기 단계에 의하여 복사본 프로그램은 원본 백신프로그램에 대하여 쓰기권한이 인정되므로 원본 백신프로그램을 진단 및 치료하는 것이 가능하게 된다.By the above steps, since the copy program is authorized to write to the original vaccine program, it is possible to diagnose and treat the original vaccine program.

원본 백신프로그램의 실행은 통상적으로 키보드조작에 의하거나 마우스 등을 이용한 클릭 이벤트로서 이루어지며 상기 원본 백신프로그램의 복사본 프로그램을 저장장치에 생성하는 단계를 포함한다.Execution of the original vaccine program is usually performed by a keyboard operation or a click event using a mouse and the like, and includes generating a copy program of the original vaccine program in a storage device.

이때 복사본 프로그램은 원본 백신프로그램과는 별개 프로그램으로 인식되어 동작되도록 하는 인수를 전달받을 수 있다.In this case, the copy program may receive an argument that is recognized and operated as a separate program from the original vaccine program.

본 발명은 상기 복사본 프로그램의 생성단계를 거친 후 복사본 프로그램의 실행은 통상적인 프로그램의 실행과 같이 메모리에서 이루어지며 이 후 원본 백신프로그램을 종료하고 상기 복사본 프로그램에 의한 원본 백신프로그램을 진단 및 치료하는 단계를 포함한다.According to the present invention, after the step of generating the copy program, the execution of the copy program is performed in the memory as in the execution of a conventional program. Then, the step of terminating the original vaccine program and diagnosing and treating the original vaccine program by the copy program is performed. It includes.

또한 본 발명은 상기 복사본 프로그램을 프로그램의 실행종료와 함께 스스로 저장장치에서 삭제하도록 하는 단계를 더 포함하는 것이 바람직하다. 상기 복사본 프로그램의 경우 원본 백신프로그램으로부터 유래된 '복사본'에 불과하지만 이 역시 저장장치의 특정영역에 저장되어 있는 프로그램으로서 바이러스에 감염되어 질 수 있음은 당연하다. 이러한 이유로 프로그램의 종료와 함께 복사본 프로그램을 저장장치에서 흔적도 없이 사라지게 함으로써 깨끗한 컴퓨팅 환경을 유지하는 것이 바람직하다.In addition, the present invention preferably further comprises the step of allowing the copy program to be deleted from the storage device itself with the termination of the program execution. The copy program is only a 'copy' derived from the original antivirus program, but this is also a program stored in a specific area of the storage device and may be infected with a virus. For this reason, it is desirable to maintain a clean computing environment by leaving the copy program unattended from storage with the termination of the program.

도 6은 본 발명의 백신 프로그램 자체진단 및 치료방법을 도식화한 것으로서,Figure 6 is a schematic of the vaccine program self-diagnosis and treatment method of the present invention,

저장장치(601) 상의 특정영역에 위치한 원본이 되는 백신프로그램(603)과 상기 백신프로그램이 메모리 영역(605)에서 실행되는 프로세스(이하 'A 프로세스'라고 칭함)(607) 및 상기 원본 백신프로그램의 복사본 프로그램(이하 'B 프로세스'라고 칭함)(609)의 실행관계를 보여주고 있다.An original vaccine program 603 located in a specific area on the storage device 601 and a process (hereinafter, referred to as 'A process') 607 which is executed in the memory area 605 and the original vaccine program The execution relationship of the copy program (hereinafter referred to as 'B process') 609 is shown.

상기 그림에서와 같이 바이러스에 감염된 원본 백신프로그램(바이러스는 도면상에 'V'자로 표시하였다)을 실행하면 먼저 메모리영역에 상주하는 바이러스가 있는지 확인한 후 존재하면 이를 제거한다. 그리고 메모리영역에서 A 프로세스가 형성되어 실행됨(a단계)과 동시에 메모리영역 및 선택된 드라이브내의 내용을 검색하여 바이러스 감염여부를 진단하고 치료하게 된다. 이때 A 프로세스는 자신의 프로그램에 대하여 '프로그램공유규칙'에 의하여 쓰기 권한이 없다. 따라서 A 프로세스는 바이러스에 감염된 원본 백신프로그램을 치료할 수 없게 된다. 이때 원본 백신프로그램의 복사본 프로그램을 저장장치에 생성하여(b단계) 상기 복사본 프로그램을 메모리영역으로 올려 실행시킴(c단계)과 동시에 A 프로세스를 종료(d단계)하면 B 프로세스는 원본인 백신프로그램과는 쓰기권한이 부여되므로 당해 백신프로그램의 바이러스 진단 및 치료가 가능하게 된다(e단계).As shown in the figure above, if the original vaccine program (virus is indicated by the letter 'V' in the drawing) infected with a virus, first check whether there is a virus residing in the memory area and then remove it if it exists. A process is formed and executed in the memory area (step a), and at the same time, the memory area and the contents of the selected drive are searched to diagnose and treat virus infection. At this time, process A does not have the right to write the program according to the 'program sharing rule'. As a result, process A cannot cure the original vaccine program infected with the virus. At this time, a copy program of the original antivirus program is created in the storage device (step b), the copy program is loaded into the memory area and executed (step c), and the process A is terminated (step d). Since write permission is granted, virus diagnosis and treatment of the vaccine program is possible (step e).

도 7은 상기 본 발명을 이용하여 컴퓨터바이러스에 대한 백신프로그램의 자체진단 및 치료과정을 설명하기 위한 플로우 다이어그램으로서,7 is a flow diagram illustrating a self-diagnosis and treatment process of a vaccine program against a computer virus using the present invention.

프로그램 사용자가 원본인 백신프로그램을 시작하면 상기 프로그램은 복사본이 아닌 원본에 해당(701단계에서 원본여부 판단)하므로 실행과 함께 메모리영역을 진단 및 치료(703)하고, 저장장치에 상기 원본에 대한 복사본 프로그램을 생성(705)한다. 원본 백신프로그램은 이후 상기 복사본 프로그램에 대하여 현재 사용 중인 운영체제가 이를 실행시킬 것을 요구(707)하면서 원본 프로그램 자신은 종료하는 과정을 포함하는 것이 바람직하다.When the program user starts the original antivirus program, the program corresponds to the original rather than the copy (determining whether the original is in step 701). Therefore, the program is diagnosed and cleaned with the execution (703), and the copy of the original is stored in the storage device. Generate a program (705). The original antivirus program then includes the process of terminating the original program itself while requesting (707) the operating system currently in use for the copy program.

상기 단계에서 복사본 생성시에는 복사본의 프로그램이름을 원본의 프로그램이름과 다르게 구성하는 것이 바람직하다. 그리고 운영체제에 대하여 복사본 프로그램의 실행 요구시 피호출프로그램이 복사본임을 알리는 인수를 함께 전달하고 또한 복사본의 실행종료 후에는 저장장치에서 삭제되도록 설정하여 두는 것이 바람직하다.When creating a copy in the above step, it is preferable to configure the program name of the copy different from the original program name. When the copy program is requested to be executed to the operating system, it is desirable to pass an argument indicating that the called program is a copy and to delete the copy from the storage device after the copy is finished.

상기 단계에 의하여 복사본 프로그램의 실행요청이 있는 경우 상기 복사본 프로그램은 원본 프로그램과 동일한 프로세스를 수행하므로 원본 프로그램의 초기실행단계와 동일한 과정을 겪게 되지만, 복사본에 해당하므로(701단계에서 판단) 이후 원본 프로그램을 진단 및 치료(709)할 수 있게 된다. 복사본 프로그램에 의한 원본 프로그램의 진단 및 치료가 이루어진 후에 복사본 프로그램은 백신고유의 정상적인 프로그램으로서 동작하며 프로그램 종료시 상기 복사본 프로그램은 저장장치로부터 삭제되어진다.If there is a request to execute the copy program according to the above step, the copy program performs the same process as the original program, and thus undergoes the same process as the initial execution step of the original program. It is possible to diagnose and treat (709). After the diagnosis and treatment of the original program by the copy program is performed, the copy program operates as a normal vaccine-specific program, and at the end of the program, the copy program is deleted from the storage device.

상기 백신프로그램의 자체진단 및 치료방법에는 도 5에 도시한 프로그램 업데이트과정에서와는 달리 원본의 수정(바이러스의 치료)이 있은 후 원본 실행의 요청단계를 필요로 하는 것은 아니다. 그 이유는 상술한 업데이트과정은 사용자의 요구에 의한 실행시점에서 항상 최신의 프로그램이 동작될 것을 요하는 반면에 백신프로그램의 자체 진단 및 치료과정은 "프로그램의 동작과 무관한" 악성프로그램인 바이러스의 제거 후에도 프로그램의 동작에는 영향을 주지 않으므로 원본에 대한 재호출 없이도 복사본의 정상수행영역을 동작시키면 충분하기 때문이다.The self-diagnosis and treatment method of the vaccine program does not require a request step of original execution after the original modification (treatment of a virus) unlike the program update process shown in FIG. The reason is that the above-mentioned update process always requires the latest program to be run at the request of the user, while the self-diagnosis and repair process of the vaccine program is performed by the virus, which is "independent of the operation of the program". After removal, it does not affect the operation of the program, so it is enough to operate the normal execution area of the copy without recalling the original.

상기에서 '프로그램의 동작과 무관한'의 의미는 바이러스들의 감염동작은 초기 실행시 자신이 먼저 동작되도록 실행흐름을 바꾸어 놓고, 해당 프로그램에 달라붙기 때문에 바이러스 부분을 제거하고 원래의 실행흐름으로 되돌리기만 하면 되고 이때 정상적으로 수행하는 영역자체가 변형되지 않는다는 의미로 사용된다.The meaning of 'not related to the operation of the program' in the above means that the virus's infection action changes its execution flow so that it is operated first at the time of initial execution, and because it sticks to the corresponding program, it removes the virus part and returns to the original execution flow. In this case, it is used to mean that the area itself normally does not deform.

앞서 설명한 바와 같이 운영체제에 따라서는 프로그램의 실행종료 후 삭제설정기능이 없는 경우도 있게 된다. 이러한 경우 별도로 원본에 복사본 삭제기능을 부여하여야 하는데 이러한 기능은 바이러스 진단 및 치료 프로그램의 전체 프로그램 수행과정이 종료된 후에 이루어져야 한다.As described above, depending on the operating system, there is a case where there is no delete setting function after the execution of the program. In this case, the copy deletion function should be given to the original. This function should be performed after the entire program execution of the virus diagnosis and treatment program is completed.

도 8은 본 발명의 또 다른 실시예로서 해당 프로그램의 실행종료 후 삭제설정기능이 없는 운영체제에 있어서의 바이러스 진단 및 치료과정을 보여주고 있다.FIG. 8 illustrates a virus diagnosis and treatment process in an operating system without a deletion setting function after termination of the program as another embodiment of the present invention.

원본프로그램의 초기 실행과정은 이미 앞에서 설명한 바와 동일하며 복사본이 아닌 원본 프로그램이므로 복사본 삭제요청(802)단계에서 "아니오"의 절차를 밟게 된다. 그런 다음 복사본 프로그램을 저장장치의 소정영역에 생성(803)하고, 복사본의 실행을 요청(804)하고, 원본프로그램 자신은 종료하는 단계는 앞에서와 동일하다. 다만 상기 복사본 실행의 요청단계에서 프로그램 종료 후의 삭제설정이 불가능하므로 피프로그램의 호출시 복사본임을 알리는 인수전달만이 가능하다는 차이가 있다.The initial execution process of the original program is already the same as described above, and since the original program is not a copy, a process of "no" is performed at the request for deleting a copy (802). Then, the steps of creating a copy program in a predetermined area of the storage device (803), requesting execution of the copy (804), and terminating the original program itself are the same as before. However, since the deletion setting after the end of the program is impossible in the request step of executing the copy, only the argument passing that informs the copy is possible when the program is called.

원본 프로그램의 종료 후 실행되는 프로그램은 복사본에 해당(801)하므로 원본 백신프로그램을 진단 및 치료(805)하고, 상기 복사본 프로그램이 정상적으로 수행된 후에 원본의 실행을 요청(806)하고, 피호출프로그램이 원본프로그램임을 알리는 인수와 함께 복사본 삭제요청 인수를 함께 운영체제에 전달한다.The program executed after the termination of the original program corresponds to the copy (801), so that the original vaccine program is diagnosed and repaired (805), and after the copy program is normally executed, the request for execution of the original (806) is performed. Pass the copy delete request argument to the operating system along with an argument indicating that it is the original program.

상기 과정을 거친 후 실행되는 프로그램은 원본 백신프로그램이며 복사본 프로그램이 아니므로 복사본 삭제요청(802)에 따라 복사본을 삭제(807)할 수 있게 된다.Since the program executed after the above process is the original antivirus program and not the copy program, the copy can be deleted (807) according to the copy deletion request (802).

상기 설명한 백신프로그램의 자체진단 및 치료과정은 백신 프로그램을 사용하는 사용자에게는 느낄 수 없을 만큼 순식간에 발생하게 되므로 사용자는 종래와 변함없이 편리하게 사용할 수가 있다.The self-diagnosis and treatment process of the vaccine program described above occurs in an instant so as not to be felt by the user using the vaccine program, so that the user can conveniently use the same as before.

본 발명에 의한 자체 프로그램의 수정방법은 이상과 같이 멀티태스킹환경하에서 자신의 프로그램에 대한 쓰기권한이 요구되는 모든 프로그램에 적용이 가능함을 알 수 있다. 다만 운영체제에 따라 적용되는 구체적인 실시형태는 다소 차이가 있을 수 있으나 이는 당업자에 있어 오로지 어느 형식에 의할 것이냐 하는 선택의 문제일 뿐 본 발명의 권리범위를 벗어나는 것은 아니다.It can be seen that the modification method of the own program according to the present invention can be applied to all programs requiring write permission for the own program under the multitasking environment as described above. However, specific embodiments to be applied depending on the operating system may be somewhat different, but this is only a matter of choice for those skilled in the art, and does not deviate from the scope of the present invention.

본 발명에 의하면 복사본의 프로세스에 의하여 원본 프로그램(프로그램)을 수정하는 것이 가능하다. 또한 본 발명은 자체 업데이트가 필요한 프로그램에 적용할 수 있으며, 특히 바이러스에 감염된 백신프로그램 자체에 대한 진단 및 치료가 가능하게 된다. 또한 복사본에 의하여 바이러스에 대한 진단 및 치료가 행해진 이후에는 상기 복사본 프로그램을 삭제하도록 함으로써 깨끗한 컴퓨팅 환경을 제공하는 것이 가능한 효과가 있다.According to the present invention, it is possible to modify the original program (program) by the process of copying. In addition, the present invention can be applied to a program that requires self-update, and in particular, it becomes possible to diagnose and treat a vaccine program itself infected with a virus. In addition, it is possible to provide a clean computing environment by deleting the copy program after diagnosis and treatment of viruses by copy.

Claims (23)

멀티태스킹 운영체제 환경하에서 실행중인 프로그램이 자신이 저장되어 있는 저장영역을 수정하는 방법에 있어서,In a method for executing a program running under a multitasking operating system environment to modify the storage area is stored, 원본 프로그램을 실행시킨 후 상기 원본의 복사본 프로그램을 생성시키는 단계와,Creating a copy program of the original after executing the original program; 상기 단계에 의해 생성한 복사본 프로그램을 실행시킨 후 원본 프로그램을 종료하는 단계를 포함함으로써 복사본에 의해 원본 프로그램을 수정하는 것을 특징으로 하는 프로그램의 자기수정방법.And terminating the original program after executing the copy program generated by the step, thereby modifying the original program by the copy. 제 1항에 있어서, 상기 복사본 프로그램의 실행종료와 함께 상기 복사본 프로그램은 삭제되도록 하는 단계를 추가로 구비하는 것을 특징으로 하는 프로그램의 자기수정방법.The method of claim 1, further comprising the step of causing the copy program to be deleted at the end of execution of the copy program. 제 1항 또는 제 2항에 있어서, 상기 원본 프로그램과 동일한 복사본 프로그램은 저장장치에 생성하는 것을 특징으로 하는 프로그램의 자기수정방법.The method of claim 1 or 2, wherein a copy program identical to the original program is created in a storage device. 제 3항에 있어서, 상기 저장장치로는 마그네틱 저장매체, 광학적 판독 및 기록 장치인 것을 특징으로 하는 프로그램의 자기수정방법.4. The method of claim 3, wherein the storage device is a magnetic storage medium, an optical reading and writing device. 제 1항 또는 제 2항에 있어서, 상기 원본 프로그램은 자신의 프로그램에 대하여 쓰기권한이 요구되어지는 프로그램임을 특징으로 하는 프로그램의 자기수정방법.The method of claim 1 or 2, wherein the original program is a program that requires write permission for its own program. 제 1항 또는 제 2항에 있어서, 상기 원본 프로그램은 복사본 프로그램을 생성한 후에 실행종료되도록 하는 것을 특징으로 하는 프로그램의 자기수정방법.3. The method of claim 1 or 2, wherein the original program is terminated after the copy program is generated. 제 1항에 있어서, 상기 복사본 프로그램의 실행요구시 복사본임을 알리는 인수를 함께 전달하는 것을 특징으로 하는 프로그램의 자기수정방법.The method of claim 1, wherein an argument indicating that the copy program is requested to be executed is passed together. 제 1항에 있어서, 상기 원본 프로그램은 컴퓨터 바이러스 백신프로그램인 것을 특징으로 하는 프로그램의 자기수정방법.The method of claim 1, wherein the original program is a computer antivirus program. 제 8항에 있어서, 상기 복사본 프로그램의 실행종료와 함께 상기 복사본 프로그램은 삭제되도록 하는 단계를 추가로 구비하는 것을 특징으로 하는 프로그램의 자기수정방법.9. The method of claim 8, further comprising the step of causing the copy program to be deleted at the end of execution of the copy program. 제 8항 또는 제 9항에 있어서, 상기 원본 프로그램과 동일한 복사본 프로그램은 저장장치에 생성하는 것을 특징으로 하는 프로그램의 자기수정방법.10. The method of claim 8 or 9, wherein a copy program identical to the original program is created in a storage device. 제 8항 또는 제 9항에 있어서, 상기 저장장치로는 마그네틱 저장매체, 광학적 판독 및 기록장치인 것을 특징으로 하는 프로그램의 자기수정방법.10. The method of claim 8 or 9, wherein the storage device is a magnetic storage medium, an optical reading and recording device. 제 8항 또는 제 9항에 있어서, 상기 원본 프로그램은 복사본 프로그램을 생성한 후에 실행종료되도록 하는 것을 특징으로 하는 프로그램의 자기수정방법.10. The method of claim 8 or 9, wherein the original program is terminated after the copy program is generated. 제 8항 또는 제 9항에 있어서, 상기 복사본 프로그램의 실행요구시 복사본임을 알리는 인수를 함께 전달하는 것을 특징으로 하는 프로그램의 자기수정방법.10. The method of claim 8 or 9, wherein an argument indicating that the copy program is requested to be executed is passed together. 멀티태스킹 운영체제하에서 자체 업데이트를 위한 프로그램의 자기수정방법에 있어서,In the self-modification method of the program for self-update under the multitasking operating system, 원본 프로그램을 실행시킨 후 상기 원본의 복사본 프로그램을 생성시키는 단계와,Creating a copy program of the original after executing the original program; 상기 단계에 의해 생성한 복사본 프로그램을 실행시킨 후 원본 프로그램을 종료하는 단계 및,Terminating the original program after executing the copy program generated by the above step; 상기 복사본 프로그램의 실행으로 원본 프로그램을 수정함으로써 원본을 업데이트시킨 후 원본 프로그램을 실행하는 단계를 포함하는 것을 특징으로 하는 프로그램의 자기수정방법.And updating the original by modifying the original program by executing the copy program, and then executing the original program. 제 14항에 있어서, 상기 복사본 프로그램의 실행종료와 함께 상기 복사본 프로그램은 삭제되도록 하는 단계를 추가로 구비하는 것을 특징으로 하는 프로그램의 자기수정방법.15. The method of claim 14, further comprising the step of causing the copy program to be deleted at the end of execution of the copy program. 제 14항 또는 제 15항에 있어서, 상기 원본 프로그램과 동일한 복사본 프로그램은 저장장치에 생성하는 것을 특징으로 하는 프로그램의 자기수정방법.16. The method of claim 14 or 15, wherein a copy program identical to the original program is created in a storage device. 제 14항 또는 제 15항에 있어서, 상기 저장장치로는 마그네틱 저장매체, 광학적 판독 및 기록장치인 것을 특징으로 하는 프로그램의 자기수정방법.16. The method of claim 14 or 15, wherein the storage device is a magnetic storage medium, an optical reading and recording device. 제 14항 또는 제 15항에 있어서, 상기 복사본 프로그램의 실행요구시 복사본임을 알리는 인수를 함께 전달하는 것을 특징으로 하는 프로그램의 자기수정방법.16. The method of claim 14 or 15, wherein an argument informing that the copy program is a copy is passed along with the execution request of the copy program. 제 14항 또는 제 15항에 있어서, 원본을 업데이트시킨 후 원본의 실행요구시 원본을 실행시킬때 피호출프로그램이 원본임을 알리는 인수를 함께 전달하는 것을 특징으로 하는 프로그램의 자기수정방법.16. The method of claim 14 or 15, wherein after the original is updated, when the original is requested to be executed, an argument indicating that the called program is the original is passed together. 제 14항 또는 제 15항에 있어서, 원본 프로그램의 업데이트 정보는 해당 프로그램을 제공하는 웹서버로부터 네트워크를 통하여 제공되는 것을 특징으로 하는프로그램의 자기수정방법.16. The method of claim 14 or 15, wherein the update information of the original program is provided via a network from a web server that provides the program. 제 20항에 있어서, 상기 네트워크는 인터넷인 것을 특징으로 하는 프로그램의 자기수정방법.21. The method of claim 20, wherein said network is the Internet. 제 8항 또는 제 14항에 있어서, 복사본 프로그램의 실행종료 후 복사본 프로그램에 대한 삭제설정이 불가능한 경우에 있어서,The method according to claim 8 or 14, wherein in the case where the deletion setting for the copy program is impossible after completion of execution of the copy program, 복사본 프로그램의 종료와 함께 원본 프로그램을 실행하여 복사본을 삭제토록 하는 단계를 추가로 구비하는 것을 특징으로 하는 프로그램의 자기수정방법.And terminating the copy program and executing the original program to delete the copy. 제 22항에 있어서, 상기 원본 프로그램의 실행요청시 복사본 프로그램의 삭제요청인수를 함께 전달하는 것을 특징으로 하는 프로그램의 자기수정방법.23. The method of claim 22, wherein the request for deletion of the copy program is transmitted together with the execution request of the original program.
KR10-2000-0014013A 2000-03-20 2000-03-20 The method to modify the executable file which is stored in a storage deivce, while it is running under multi-tasking OS KR100370229B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-2000-0014013A KR100370229B1 (en) 2000-03-20 2000-03-20 The method to modify the executable file which is stored in a storage deivce, while it is running under multi-tasking OS

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2000-0014013A KR100370229B1 (en) 2000-03-20 2000-03-20 The method to modify the executable file which is stored in a storage deivce, while it is running under multi-tasking OS

Publications (2)

Publication Number Publication Date
KR20010092079A true KR20010092079A (en) 2001-10-24
KR100370229B1 KR100370229B1 (en) 2003-01-29

Family

ID=19656720

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2000-0014013A KR100370229B1 (en) 2000-03-20 2000-03-20 The method to modify the executable file which is stored in a storage deivce, while it is running under multi-tasking OS

Country Status (1)

Country Link
KR (1) KR100370229B1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040089386A (en) * 2003-04-14 2004-10-21 주식회사 하우리 Curative Method for Computer Virus Infecting Memory, Recording Medium Comprising Program Readable by Computer, and The Device
KR100494499B1 (en) * 2002-12-12 2005-06-10 주식회사 안철수연구소 Data retouching method for executing file on real time and virus elimination method using the data retouching method thereof
KR100927974B1 (en) * 2007-10-09 2009-11-24 주식회사 안철수연구소 Source code generation system of executable image and its method
US8200154B2 (en) 2004-01-28 2012-06-12 Samsung Electronics Co., Ltd. System, apparatus and method to control output of radio frequency signal

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100494499B1 (en) * 2002-12-12 2005-06-10 주식회사 안철수연구소 Data retouching method for executing file on real time and virus elimination method using the data retouching method thereof
KR20040089386A (en) * 2003-04-14 2004-10-21 주식회사 하우리 Curative Method for Computer Virus Infecting Memory, Recording Medium Comprising Program Readable by Computer, and The Device
US8200154B2 (en) 2004-01-28 2012-06-12 Samsung Electronics Co., Ltd. System, apparatus and method to control output of radio frequency signal
KR100927974B1 (en) * 2007-10-09 2009-11-24 주식회사 안철수연구소 Source code generation system of executable image and its method

Also Published As

Publication number Publication date
KR100370229B1 (en) 2003-01-29

Similar Documents

Publication Publication Date Title
US7114184B2 (en) System and method for restoring computer systems damaged by a malicious computer program
AU2002250453A1 (en) System and method for restoring computer systems damaged by a malicious computer program
US7188127B2 (en) Method, system, and program for processing a file request
JP5079084B2 (en) Method and data processing system for preventing operation of a computer system
JP4348036B2 (en) Method and system for creating and maintaining version-specific properties in a file
KR101201118B1 (en) System and method of aggregating the knowledge base of antivirus software applications
US7243348B2 (en) Computing apparatus with automatic integrity reference generation and maintenance
US20050081053A1 (en) Systems and methods for efficient computer virus detection
EP1526429A2 (en) Operating system resource protection
KR101806499B1 (en) Method for managing files and apparatus using the same
US20070028225A1 (en) Method and apparatus for preemptive monitoring of software binaries by instruction interception and dynamic recompilation
JPH08328846A (en) Virus countermeasure type storage device
PL180841B1 (en) Method of controlling operation of a computer system
JP2004533054A (en) Operating system abstraction / protection layer
KR20100025116A (en) Fully automatic deletion using the system to prevent the leakage of documents
KR100370229B1 (en) The method to modify the executable file which is stored in a storage deivce, while it is running under multi-tasking OS
JP2010205186A (en) Information processor, method and program
KR100613126B1 (en) Method and apparatus for deleting virus code, and information storage medium storing a program thereof
JP7332951B2 (en) Processing server, processing method and processing program
JP2005099982A (en) File monitoring device
Allison A tale of two standards
US20050060694A1 (en) Methods and hardware for safe memory allocation in arbitrary program environments
JP2001202279A (en) File managing method and file managing program recording medium
Delfino A tour of DOS 6
Koeritz et al. Anomalies Encountered in Ada Exception Handling

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

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee