KR20030052582A - Method for recovering electronic mail message and computer readable medium storing thereof - Google Patents

Method for recovering electronic mail message and computer readable medium storing thereof Download PDF

Info

Publication number
KR20030052582A
KR20030052582A KR1020010082596A KR20010082596A KR20030052582A KR 20030052582 A KR20030052582 A KR 20030052582A KR 1020010082596 A KR1020010082596 A KR 1020010082596A KR 20010082596 A KR20010082596 A KR 20010082596A KR 20030052582 A KR20030052582 A KR 20030052582A
Authority
KR
South Korea
Prior art keywords
mail
count value
file
checked
message
Prior art date
Application number
KR1020010082596A
Other languages
Korean (ko)
Other versions
KR100441617B1 (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-2001-0082596A priority Critical patent/KR100441617B1/en
Publication of KR20030052582A publication Critical patent/KR20030052582A/en
Application granted granted Critical
Publication of KR100441617B1 publication Critical patent/KR100441617B1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/42Mailbox-related aspects, e.g. synchronisation of mailboxes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1469Backup restoration techniques

Abstract

PURPOSE: A method for recovering an E-mail and a recording medium capable of being read by a computer including the same are provided to recover an E-mail as the original state although the E-mail or an E-mail box including the E-mail is deleted or damaged. CONSTITUTION: If a user selects a disk drive having recovery data(S100), an FAT(File Allocation Table) and a directory entry are searched. A recovery is executed using information of a file, which remains in a directory entry, and contents of a file in an actual data sector through a directory scan operation(S200). A cluster scan operation is executed(S300). A deleted E-mail is extracted using a file header and a message header through an analysis of a message file format being used according to E-mail clients(S400). When the user reads the message, the message is decoded with respect to an encoded character string. Thus, a MINE decoding is executed(S500). The message is recovered, displayed through a computer monitor(S600).

Description

전자메일 메세지 복구 방법 및 이를 저장한 컴퓨터가 판독 가능한 기록 매체{METHOD FOR RECOVERING ELECTRONIC MAIL MESSAGE AND COMPUTER READABLE MEDIUM STORING THEREOF}METHOD FOR RECOVERING ELECTRONIC MAIL MESSAGE AND COMPUTER READABLE MEDIUM STORING THEREOF}

본 발명은 전자메일 메세지 복구 방법 및 이를 저장한 컴퓨터가 판독 가능한 기록 매체에 관한 것으로, 보다 상세하게는 전자메일 박스에서 삭제된 또는 손상된 전자메일을 원래 상태로 복구하기 위한 전자메일 메세지 복구 방법 및 이를 저장한 컴퓨터가 판독 가능한 기록 매체에 관한 것이다.The present invention relates to a method for recovering an e-mail message and a computer-readable recording medium storing the same, and more particularly, to recovering an e-mail deleted or damaged in an e-mail box to its original state, and a method for recovering an e-mail message. A storage computer readable recording medium.

일반적으로 인터넷 전자메일(이하 전자메일)이란 인터넷 환경을 통해서 상대방에게 전자적인 편지를 보내거나 받는 행위를 말하며, 이러한 전자메일을 사용할 수 있도록 해주는 시스템을 인터넷 전자메일 시스템이라 한다.In general, Internet e-mail (hereinafter referred to as e-mail) refers to an act of sending or receiving an electronic letter to the other party through the Internet environment, and a system that enables the use of such e-mail is called an Internet e-mail system.

전자메일의 장점은 사용하기 쉽고, 신속하며, 비용이 저렴하기 때문에 국내외 업무 또는 개인적인 일에 많이 사용되고 있으며, 세계 어느 곳이나 전자 메일 송수신 가능하여 그 이용이 나날이 증가하고 있다.The advantages of e-mail are easy to use, fast, and low cost, so it is widely used in domestic and foreign work or personal work, and the use of e-mail can be transmitted and received anywhere in the world.

그러나, 전자메일 메세지를 보관할 수 있는 시스템의 용량 등의 문제로 인하여 일반적으로 수신된 전자메일을 정리하게되는데, 반드시 보관해야 할 전자메일을 사용자가 무심결에 지우고 휴지통까지 비울 수 있다. 이러한 점에 착안하여 전자메일이 실수로 삭제되는 것을 방지하기 위해 아웃룩 익스프레스(Outlook Express), 넷스케이프 전자메일(Netscape Mail), 유도라 전자메일(Eudora Mail) 등의 전자메일 클라이언트 프로그램(Mail Client Program)에서는 지운 전자메일 박스이란 기능이 있다.However, due to problems such as the capacity of the system that can hold the e-mail message, the received e-mail is generally arranged, the user can delete the e-mail that must be stored unintentionally and empty the trash. With this in mind, in order to prevent accidental deletion of emails, email client programs such as Outlook Express, Netscape Mail, Eudora Mail, etc. There is a function called Deleted E-mail Box.

하지만 전자메일 클라이언트 프로그램의 옵션에 따라서 프로그램을 종료하면서 지운 전자메일 박스를 지우도록 할 수도 있으며, 일정량 이상이 채워지면 지운 전자메일 박스 비우기를 통해 전자메일 클라이언트 프로그램에 있는 전자메일을 삭제한다.However, depending on the option of the e-mail client program, you can delete the deleted e-mail box when the program is terminated. If a certain amount is filled, the e-mail box is deleted by emptying the deleted e-mail box.

이렇게 되면 더 이상 삭제한 전자메일은 읽어볼 수 있는 방법이 없다는 문제점이 있다.The problem is that there is no way to read the deleted e-mail anymore.

이에 본 발명의 기술과 과제는 이러한 종래의 문제점을 해결하기 위한 것으로, 본 발명의 목적은 전자메일 메세지가 삭제 또는 손상되더라도 또는 상기한 전자메일 메세지를 포함하는 전자메일 박스가 손상 또는 삭제되더라도 이를 원래의 전자 전자메일 메세지로 복구할 수 있는 전자메일 메세지 복구 방법을 제공하는 것이다.Accordingly, the present invention has been made in an effort to solve the above-mentioned problems, and an object of the present invention is to solve the above problems even if the e-mail message is deleted or damaged or if the e-mail box including the e-mail message is damaged or deleted. The present invention provides a method for recovering an e-mail message that can be recovered with an e-mail message.

또한 본 발명의 다른 목적은 상기한 전자메일 메세지 복구 방법을 저장한 컴퓨터가 판독 가능한 기록 매체를 제공하는 것이다.Another object of the present invention is to provide a computer-readable recording medium storing the above-described method for recovering an e-mail message.

도 1은 일반적인 하드디스크의 드라이버 구조를 설명하기 위한 도면이다.1 is a diagram for describing a driver structure of a general hard disk.

도 2는 본 발명의 실시예에 따른 전자 우편 메세지 복구 방법을 설명하기 위한 흐름도이다.2 is a flowchart illustrating a method for recovering an e-mail message according to an embodiment of the present invention.

도 3은 본 발명의 실시예에 따른 디렉토리 스캔 동작을 설명하기 위한 흐름도이다.3 is a flowchart illustrating a directory scan operation according to an embodiment of the present invention.

도 4는 상기한 도 3에 따른 디렉토리 스캔 동작 후 검출된 전자메일 박스 리스트의 일례를 설명하기 위한 도면이다.4 is a view for explaining an example of an e-mail box list detected after the directory scan operation according to FIG. 3.

도 5는 본 발명의 실시예에 따른 클러스터 스캔 동작을 설명하기 위한 흐름도이다.5 is a flowchart illustrating a cluster scan operation according to an embodiment of the present invention.

도 6은 상기한 도 5에 따른 클러스터 스캔 동작 후 검출된 전자메일 박스 리스트의 일례를 설명하기 위한 도면이다.FIG. 6 is a diagram for explaining an example of an e-mail box list detected after the cluster scan operation according to FIG. 5.

도 7은 본 발명의 실시예에 따른 메세지 포맷 분석 동작을 설명하기 위한 흐름도이다.7 is a flowchart illustrating a message format analysis operation according to an embodiment of the present invention.

도 8a와 도 8b는 DBX 파일의 파일 헤더와 메세지 헤더를 각각 설명하기 위한도면이다.8A and 8B are diagrams for explaining a file header and a message header of a DBX file, respectively.

도 9는 본 발명의 실시예에 따른 바이너리 파일 디코딩 동작을 설명하기 위한 흐름도이다.9 is a flowchart illustrating a binary file decoding operation according to an embodiment of the present invention.

도 10은 인터넷 전자메일의 헤더 구조를 설명하기 위한 도면이다.10 is a diagram for explaining a header structure of an Internet e-mail.

상기한 본 발명의 목적을 실현하기 위한 하나의 특징에 따른 전자메일 메세지 복구 방법은,E-mail message recovery method according to one feature for realizing the above object of the present invention,

(a) 전자메일 메세지를 복구하고자 하는 사용자의 조작에 따라 특정 디스크 드라이브가 선택됨에 따라, 디렉토리 스캔 동작과 클러스터 스캔 동작을 통해 상기 디스크 드라이브내에 삭제 또는 손상된 하나 이상의 전자메일 박스를 복구하는 단계;(a) recovering one or more e-mail boxes deleted or damaged in the disk drive through a directory scan operation and a cluster scan operation as a specific disk drive is selected according to a user's operation to recover an e-mail message;

(b) 상기 복구된 전자메일 박스 내에서 전자메일 메세지 포맷 분석 동작과 바이너리 파일 디코딩 동작을 통해 하나 이상의 전자메일 메세지를 복구하는 단계; 및(b) recovering one or more e-mail messages through an e-mail message format analysis operation and a binary file decoding operation within the recovered e-mail box; And

(c) 상기 단계(b)에서 복구된 하나 이상의 전자메일 메세지를 저장하는 단계를 포함하여 이루어진다.(c) storing the one or more e-mail messages recovered in step (b).

여기서, 상기한 단계(a)의 디렉토리 스캔 동작은 (a-11) 상기 디스크 드라이브에 존재하는 디렉토리의 스캔 수를 설정하는 단계; (a-12) 복구하고자 하는 파일의 시그네쳐를 분석하는 단계; (a-13) 상기 분석된 시그네쳐를 근거로 전자메일 파일인지의 여부를 체크하는 단계; (a-14) 상기 단계(a-13)에서 전자메일이라 체크되는 경우에는 전자메일 리스트에 등록하는 단계; (a-15) 상기 단계(a-13)에서 전자메일이 아닌 것으로 체크되는 경우 및 상기 단계(a-14)에 이어 현재의 카운트치가 상기 단계(a-11)에서 설정된 스캔 수보다 작거나 같은 지의 여부를 체크하는 단계; (a-16) 상기 단계(a-15)에서 현재의 카운트치가 설정된 스캔 수보다 작거나 같다고 체크되는 경우에는 카운트치를 증가시켜 현재의 카운트 치로 재설정하고, 상기 단계(a-13)로 피드백하는 단계; 및 (a-17) 상기 단계(a-15)에서 현재의 카운트치가설정된 스캔 수보다 크다고 체크되는 경우에는 상기한 클러스터 스캔 동작을 수행하는 단계를 포함하는 것이 바람직하다.Here, the directory scanning operation of step (a) may include (a-11) setting the number of scans of a directory existing in the disk drive; (a-12) analyzing the signature of the file to be recovered; (a-13) checking whether the file is an e-mail file based on the analyzed signature; (a-14) registering as an e-mail list when the e-mail is checked in step (a-13); (a-15) When it is checked that it is not an e-mail in step (a-13) and the current count value after step (a-14) is less than or equal to the number of scans set in step (a-11). Checking whether or not; (a-16) If it is checked in step (a-15) that the current count value is less than or equal to the set number of scans, increasing the count value to reset the current count value and feeding back to the step (a-13). ; And (a-17) if it is checked in step (a-15) that the current count value is larger than the set number of scans, performing the cluster scan operation.

또한, 상기한 단계(a)의 클러스터 스캔 동작은 (a-21) 상기 디스크 드라이브에 존재하는 총 클러스터 수를 설정하는 단계; (a-22) 복구하고자 하는 파일의 시그네쳐를 분석하는 단계; (a-23) 상기 분석된 시그네쳐를 근거로 전자메일 파일인지의 여부를 체크하는 단계; (a-24) 상기 단계(a-23)에서 전자메일 파일이라 체크되는 경우에는 파일 사이즈를 분석하는 단계; (a-25) 상기 분석된 파일 사이즈를 근거로 전자메일 리스트에 등록하는 단계; (a-26) 상기 단계(a-23)에서 전자메일 파일이 아닌 것으로 체크되는 경우 및 상기 단계(a-25)에 이어 현재의 카운트치가 상기 단계(a-21)에서 설정된 카운트보다 작거나 같은 지의 여부를 체크하는 단계; (a-27) 상기 단계(a-26)에서 현재의 카운트치가 상기 단계(a-1)에서 설정된 카운트보다 작거나 같다고 체크되는 경우에는 카운트치를 증가시켜 현재의 카운트치를 설정하고 상기 단계(a-22)로 피드백하는 단계; 및 (a-28) 상기 단계(a-26)에서 현재의 카운트치가 상기 단계(a-21)에서 설정된 카운트보다 크다고 체크되는 경우에는 상기 단계(b)를 수행하는 단계를 포함하는 것이 바람직하다.In addition, the cluster scan operation of step (a) may include (a-21) setting a total number of clusters present in the disk drive; (a-22) analyzing the signature of the file to be recovered; (a-23) checking whether the file is an e-mail file based on the analyzed signature; (a-24) analyzing the file size if it is checked as an e-mail file in step (a-23); (a-25) registering to an e-mail list based on the analyzed file size; (a-26) When it is checked in the step (a-23) that it is not an e-mail file, and after the step (a-25), the current count value is smaller than or equal to the count set in the step (a-21). Checking whether or not; (a-27) If it is checked in step (a-26) that the current count value is less than or equal to the count set in step (a-1), the count value is increased to set the current count value and the step (a-26) is performed. Feedback to 22); And (a-28) if it is checked in step (a-26) that the current count value is greater than the count set in step (a-21), the step (b) is preferably performed.

또한, 상기한 단계(b)의 전자메일 메세지 포맷 분석 동작은 (b-11) 파일 사이즈를 카운트 치로 설정하는 단계; (b-12) 전자메일 메세지의 시작 레코드를 체크하여 전자메일 메세지인지를 체크하는 단계; (b-13) 상기 단계(b-12)에서 전자메일 메세지라 체크되는 경우에는 메세지 리스트에 등록하는 단계; (b-14) 상기 단계(b-12)에서 전자메일 메세지가 아닌 경우 및 상기 단계(b-13)에 이어 현재의 카운트치가 설정된 카운트치 보다 작거나 같은 지의 여부를 체크하는 단계; (b-15) 상기 단계(b-14)에서 현재의 카운트치가 설정된 카운트치 보다 작거나 같다고 체크되는 경우에는 현재의 카운트치를 증가시켜 현재의 카운트치를 재설정하고, 상기 단계(b-12)로 피드백하는 단계; 및 (b-16) 상기 단계(b-14)에서 현재의 카운트치가 설정된 카운트치 보다 크다고 체크되는 경우에는 상기 단계(c)를 수행하는 단계를 포함하는 것이 바람직하다.In addition, the operation of analyzing the e-mail message format of step (b) may include (b-11) setting the file size to a count value; (b-12) checking whether the e-mail message is an e-mail message by checking a start record of the e-mail message; (b-13) registering the e-mail message in the message list if it is checked in step (b-12); (b-14) checking if the e-mail message is not the same as the e-mail message in step (b-12) and if the current count value is less than or equal to the set count value following the step (b-13); (b-15) If it is checked in step (b-14) that the current count value is less than or equal to the set count value, the current count value is increased to reset the current count value, and the feedback is returned to the step (b-12). Making; And (b-16) if it is checked in step (b-14) that the current count value is larger than the set count value, performing step (c).

또한, 상기한 단계(b)의 바이너리 파일 디코딩 동작은 (b-21) 마임 패턴을 분석하는 단계; (b-22) 상기 단계(b-21)에서 분석한 마임 패턴을 근거로 uuencode라 체크되는 경우에는 uuencode 디코딩을 수행하는 단계; (b-23) 상기 단계(b-21)에서 분석한 마임 패턴을 근거로 BinHex라 체크되는 경우에는 BinHex 디코딩을 수행하는 단계; (b-24) 상기 단계(b-21)에서 분석한 마임 패턴을 근거로 Basse64라 체크되는 경우에는 Basse64 디코딩을 수행하는 단계; 및 (b-25) 상기 단계(b-21)에서 분석한 마임 패턴을 근거로 QuotedPrintable라 체크되는 경우에는 QuotedPrintable 디코딩을 수행하는 단계를 포함하는 것이 바람직하다.In addition, the binary file decoding operation of the step (b) comprises the steps of (b-21) analyzing the mime pattern; (b-22) if it is checked uuencode based on the mime pattern analyzed in step (b-21), performing uuencode decoding; (b-23) performing BinHex decoding when BinHex is checked based on the mime pattern analyzed in step (b-21); (b-24) performing Basse64 decoding when Basse64 is checked based on the mime pattern analyzed in step (b-21); And (b-25) performing QuotedPrintable decoding when it is checked as QuotedPrintable based on the mime pattern analyzed in step (b-21).

또한 상기한 본 발명의 다른 목적을 실현하기 위한 하나의 특징에 따른 전자메일 메세지 복구 방법을 저장한 컴퓨터가 판독 가능한 기록매체는,In addition, a computer-readable recording medium storing an e-mail message recovery method according to one feature for achieving the above object of the present invention,

(a) 전자메일 메세지를 복구하고자 하는 사용자의 조작에 따라 특정 디스크 드라이브가 선택됨에 따라, 디렉토리 스캔 동작과 클러스터 스캔 동작을 통해 상기 디스크 드라이브내에 삭제 또는 손상된 하나 이상의 전자메일 박스를 복구하는 단계;(a) recovering one or more e-mail boxes deleted or damaged in the disk drive through a directory scan operation and a cluster scan operation as a specific disk drive is selected according to a user's operation to recover an e-mail message;

(b) 상기 복구된 전자메일 박스 내에서 전자메일 메세지 포맷 분석 동작과 바이너리 파일 디코딩 동작을 통해 하나 이상의 전자메일 메세지를 복구하는 단계; 및(b) recovering one or more e-mail messages through an e-mail message format analysis operation and a binary file decoding operation within the recovered e-mail box; And

(c) 상기 단계(b)에서 복구된 하나 이상의 전자메일 메세지를 저장하는 단계를 포함하여 이루어진다.(c) storing the one or more e-mail messages recovered in step (b).

이러한 전자메일 메세지 복구 방법을 저장한 컴퓨터가 판독 가능한 기록 매체에 의하면, 단순히 지워진 전자메일 메세지 파일이나, 바이러스나 포맷 등에 의해 전자메일 DB 파일이 지워진 경우에도 전자메일 DB 파일의 실제 내용이 하드디스크 상에 남아 있다면, 전자메일 DB 파일을 우선 복구하여 전자메일을 읽어볼 수 있도록 복구할 수 있다.According to a computer-readable recording medium storing such an e-mail message recovery method, even if an e-mail DB file is erased simply by a deleted e-mail message file or a virus or format, the actual contents of the e-mail DB file are stored on the hard disk. If you are in, you can restore the e-mail DB file to read the e-mail first.

그러면, 통상의 지식을 지닌 자가 본 발명을 용이하게 실시할 수 있도록 실시예에 관해 설명하기로 한다.Then, embodiments will be described so that those skilled in the art can easily implement the present invention.

도 1은 일반적인 하드디스크의 드라이버 구조를 설명하기 위한 도면으로, 특히 2개의 드라이버를 갖는 하드디스크의 구조의 일례를 설명한다.FIG. 1 is a diagram for explaining a driver structure of a general hard disk. In particular, an example of the structure of a hard disk having two drivers will be described.

도 1을 참조하면, 데이터 섹터는 파일 저장에 따라 실제 내용을 저장하고, FAT1과 FAT2는 파일의 클러스터 정보 및 파일의 조각난 정보를 저장하며, 디렉토리 엔트리는 파일의 기본적인 정보인 이름, 크기, 날짜 등을 저장한다.Referring to FIG. 1, data sectors store actual contents according to file storage, FAT1 and FAT2 store cluster information of a file and fragmented information of a file, and directory entries include name, size, date, etc., which are basic information of a file. Save it.

일반적인 과정에 따라 파일이 삭제되면 FAT(File Allocation Table; 파일 할당 테이블)와 디렉토리 엔트리(Directory Entry)에서 파일의 일부 정보만 삭제하고, 데이터 섹터에 저장되어 있는 실제 데이터 내용은 삭제되지 않는 특성이 있다.When a file is deleted according to the general process, only some information of the file is deleted from the FAT (File Allocation Table) and the directory entry, and the actual data contents stored in the data sector are not deleted. .

본 발명에서는 상기한 특성을 이용하여 전자메일 메세지를 복구한다.In the present invention, the above-described characteristics are used to recover an e-mail message.

도 2는 본 발명의 실시예에 따른 전자메일 메세지 복구 방법을 설명하기 위한 흐름도이다.2 is a flowchart illustrating an e-mail message recovery method according to an embodiment of the present invention.

도 2를 참조하면, 먼저 사용자의 조작에 의해 복구할 데이터가 있는 디스크 드라이브가 선택됨에 따라(단계 S100), 도 1에서와 같이 FAT와 디렉토리 엔트리(Directory Entry)를 검색한다. 도 1에서 도시한 바와 같이, 일반적으로 윈도우즈 OS는 파일 사이즈와 최초 클러스터 번호 등의 파일 시스템 정보를 디렉토리 엔트리에, 데이터의 위치 정보를 FAT에, 데이터 자체는 데이터 영역에 보존한다.Referring to FIG. 2, first, as a disk drive containing data to be recovered is selected by a user's operation (step S100), a FAT and a directory entry are searched as shown in FIG. As shown in FIG. 1, in general, a Windows OS stores file system information such as file size and initial cluster number in a directory entry, data position information in a FAT, and data itself in a data area.

이어 디렉토리 스캔(DIRECTORY) 동작을 통해 디렉토리 엔트리(Directory Entry)(도 1에서는 루트 디렉토리)에 남아 있는 파일의 정보와 실제 데이터 섹터에 있는 파일의 내용을 이용하여 복구한다(단계 S200).Subsequently, a directory scan operation is performed using the information of the file remaining in the directory entry (root directory in FIG. 1) and the contents of the file in the actual data sector (step S200).

이어 클러스터 스캔 동작을 수행한다(단계 S300). 즉, 바이러스나 퀵 포맷(Quick Format) 등에 의해 데이터가 손상될 경우 일반적으로 마스터 부트 레코드(Master Boot Recoder; MBR), 부트 섹터, FAT, 디렉토리 엔트리(또는 루트 디렉토리) 등의 내용만 손상되며, 데이터 섹터에 존재하는 실제 데이터의 내용은 대부분 손상되지 않기 때문에 실제 데이터 섹터에 있는 파일의 내용을 자동으로 분석하여 복구할 수 있다.Then, a cluster scan operation is performed (step S300). That is, when data is corrupted by a virus or quick format, generally only contents of a master boot record (MBR), a boot sector, a FAT, a directory entry (or a root directory), and the like are damaged. Since the contents of the actual data in the sector are mostly intact, the contents of the files in the actual data sector can be analyzed and recovered automatically.

특히, 상기한 단계 S200과 단계 S300은 복수의 전자메일 클라이언트에서 제공 가능한 복수의 전자메일 박스중 지워진 전자메일 박스 파일을 하드디스크에서 복구(전자메일 박스 파일 복구)하는 일련의 기술이라 할 수 있으며, 상기한 전자메일 박스 파일 복구는 바이러스나 포맷 등에 의해서 전자메일 박스 자체가 하드디스크 상에서 지워진 경우 하드디스크를 검색하여 전자메일 박스 파일들을 검색하는 기술로서 보다 상세한 설명은 하기하는 도 3과 도 5에서 설명한다.In particular, step S200 and step S300 may be referred to as a series of techniques for recovering deleted e-mail box files from the hard disk (e-mail box file recovery) among a plurality of e-mail boxes provided by a plurality of e-mail clients. The above-mentioned e-mail box file recovery is a technique for searching an e-mail box files by searching the hard disk when the e-mail box itself is erased on the hard disk due to a virus or a format, which will be described in detail with reference to FIGS. 3 and 5. do.

이어 각 전자메일 클라이언트별로 사용되는 메세지 파일 포맷의 분석을 통해 파일 헤더와 메세지 헤더를 이용하여 삭제된 전자메일 메세지를 추출한다(단계 S400).Then, the deleted e-mail message is extracted using the file header and the message header by analyzing the message file format used for each e-mail client (step S400).

이어 수신된 메세지에 대해서 메세지 보기나 메세지 저장을 할 때 인코딩된 문자열에 대해서 디코딩 처리(바이너리 파일 디코딩)를 하는데, 본 발명의 일례에서는 마인(MIME) 디코딩을 수행한다(단계 S500).Subsequently, the decoding process (binary file decoding) is performed on the encoded character string when the message is viewed or stored in the received message. In the example of the present invention, MIME decoding is performed (step S500).

특히, 상기한 마인 디코딩을 수행하는 이유는 아래와 같다.In particular, the reason for performing the above-described mine decoding is as follows.

인터넷의 사용 증가에 따라 일반 프로그램이나 워드프로세서, 스프레드시트 등 응용 프로그램으로 만들어진 문서에 대한 교환의 필요성이 대두되었는데, 이러한 파일은 각 문자열이 7bit 길이를 가진 텍스트와는 달리 8bit를 사용하며 이를 바이너리 파일이라 부른다.As the use of the Internet increased, the necessity of exchanging documents created by general programs, word processors, spreadsheets, and other applications emerged. These files use 8 bits, unlike text having 7 bits in length. It is called.

또한 인터넷의 국제화가 추진되면서, US-ASCII 이외의 다른 나라 문자로 이루어진 텍스트 문자는 8번째 최상위 비트(MSB)를 사용하여 표현이 되며, 따라서 8bit의 전송이 필요하다.In addition, as the internationalization of the Internet is promoted, text characters consisting of characters of countries other than US-ASCII are represented by using the eighth most significant bit (MSB), and thus 8-bit transmission is required.

8bit 문자나 바이너리 파일을 SMTP에 의하여 MSB가 잘리지 않고 안전하게 배달되기 위해서는 8bit를 7bit영문 ASCII로 변환(Encoding)하고 이를 다시 8bit로 바꾸는 작업(Decoding)을 하여야 하기 때문에 마인 디코딩을 수행한다.Mine decoding is performed because 8bit characters or binary files must be encoded and decoded again to 8bit in order to be safely delivered without being cut by the MSB by SMTP.

특히, 상기한 단계 S400과 단계 S500은 복구되어진 전자메일 박스에서 메세지를 복구하여 *.EML 파일로 추출해내는 기술로서, 전자메일 메세지 복구라 할 수 있으며, 보다 상세한 설명은 하기하는 도 7과 도 9에서 설명한다.In particular, the steps S400 and S500 are techniques for recovering a message from a recovered e-mail box and extracting the message into an * .EML file, which can be referred to as an e-mail message recovery, which will be described in detail with reference to FIGS. 7 and 9. This is explained in

이어 메세지를 컴퓨터의 모니터를 통해 디스플레이함과 함께 메세지를 저장한다(단계 S600).The message is then displayed on the computer monitor and the message is stored (step S600).

이상에서 설명한 바와 같이, 본 발명에 따르면 먼저 사용자의 조작에 따라 디스크 드라이브가 선택됨에 따라 디렉토리 스캔과 클러스터 스캔을 통해 복수의 전자메일 클라이언트측에서 제공하는 복수의 전자메일 박스를 복구하고, 복구된 전자메일 박스 내에 실제로 삭제된 전자메일 메세지를 복구하기 위해 메세지 포맷 분석과 바이너리 디코딩을 수행하는 일련의 작업을 통해 전자메일 메세지를 복구할 수 있고, 설령 전자메일 박스가 삭제되었다 하더라도 전자메일 박스뿐만 아니라, 삭제된 전자메일 박스 내에서 삭제된 전자메일 메세지를 복구할 수 있다.As described above, according to the present invention, first, as a disk drive is selected according to a user's operation, a plurality of e-mail boxes provided by a plurality of e-mail clients are restored through directory scan and cluster scan, and the recovered electronic You can recover email messages through a series of operations that perform message format analysis and binary decoding to recover email messages that have actually been deleted within the mailbox, even if the email box is deleted, You can recover deleted email messages within a deleted email box.

도 3은 본 발명의 실시예에 따른 디렉토리 스캔 동작을 설명하기 위한 흐름도로서, 특히 상기한 도 2에서 단계 S200을 보다 상세히 설명한다.3 is a flowchart illustrating a directory scan operation according to an exemplary embodiment of the present invention. In particular, step S200 of FIG. 2 will be described in more detail.

도 2와 도 3을 참조하면, 복구하고자 하는 하드디스크가 선택(단계 S100)됨에 따라, 먼저 하드디스크에 존재하는 디렉토리 엔트리 카운트치를 근거로 스캔할 수 있는 총 디렉토리 수를 현재의 카운트 치로 설정한다(단계 S210).2 and 3, as the hard disk to be recovered is selected (step S100), first, the total number of directories that can be scanned is set as the current count value based on the directory entry count value existing on the hard disk ( Step S210).

이어 디렉토리 엔트리 정보를 이용하여 파일의 시그네쳐(Signature)를 분석한 후(단계 S220), 전자메일 파일인지의 여부를 체크한다(단계 S230).Next, after analyzing the signature of the file using the directory entry information (step S220), it is checked whether the file is an e-mail file (step S230).

단계 S230에서 전자메일 파일이라 체크되는 경우에는 루트 디렉토리 영역과디렉토리 엔트리의 정보를 검색하여 삭제된 전자메일 박스 목록을 작성한 후 전자메일 리스트에 등록한다(단계 S240). 여기서 복구라 함은 디렉토리 엔트리정보(클러스터 위치, 파일이름, 파일크기 등의 정보)를 이용하여 하드디스크 상에서 해당클러스터(하드디스크의 논리적인 구분단위)의 데이터를 Virtual File의 형태로 리스트에 등록하는 것을 말한다. 가상 파일의 형태로 리스트에 등록되게 되면 파일의 내용을 검색할 수 있다. 즉, 지워진 파일인 경우에는 일반적인 파일의 형태로는 조작이 불가능하기 때문에 가상파일로 처리한다.If it is checked in step S230 that the e-mail file is checked, information on the root directory area and directory entry is retrieved to create a deleted e-mail box list and then registered in the e-mail list (step S240). Here, "recovery" registers the data of the cluster (a logical division unit of the hard disk) on the hard disk in the form of a virtual file using directory entry information (cluster location, file name, file size, etc.). Say that. Once registered in the list in the form of a virtual file, the contents of the file can be retrieved. That is, in the case of an erased file, the file is processed as a virtual file because it cannot be operated in the form of a general file.

단계 S230에서 전자메일 파일이 아닌 것으로 체크되는 경우 및 단계 S240에 이어 현재의 카운트치가 설정된 카운트보다 작거나 같은 지의 여부를 체크한다(단계 S250).If it is checked in step S230 that it is not an e-mail file, and after step S240, it is checked whether the current count value is less than or equal to the set count (step S250).

단계 S250에서 현재의 카운트치가 설정된 카운트보다 크다고 체크되는 경우에는 단계 S300으로 진행하고, 현재의 카운트치가 상기 단계 S210에서 설정한 카운트보다 작거나 같다고 체크되는 경우에는 카운트를 1 증가시켜 현재의 카운트 치로 설정한 후 단계 S220으로 피드백한다(단계 S260).If it is checked in step S250 that the current count value is greater than the set count, the flow advances to step S300. If the current count value is checked to be less than or equal to the count set in step S210, the count is incremented by one and set to the current count value. After that, the process feeds back to step S220 (step S260).

이상에서 설명한 바와 같이, 본 발명에 따른 전자메일 복구 프로그램에서는 루트 디렉토리 영역과 디렉토리 엔트리의 정보를 검색하여 삭제된 전자메일 박스 목록을 작성한다. 예를 들어, 윈도우즈 OS에서 파일 이름이 8개 문자 이상이거나, 대소문자가 같이 있는 경우에는 긴 파일 이름 정보도 함께 저장된다.As described above, the e-mail recovery program according to the present invention searches the information of the root directory area and the directory entry to create a deleted e-mail box list. For example, in Windows OS, if the file name is longer than eight characters or mixed case, long file name information is also stored.

OS는 전자메일 박스 파일을 삭제할 때 짧은 파일 이름의 첫 번째 문자만 삭제하고, 긴 파일 이름의 실제 이름 정보는 지우지 않는다. 따라서 파일과 폴더의첫 번째 문자가 삭제되어 샵 표기(#)로 표시되거나, 긴 파일 이름 정보를 함께 가진 파일이 삭제되더라도 원래의 전자메일 박스 이름으로 복구할 수도 있다.When the OS deletes an email box file, it only deletes the first character of the short file name, not the actual name information of the long file name. Thus, the first character of a file and folder is deleted and marked with a shop notation (#), or even if a file with long file name information is deleted, it can be restored to its original e-mail box name.

도 4는 상기한 도 3에 따른 디렉토리 스캔 동작 후 검출된 전자메일 박스 리스트의 일례를 설명하기 위한 도면이다.4 is a view for explaining an example of an e-mail box list detected after the directory scan operation according to FIG. 3.

도 4를 참조하면, 상기한 도 3의 디렉토리 검색의 종료와 함께 사용자 컴퓨터의 모니터의 왼쪽 창에는 존재하는 전자메일 박스의 종류 항목이 표시되고, 오른쪽 창에는 이러한 항목에 대한 디렉토리 및 파일의 목록이 상세한 정보와 함께 표시된다.Referring to FIG. 4, with the end of the directory search of FIG. 3 described above, an item type of an e-mail box is displayed in the left window of the monitor of the user computer, and a list of directories and files for the item is displayed in the right window. Displayed with detailed information.

도 5는 본 발명의 실시예에 따른 클러스터 스캔 동작을 설명하기 위한 흐름도로서, 특히 상기한 도 2에서 단계 S300을 보다 상세히 설명한다.FIG. 5 is a flowchart illustrating a cluster scan operation according to an embodiment of the present invention. In particular, step S300 of FIG. 2 will be described in more detail.

도 5를 참조하면, 먼저 하드디스크에 존재하는 총 클러스터 수의 검색을 통해 카운트치를 설정한다(단계 S310).Referring to FIG. 5, first, a count value is set by searching for the total number of clusters present in the hard disk (step S310).

이어 클러스터의 선두에 위치하는 클러스터 선두 데이터를 이용하여 파일의 시그네쳐(Signature)를 분석한 후(단계 S320), 전자메일 파일인지의 여부를 체크한다(단계 S330). 여기서 복구라 함은 디렉토리 엔트리정보, 즉, 클러스터 위치, 파일이름, 파일 크기 등의 정보를 이용하여 하드디스크 상에서 해당 클러스터(또는 하드디스크의 논리적인 구분 단위)의 데이터를 가상 파일(Virtual File)의 형태로 리스트에 등록하는 것을 말한다. 여기서는 디렉토리 엔트리 정보를 이용할 수 없기 때문에 파일 크기, 파일 이름은 클러스터의 데이터를 분석하여 산출한다. 이처럼 가상 파일의 형태로 리스트에 등록되게 되면 파일의 내용을 검색할 수 있다. 즉,지워진 파일이라면 일반적인 파일의 형태로는 조작이 불가능하기 때문에 가상 파일로 처리한다.Next, after analyzing the signature of the file using the cluster head data located at the head of the cluster (step S320), it is checked whether or not it is an e-mail file (step S330). In this case, the recovery means the data of the cluster (or logical division unit of the hard disk) on the hard disk using the directory entry information, that is, the location of the cluster, the file name, the file size, and the like. To register a list in the form. Since directory entry information is not available here, the file size and file name are calculated by analyzing the cluster data. As such, when the list is registered in the form of a virtual file, the contents of the file can be retrieved. In other words, if an erased file cannot be manipulated in the form of a normal file, it is treated as a virtual file.

단계 S330에서 전자메일 파일이 아닌 것으로 체크되는 경우 및 단계 S350에 이어 현재의 카운트치가 설정된 카운트보다 작거나 같은 지의 여부를 체크한다(단계 S360).If it is checked in step S330 that it is not an e-mail file, and after step S350, it is checked whether the current count value is less than or equal to the set count (step S360).

단계 S360에서 현재의 카운트치가 설정된 카운트보다 크다고 체크되는 경우에는 단계 S400으로 진행하고, 현재의 카운트치가 설정된 카운트보다 작거나 같다고 체크되는 경우에는 카운트를 1 증가시켜 현재의 카운트치를 설정한 후 단계 S320으로 피드백한다(단계 S370).If it is checked in step S360 that the current count value is greater than the set count, the process proceeds to step S400. If it is checked that the current count value is less than or equal to the set count, the count is increased by one to set the current count value, and then the process goes to step S320. Feedback (step S370).

한편, 대부분의 전자메일 클라이언트에서는 파일 포맷을 공개되어 있지 않은 관계로 일일이 포맷을 유추하여 테스트해야 하므로 상당한 시간과 노력이 필요하다.On the other hand, most e-mail clients require a lot of time and effort because the format of the file is not public and must be inferred and tested.

즉, 전자메일 클라이언트에 따라 서로 다른 전자메일 메세지 포맷을 사용하고 있기 때문인데, 본 발명의 실시예에서는 널리 사용되고 있는 아웃룩 익스프레스 (Outlook Express) 5.0에 대하여만 기술한다.That is, because different e-mail message formats are used in different e-mail clients, the embodiment of the present invention describes only the widely used Outlook Express 5.0.

아웃룩 익스프레스 5.0에서 사용하는 전자메일 메세지는 도 5에 도시한 바와 같이, 확장자가 *.DBX로 사용되는 파일로서, 전자메일 박스 파일에 대한 정보를 나타내는 파일 헤더(Header)와 각 메세지 정보를 나타내는 메세지 헤더로 구성된다.The e-mail message used in Outlook Express 5.0 is a file whose extension is * .DBX, as shown in FIG. 5, and includes a file header indicating information on the e-mail box file and a message indicating each message information. It consists of a header.

아웃룩 익스프레스의 파일 포맷은 하드디스크 상에서 파일을 복구하는 것과 같은 원리로 실제로 전자메일 박스에서 지워지지 않은 전자메일 메세지들은 파일헤더만으로도 복구가 가능하나, 전자메일 박스에서 지워진 전자메일 메세지들에 대해서는 파일 헤더에서 전자메일 메세지 정보가 지워졌기 때문에 전자메일 박스 전체를 바이트 단위로 분석하여 복구가 가능하다.The file format of Outlook Express is the same principle as restoring files on the hard disk. E-mail messages that are not actually deleted from the e-mail box can be recovered using the file header alone. Since the e-mail message information has been deleted, the entire e-mail box can be analyzed by byte to recover.

그러면, 복구된 전자메일 박스 내에서 삭제되지 않은 전자메일 메세지나 삭제된 전자메일 메세지를 어떠한 방식으로 복구하는지에 대해서 첨부하는 도면들을 참조하여 상세히 설명한다.Then, how to recover the deleted or deleted e-mail message in the restored e-mail box will be described in detail with reference to the accompanying drawings.

도 7은 본 발명의 실시예에 따른 메세지 포맷 분석 동작을 설명하기 위한 흐름도로서, 특히 상기한 도 2에서 단계 S400을 보다 상세히 설명한다.7 is a flowchart illustrating a message format analysis operation according to an embodiment of the present invention. In particular, step S400 of FIG. 2 will be described in more detail.

도 7을 참조하면, 먼저 복구하고자 하는 파일 사이즈를 카운트 치로 설정한다(단계 S410). 여기서는 복구하고자 하는 파일이 하나인 경우를 그 일례로서 설명한다.Referring to FIG. 7, first, a file size to be restored is set to a count value (step S410). Here, the case where there is only one file to be restored is explained as an example.

이어 전자메일 메세지의 시작 레코드인가를 판별한다(단계 S420).Then, it is determined whether it is a start record of an e-mail message (step S420).

이어 전자메일 메세지인지의 여부를 체크하여(단계 S430), 전자메일 메세지라 체크되는 경우에는 파일 헤더와 메세지 헤더에 의한 메세지 복구 동작과 바이트 단위의 파일 검색에 의한 메세지 복구 동작을 통해 전자메일 박스 내에서 전자메일 메세지를 복구하여 메세지 리스트에 등록한다(단계 S440). 즉, 클러스터 데이터를 이용하여 가상(Virtual) 파일 형태로 리스트에 등록했던 경우와 마찬가지로 여기서는 가상 파일(Virtual File)내에서 전자메일 메세지(Email-Message)에 해당하는 부분만을 추출하여 메세지 리스트에 등록하는 것을 말한다. 결론적으로 복구란 하드디스크상의 특정 위치(클러스터)에 있는 데이터를 가져오는 것을 말한다.Then, it is checked whether or not it is an e-mail message (step S430). If it is checked as an e-mail message, the message recovery operation by the file header and the message header and the message recovery operation by the file search in bytes are performed in the e-mail box. Recovers the e-mail message and registers it in the message list (step S440). That is, as in the case of registering the list in the form of a virtual file using the cluster data, only the portion corresponding to the e-mail message is extracted from the virtual file and registered in the message list. Say that. In conclusion, recovery refers to getting data from a specific location (cluster) on the hard disk.

그러면 상기한 단계 S430에서와 같이, 인터넷 전자메일인지의 여부를 체크하기 위해서는 인터넷 전자메일의 구조를 알아야 하는데 인터넷 전자메일의 구조는 도 10과 같다.Then, as in the above step S430, in order to check whether or not the Internet e-mail to know the structure of the Internet e-mail, the structure of the Internet e-mail is shown in FIG.

도 10은 인터넷 전자메일의 헤더 구조를 설명하기 위한 도면으로, 삭제된 메세지의 경우 바이트 단위로 상기한 인터넷 전자메일의 헤더 구조를 가지고 있는가를 검색하여 일치한다면 삭제된 전자메일 메세지로 판단한다.FIG. 10 is a diagram for explaining the header structure of an Internet e-mail. In case of a deleted message, it is determined whether the header structure of the Internet e-mail has the above-described header structure of the Internet e-mail.

그러면, 상기한 도 10을 참조하여, 바이트 단위의 분석에 의한 메세지 복구에 대해서 상세히 설명한다.Next, referring to FIG. 10 described above, message recovery by byte-based analysis will be described in detail.

(1) 일반적으로 인터넷 텍스트 메세지는 헤더와 본문으로 구성되며, 하나 이상의 텍스트 라인으로 이루어지며, 헤더와 본문의 구분은 캐리지 리턴(Carriage Return ;CR)과 라인 피드(Line Feed; LF)의 조합(CRLF)으로만 구성된 NULL 라인을 통해 이루어진다. 여기서, 각 라인은 캐리지 리턴(Carriage Return ;CR)과 라인 피드(Line Feed; LF)의 조합(CRLF)으로 끝나게 되어있으며, 헤더의 경우를 제외하면 각 라인의 최대 길이는 최대 76자로 되어 있다. 헤더에서 보면 가끔 한 줄이 76자를 넘는 필드도 있는데, 한없이 길어질 수는 없고 대략 한 줄의 길이를 최대 256자 정도로 생각하면, 헤더 처리도 문제가 없다. 이것은 전자메일 자체의 제약이라기 보다 SMTP나 POP 등에서 나타나는 제약도 있다.(1) In general, an Internet text message consists of a header and a body, and consists of one or more lines of text. The header and body are separated by a combination of a carriage return (CR) and a line feed (LF). This is done through a NULL line consisting of only CRLF). Here, each line ends with a combination of a carriage return (CR) and a line feed (LF) (CRLF), except for the header, the maximum length of each line has a maximum of 76 characters. If you look at the header, sometimes a line is more than 76 characters long. It can't be infinitely long, and if you think about one line up to 256 characters long, there's no problem with header handling. This is not a limitation of the e-mail itself, but also a limitation of SMTP or POP.

상기한 도 10의 구조에 따르면 헤더가 끝나는 시점은 NULL 라인이 나타나는 시점이 된다. 즉, NULL 라인이 처음 나오기 전까지가 헤더라고 볼 수 있다.According to the structure of FIG. 10 described above, the end of the header is a time at which the NULL line appears. In other words, the header is considered until the first NULL line.

그러면, 헤더 필드의 구성을 보다 상세히 설명한다.Then, the configuration of the header field will be described in more detail.

헤더에 들어가는 각 필드는, <필드 이름>: <필드 내용>CRLF 의 형식으로 구성된다. 여기서 <필드 이름>은 대/소문자를 구분하지 않는다. 경우에 따라서 읽는 사람이 좀 더 편하게 읽게 하기 위해, 또는 다른 제약 때문에 필드 내용을 여러 줄에 쓰는 경우가 있다. 이러한 경우에는 연속된 필드라는 것을 표시하기 위해서 줄의 맨 앞에 연속된 공백 문자(LWSP Char.; Linear White Space Character)를 넣도록 되어 있다. 또한 상기한 공백 문자(LWSP)에 해당되는 문자로는 스페이스 (SPACE), 탭(TAB) 등을 들 수 있다.Each field in the header consists of the following format: <field name>: <field contents> CRLF. Where <field name> is not case sensitive. In some cases, you might want to write the contents of a field on multiple lines to make it easier for the reader to read, or because of other constraints. In this case, a linear white space character (LWSP Char.) Is inserted at the beginning of the line to indicate that it is a continuous field. In addition, the character corresponding to the space character LWSP may include a space, a tab, and the like.

예를 들면, 아래와 같은 네 가지 헤더 필드는 모두 동일하다. CRLF도 LWSP 문자의 일부로 인식한다. 여러 줄의 필드 내용이 합쳐질(unfolding) 때에는 LWSP 문자들은 하나의 SPACE 문자로 처리한다. 백스페이스 같은 문자는 공백 문자로 취급하지도 않을 뿐더러 좀 위험하다.For example, all four header fields below are identical: CRLF is also recognized as part of the LWSP character. When multiple lines of field contents are unfolded, LWSP characters are treated as a single SPACE character. Characters like backspace are not treated as whitespace and are a bit dangerous.

------------------------------------------------------------------------------------------------------------------------------------------------------ --------------------------------------------------

To: "Joe & J. Harvey" <ddd @Org>, JJV @ BBNTo: "Joe & J. Harvey" <ddd @Org>, JJV @ BBN

To: "Joe & J. Harvey" <ddd @ Org>,To: "Joe & J. Harvey" <ddd @ Org>,

JJV@BBNJJV @ BBN

To: "Joe & J. Harvey"To: "Joe & J. Harvey"

<ddd@ Org>, JJV<ddd @ Org>, JJV

@BBN@BBN

To: "Joe &To: "Joe &

J. Harvey" <ddd @ Org>, JJV @ BBNJ. Harvey "<ddd @ Org>, JJV @ BBN

------------------------------------------------------------------------------------------------------------------------------------------------------ --------------------------------------------------

그래서 헤더를 처리할 때에는 첫 글자가 SPACE 혹은 TAB 이면 이전 줄의 헤더에 이어지는 것이라 판단할 수 있다. 보통 대부분의 시스템에서는 간편하게 TAB 하나만 넣는 경우가 많지만, 경우에 따라서는 여러 개의 SPACE가 들어가는 경우도 있다.Thus, when processing a header, if the first character is SPACE or TAB, it can be determined that it follows the header of the previous line. Usually, most systems simply put one TAB, but in some cases multiple SPACEs can be entered.

1) 날짜/시간 관련 헤더 필드 : "Date" 헤더 필드1) Date / Time related header field: "Date" header field

문법)grammar)

------------------------------------------------------------------------------------------------------------------------------------------------------ --------------------------------------------------

"Date: " date-time"Date:" date-time

date-time := [ day "," ] date timedate-time: = [day ","] date time

day := "Mon" / "Tue" / "wed" / "Thu" / "Fri" / "Sat" / "Sun"day: = "Mon" / "Tue" / "wed" / "Thu" / "Fri" / "Sat" / "Sun"

date := 1or2Digit month 2Digitdate: = 1or2Digit month 2Digit

month := "Jan" / "Feb" / "Mar" / "Apr" / "May" / "Jun"month: = "Jan" / "Feb" / "Mar" / "Apr" / "May" / "Jun"

/ "Jul" / "Aug" / "Sep" / "Oct" / "Nov" / "Dec"/ "Jul" / "Aug" / "Sep" / "Oct" / "Nov" / "Dec"

time := hour zonetime: = hour zone

hour := 2Digit ":" 2Digit [":" 2Digit]hour: = 2Digit ":" 2Digit [":" 2Digit]

zone := "UT" / "GMT" ; Universal Timezone: = "UT" / "GMT"; Universal time

/ "EST" / "EDT" ; Eastern/ "EST" / "EDT"; Eastern

/ "CST" / "CDT" ; Central/ "CST" / "CDT"; Central

/ "MST" / "MDT" ; Mountain/ "MST" / "MDT"; Mountain

/ "PST" / "PDT" ; Pacific/ "PST" / "PDT"; Pacific

/ 1Alpha ; Military/ 1 Alpha; Military

/ ("+" / "-") 4Digit ; Local Difference/ ("+" / "-") 4Digit; Local Difference

------------------------------------------------------------------------------------------------------------------------------------------------------ --------------------------------------------------

예)Yes)

Mon, 11 Oct 1999 16:17:24 +0900Mon, 11 Oct 1999 16:17:24 +0900

이 필드는 보통 MTA가 알아서 넣어 준다.This field is usually filled in by the MTA.

2) 경로 추적을 위한 헤더 필드2) Header Fields for Path Tracking

Return-Path: route-addrReturn-Path: route-addr

Received: ...Received: ...

......

여기서, 상기한 "Return-Path" 헤더 필드는 메세지 전송이 실패했을 경우,메세지가 되돌아갈 전자메일박스(id@host 형식)를 지정하며, 전자메일 박스, 주소를 지정하는 방식은 다양하다.Herein, the "Return-Path" header field designates an e-mail box (id @ host format) to which a message is returned when a message transmission fails, and an e-mail box and an address may be specified in various ways.

또한, 상기한 "Received" 헤더 필드에서 실제 메세지 소스를 보면 이 헤더 필드는 여러 개가 들어 있는 것을 알 수 있다. 이 필드는 전자메일이 어떤 중간 경로를 통해서 전달되었는지를 추적하기 위해서 MTA가 자동적으로 추가한다. 보통은 MTA를 설정할 때, 여기에 몇 개 이상의 "Received" 헤더가 있으면 전자메일이 루프를 돌고 있거나 전달될 수 없는 것으로 처리하는 경우가 많다.Also, if you look at the actual message source in the "Received" header field, it can be seen that there are several header fields. This field is automatically added by the MTA to keep track of which intermediate path an email was sent through. Normally, when setting up the MTA, if there are more than one "Received" headers, the e-mail is often looped or treated as undeliverable.

3) 발신자에 대한 정보를 담고 있는 헤더 필드3) Header field containing information about the sender

------------------------------------------------------------------------------------------------------------------------------------------------------ --------------------------------------------------

From: mailboxFrom: mailbox

Sender: addressSender: address

Reply-To: addressReply-To: address

------------------------------------------------------------------------------------------------------------------------------------------------------ --------------------------------------------------

여기서, 상기한 "From" 헤더 필드는 편지 봉투의 보낸 사람 이름 쓰는 곳에 쓰는 내용으로, 메세지를 보낸 사람의 전자메일 박스를 표시한다.In this case, the "From" header field is used to write the sender's name in the envelope, and indicates an e-mail box of the sender of the message.

또한, "Sender" 헤더 필드는 우리가 직접 편지를 쓰더라도 다른 사람에게 우체국에 가져가서 보내줄 것을 부탁할 수 있듯이, 이 필드는 실제 메세지를 보낸 사람을 표시하기 위해서 사용한다.Also, the "Sender" header field is used to indicate who actually sent the message, as we can ask someone to bring it to the post office even if we write it.

또한, "Reply-To" 헤더 필드는 메세지의 답장을 받을 사람의 주소로서, 경우에 따라 다르게 설정할 수도 있으나, 보통의 경우는 From의 주소와 같은 주소를 사용한다. 상기한 필드가 설정되어 있는 경우에는 답장을 보낼 때, From을 참조하지 않는다. 상기 필드가 미설정되어 있는 경우에는 From를 참조하여 답장을 보내게 됩니다.Also, the "Reply-To" header field is the address of the person to whom the message is to be replied, and may be set differently depending on the case. In general, the same address as the From address is used. If the above fields are set, do not refer to From when sending a reply. If the above fields are not set, the reply will be sent by referring to From.

4) 수신자에 대한 헤더 필드4) Header field for the receiver

------------------------------------------------------------------------------------------------------------------------------------------------------ --------------------------------------------------

To: addressTo: address

cc: addresscc: address

bcc: addressbcc: address

------------------------------------------------------------------------------------------------------------------------------------------------------ --------------------------------------------------

여기서, 상기한 "To" 헤더 필드는 메세지를 받을 사람(들)의 주소를 지정한다. 여러 사람을 지정할 수도 있고, 그룹을 만들 수도 있다. 이 필드에 지정되는 수신자는 "주수신자"라고 부른다.Here, the "To" header field specifies the address of the person (s) to receive the message. You can specify multiple people or create groups. The recipient specified in this field is called the "primary receiver".

또한, 상기한 "cc" 필드는 역시 메세지를 받을 사람(들)을 지정할 수 있다. 여기에 지정되는 수신자는 "부수신자"라고 부르며, 보통 "참조"라고 표시한다.In addition, the "cc" field may also specify the person (s) to receive the message. The recipients specified here are called "sub-recipients" and are usually labeled "references."

또한, 상기한 "bcc" 필드는 "부부수신자"라고 부르며, 보통 "숨은 참조"라고 표시한다.In addition, the above-mentioned "bcc" field is called "sub-recipient" and is usually denoted "bcc".

5) 기타 헤더 필드5) Other header fields

------------------------------------------------------------------------------------------------------------------------------------------------------ --------------------------------------------------

Subject: textSubject: text

Messeage-ID: msg-idMesseage-ID: msg-id

In-Reply-To: msg-idIn-Reply-To: msg-id

------------------------------------------------------------------------------------------------------------------------------------------------------ --------------------------------------------------

여기서, 상기한 "Subject" 헤더 필드는 메세지 제목을 적는 필드이고, 상기한 "Message-ID" 헤더 필드는 보통 현재 시각(1970년 1월 1일 자정부터 지금 시각까지를 초단위로 계산한 것), MTA의 IP주소 등을 조합해서 만든다.Here, the "Subject" header field is a field for writing a message subject, and the "Message-ID" header field is usually the current time (calculated in seconds from midnight January 1, 1970 to the present time). , A combination of the MTA's IP address, etc.

6) 확장/사용자 정의 헤더 필드6) Extended / Custom Header Fields

보통 "X-"로 시작하는 헤더 필드는 RFC에서 표준으로 규정하고 있는 필드가 아니라, 확장된 헤더 필드를 의미한다. 그 중에서 많이 쓰이는 것으로는 "X-Priority", "X-Mailer"등이 있다.Normally, header fields beginning with "X-" mean extended header fields, not fields defined by the RFC as standard. Among them, "X-Priority" and "X-Mailer" are widely used.

7) 주소지정7) Addressing

일반적인 도메인 이름을 지정할 때는 별 제약이 없지만, 직접 IP 어드레스를 지정할 때에는 [10.0.3.19]와 같이 대괄호([, ])를 사용한다.When specifying a general domain name, there are no restrictions, but when specifying a direct IP address, use square brackets ([,]) as in [10.0.3.19].

또한, 실제로 From, To 등에 사용할 수 있는 주소 지정 방법들로서, Neuman@BBN-TENEXA와 같이, 전자메일 박스를 직접 지정하는 방법, Alfred Neuman<Neuman@BBN.TENEXA>와 같이, 앞에 전자메일 박스를 수식하는 문자를 함께 사용하는 방법, "George, Ted" <Shared@Group.Arpanet>와 같이, 따옴표를 사용하는 방법, Wilt. (the Stilt) Chamberlain@NBA.US(Wilt.Chamberlain@NBA.US와 동일)와 같이, 주석을 사용하는 방법 등이 있다.In addition, as an addressing method that can be actually used from From, To, etc., it is possible to directly specify an e-mail box, such as Neuman @ BBN-TENEXA, and to modify an e-mail box, such as Alfred Neuman <Neuman@BBN.TENEXA>. How to Use Characters Together, "George, Ted" <Shared@Group.Arpanet>, How to Use Quotes, Wilt. (the Stilt) There are ways to use annotations, such as Chamberlain@NBA.US (same as Wilt.Chamberlain@NBA.US).

또한, 아래와 같이, 그룹 지정도 가능하다.In addition, group designation is also possible as follows.

------------------------------------------------------------------------------------------------------------------------------------------------------ --------------------------------------------------

Gourments: Pompous Person <WhoZiWhatZit@Cordon-Blue>,Gourments: Pompous Person <WhoZiWhatZit @ Cordon-Blue>,

Childs@WGBH.Boston, Galloping Gourmet@Childs@WGBH.Boston, Galloping Gourmet @

ANT.Down-Under (Australian National Television),ANT.Down-Under (Australian National Television),

Cheapie@Discount-Liqours;Cheapie @ Discount-Liqours;

Cruisers: Port@portugal, Jones@EA;,Cruisers: Port @ portugal, Jones @ EA ;,

Another@Somewhere.SomeOrgAnother@Somewhere.SomeOrg

------------------------------------------------------------------------------------------------------------------------------------------------------ --------------------------------------------------

한편, 헤더의 필드 내용에서는 괄호의 용도가 아래와 같이 정해져 있다.On the other hand, the use of parentheses is defined in the header field content as follows.

------------------------------------------------------------------------------------------------------------------------------------------------------ --------------------------------------------------

(, ) : 괄호는 주석을 넣기 위해서 사용.(,): Parentheses are used to add comments.

:, ; : 콜론과 세미콜론은 To, Cc 등의 주소 지정시에 그룹을 표시하기 위해서 사용.:,; Colons and semicolons are used to indicate groups when addressing To and Cc.

<, > : 양쪽 꺽쇠는 주소 지정이나 라우팅 경로를 표시할 때 사용.<,>: Both angle brackets are used to indicate addressing or routing paths.

[, ] : 대괄호는 IP 어드레스를 직접 지정하기 위해서 사용.[,]: Square brackets are used to specify an IP address directly.

------------------------------------------------------------------------------------------------------------------------------------------------------ --------------------------------------------------

이상에서는 전자메일인 경우에 삭제된 전자메일 메세지를 복구하여 전자메일 리스트에 등록하기 위해 전자메일 메세지의 헤더를 분석하여 전자메일 리스트에 등록하는 절차를 설명하였다.In the above, the procedure of analyzing the header of the e-mail message and registering it in the e-mail list in order to recover the deleted e-mail message and register it in the e-mail list has been described.

한편, 단계 S430에서 전자메일 메세지가 아닌 경우로 체크되는 경우 및 단계 S440에 이어 현재의 카운트치가 설정된 카운트보다 작거나 같은 지의 여부를 체크한다(단계 S450).On the other hand, if it is checked in the case of non-e-mail message in step S430, and it is checked whether the current count value is less than or equal to the set count following step S440 (step S450).

단계 S450에서 현재의 카운트치가 설정된 카운트보다 작거나 같다고 체크되는 경우에는 카운트를 1 증가시켜 현재의 카운트치를 설정한 후 단계 S420으로 피드백하고(단계 S460), 현재의 카운트치가 설정된 카운트보다 크다고 체크되는 경우에는 단계 S500으로 진행한다.If it is checked in step S450 that the current count value is less than or equal to the set count, the count is increased by 1 to set the current count value, then fed back to step S420 (step S460), and the current count value is checked to be greater than the set count. The process proceeds to step S500.

물론 상기한 실시예에서는 복구하고자 하는 파일이 하나인 것을 가정하여 설명하였으나, 만일 복구하고자 하는 파일이 복수개인 경우에는 매 파일의 사이즈를 카운트 치로 설정하고, 설정된 카운트치내에서 메세지를 복구 및 메세지 리스트에 등록하는 과정을 반복함은 자명하다.Of course, the above embodiment has been described assuming that there is only one file to be restored, but if there are a plurality of files to be restored, the size of each file is set to a count value, and a message is restored to the recovery and message list within the set count value. It is obvious to repeat the registration process.

한편, 본 발명에 따른 전자메일 복구 프로그램에서는 수신된 메세지에 대해서 메세지 보기나 메세지 저장을 할 때 인코딩된 문자열에 대해서 디코딩 처리를하여야 하므로 바이너리 파일 디코딩 동작을 더 수행하며, 그에 대한 상세 설명은 아래에서 기술한다.On the other hand, in the e-mail recovery program according to the present invention to perform a decoding process for the encoded string when the message view or message storage for the received message further performs a binary file decoding operation, a detailed description thereof will be described below Describe.

즉, STD 10/RFC 821에서는 SMTP를 통해 전달되는 데이터는 상위 비트가 '0'으로 설정된 7비트 아스키 데이터라고 기술하고 있는데, 이는 영문 텍스트 메세지를 전송하는데는 적합하지만, 비영어권 데이터 또는 비텍스트 데이터에 대해서는 부적합하다. 이러한 제약을 극복하기 위해 첨부하는 도 9와 같이 다양한 목적으로 사용되도록 확장된 메일 형식의 마임(MIME ; Multipurpose Internet Mail Extension)을 이용한 접근 방식을 사용할 수 있다. 여기서, 상기한 마임은 RFC 2045부터 RFC 2049에서는 텍스트와 2진 데이터를 RFC 822에서 정의한 7비트 아스키로 코드화하는 메커니즘을 명시하여 인터넷 전자메일을 통하여 여러 다른 종류의 파일들을 전송 가능하게 하기 위해 개발된 프로토콜이다.In other words, STD 10 / RFC 821 states that data transmitted via SMTP is 7-bit ASCII data with the upper bit set to '0', which is suitable for sending English text messages, but not for non-English or non-text data. Not suitable for In order to overcome this limitation, as shown in FIG. 9, an approach using MIME (Multipurpose Internet Mail Extension), which is extended to be used for various purposes, may be used. Here, mime was developed in RFC 2045 to RFC 2049 to specify a mechanism for encoding text and binary data into 7-bit ASCII as defined in RFC 822 to enable the transfer of different types of files via Internet e-mail. Protocol.

이러한 마임(MIME) 형식은 두 부분으로 구성되는데, 그 하나는 메인 타입(Main Type)이고, 다른 하나는 서브 타입(Sub Type)이다. 메인 타입은 어떤 분야의 파일을 다루려고 하는지를 말해주는데, 텍스트(Text), 비디오(Video), 어플리케이션(Application), 이미지(Image), 오디오(Audio), 멀티파트(Multipart), 메세지(Message)의 7가지이며, 서브 타입은 메인 타입에서의 특정 파일 형식이나 적용을 정한다. 예를 들면, 'image/gif'란 그 파일이 GIF 그래픽이라는 것을 의미한다.This MIME type consists of two parts, one of which is a main type and the other of which is a sub type. The main type tells you what kind of file you want to handle: Text, Video, Application, Image, Audio, Multipart, Message. There are seven subtypes that specify a particular file type or application in the main type. For example, 'image / gif' means the file is a GIF graphic.

그러면, 바이너리 파일 디코딩 동작을 통해 메일 메세지를 복구하는 절차를 첨부하는 도면을 참조하여 보다 상세히 설명한다.Next, a procedure for recovering a mail message through a binary file decoding operation will be described in more detail with reference to the accompanying drawings.

도 9는 본 발명의 실시예에 따른 바이너리 파일 디코딩 동작을 설명하기 위한 흐름도로서, 특히 상기한 도 2에서 단계 S500을 보다 상세히 설명하며, 마임 디코딩을 설명하기 위한 흐름도이다.FIG. 9 is a flowchart illustrating a binary file decoding operation according to an embodiment of the present invention. In particular, FIG. 2 will be described in more detail with reference to step S500, and a flowchart for explaining mime decoding.

도 9를 참조하면, 먼저 마임(MIME) 패턴을 분석한다(단계 S510).Referring to FIG. 9, first, a mime pattern is analyzed (step S510).

이어 단계 S510에서 분석한 마임 패턴을 근거로 'uuencode'인지의 여부를 체크하여(단계 S520), 'uuencode'라 체크되는 경우에는 uuencode 디코딩을 수행한다(단계 S525). 즉, 유닉스나 도스에서 많이 쓰이는 'uuencode'는 헤더(Header)와 테일러(Tailer)를 가지고 있으며, 헤더와 테일러 이외의 문자는 디코딩에서 제외된다. 헤더는 'begin'으로 시작하며 8진수의 모드와 원 파일명으로 구성되어 있다.Subsequently, it is checked whether it is 'uuencode' based on the mime pattern analyzed in step S510 (step S520), and when it is checked as 'uuencode', uuencode decoding is performed (step S525). In other words, uuencode, which is widely used in Unix or DOS, has a header and a taylor, and characters other than the header and taylor are excluded from decoding. The header starts with 'begin' and consists of the octal mode and the original file name.

인코딩된 본문은 공백 문자를 가진 라인으로 끝나며, 'end'라는 데이터 라인을 가지고 있다. 인코딩에서 쓰이는 64개의 문자는 아래와 같다.The encoded body ends with a line with whitespace and contains a data line called 'end'. The 64 characters used in the encoding are:

------------------------------------------------------------------------------------------------------------------------------------------------------ --------------------------------------------------

'!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[^_'! "# $% &' () * +,-. / 0123456789:; <=>? @ ABCDEFGHIJKLMNOPQRSTUVWXYZ [^ _

------------------------------------------------------------------------------------------------------------------------------------------------------ --------------------------------------------------

'uuencode'의 원리는 8비트 3쌍을 6비트 4개로 나누는 것은 'Basse64'와 동일하지만 여기에 32(스페이스 코드)를 더하여, 위와 같이 문자로서 표현 가능한 ASCII 영역에 순서대로 값을 대응시키는 방식이다. 즉, 인코딩된 문자 값 자체가 ASCII 코드값에 의존적이며, 다른 코드시스템에 대응되지 못하는 문자가 존재한다.The principle of 'uuencode' is that dividing 3 pairs of 8 bits into 4 bits is the same as 'Basse64', but adding 32 (space code) to map the values to the ASCII areas that can be represented as characters as above. . That is, the encoded character value itself depends on the ASCII code value, and there are characters that do not correspond to other code systems.

인코딩된 본체의 각 라인의 처음 1개의 인코딩된 문자는 라인의 나머지 문자들의 바이트 수를 표시하며, 마지막의 여분 처리 역시 이 문자에 의하여 조절된다.'uuencode'는 전자메일에서는 권장되지 않지만, 전통적으로 뉴스 그룹에서 주로 쓰이는 방식이다.The first one encoded character of each line of the encoded body indicates the number of bytes of the remaining characters of the line, and the last extra handling is also controlled by this character. 'Uuencode' is not recommended for email, but traditionally Commonly used in newsgroups.

단계 S520에서 'uuencode'가 아닌 것으로 체크되는 경우에는 'BinHex'인지의 여부를 체크하여(단계 S530), 'BinHex'라 체크되는 경우에는 디코딩을 수행한다(단계 S535). 상기한 'BinHex'는 매킨토시 시스템의 특수한 파일 구조를 가진 바이너리 데이터를 전송하기 위하여 고안된 인코딩 방식이다. 매킨토시의 파일은 리소스 포크(Resource folk)라고 부르는 부분과 데이터 포크(Data folk)라고 하는 부분으로 나뉘어져 있다.If it is checked in step S520 that it is not 'uuencode', it is checked whether it is 'BinHex' (step S530), and if it is checked, 'BinHex', decoding is performed (step S535). BinHex is an encoding scheme designed to transmit binary data having a special file structure of a Macintosh system. Macintosh files are divided into parts called resource folks and data folks.

여기서, 데이터 포크(Data folk)가 실제 파일의 데이터를 구성하는 부분이며, 리소스 포크(Resource folk)는 맥켄토시 시스템 OS와 관련이 있는 아이콘, 변수, 프로그램 세그먼트(Program Segment) 등에 관한 정보가 들어 있다.Herein, a data folk constitutes data of an actual file, and a resource folk includes information related to icons, variables, and program segments related to the Macintosh system OS.

그러나 'BinHex'도 상기한 'uuencode'와 마찬가지로 시스템에 따라서 왜곡될 수 있는 문자를 포함하고 있으므로 RFC 1740에 의하여 제안된 AppleSingle과 AppleDouble의 2가지 Basse64 인코딩 방식 중 Resource folk와 Data folk가 별도로 인코딩된 AppleDouble방식이 권장되고 있다.However, 'BinHex' contains characters that can be distorted according to the system, like 'uuencode' described above. The method is recommended.

그 이유는 수신자가 개인용 컴퓨터 시스템이나 UNIX 시스템 사용자일 경우에 필요한 데이터 포크(Data folk)만을 쉽게 추출이 가능하며, 수신자가 매킨토시 시스템을 사용하는 경우에도 두 가지 파일 구성 요소를 모두 사용 가능하기 때문이다. BinHex 역시 RFC1741에 의하여 마임(MIME)의 한 규격으로 제안되고 있으나, 안전성을 보장할 수는 없다. 여기서 상기한 RFC(Request For Comments)는IETF(Internet Engineering Task Force)에서 발표하는 인터넷 기술과 관련된 공문서 간행물로서, 그 의미는 지금까지 쓰여온 방식에 대한 고육책으로 나온 것이며, 앞으로는 쓰지 않는 것이 좋다는 의미를 내포하고 있다.This is because only the data folk needed for the recipient is a personal computer system or a UNIX system user can be easily extracted, and both file components are available even if the recipient uses a Macintosh system. . BinHex is also proposed as a standard for MIME by RFC1741, but cannot guarantee safety. The above Request For Comments (RFC) is an official document related to Internet technology published by the Internet Engineering Task Force (IETF), which means that it is intended as a remedy for the method that has been written so far, and that it is not recommended to use it in the future. It is implicated.

단계 S530에서 'BinHex'가 아닌 것으로 체크되는 경우에는 'Basse64'인지의 여부를 체크하여(단계 S540), 'Basse64'라 체크되는 경우에는 Basse64 디코딩을 수행한다(단계 S545).If it is checked in step S530 that it is not 'BinHex', it is checked whether it is 'Basse64' (step S540), and if it is checked, 'Basse64', Basse64 decoding is performed (step S545).

보다 상세히는, 'Basse64'는 RFC 1113에 의한 코드 체계를 따르며, 8 비트 데이터를 6비트씩 나누어서 각 6비트를 특정 코드 값으로 매칭시켜 변환하는 MIME 인코딩 방식을 말하는데, EBCDIC나 ASCII를 포함하여 모든 플랫폼에서 표현되는 'International Alphabet IA5'를 이용하며, 아래와 같이 64개의 문자와 특수한 기능(pad)을 수행하는 부호인 "="을 같이 사용한다.More specifically, 'Basse64' refers to a code system according to RFC 1113, and refers to a MIME encoding method that converts 8-bit data by 6 bits, matching each 6 bit to a specific code value, including EBCDIC or ASCII. It uses 'International Alphabet IA5' expressed on the platform and uses 64 characters and "=" which is a code that performs a special function as shown below.

------------------------------------------------------------------------------------------------------------------------------------------------------ --------------------------------------------------

ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789 + /

------------------------------------------------------------------------------------------------------------------------------------------------------ --------------------------------------------------

또한 각 문자마다 코드와 독립적인 값을 부여하여 시스템의 특성을 타지 않는다.In addition, each character is given a code-independent value, which does not alter the characteristics of the system.

상기한 Basse64 인코딩의 원리는 다음과 같다. 즉, 어떤 시스템에서도 통용되는 위의 알파벳 문자 64개가 순서대로, ASCII 코드순과는 관계없이 '0'부터 '63'까지의 값을 의미한다. 즉 각각 6비트의 값을 의미하는 이들 문자 4개로서 8비트 3개(3 byte)를 표현한다. 바꾸어 말하면, 8비트 3개를 6비트 4개로 나누어, 여기에 해당하는 값을 가진 문자에 대응을 시켜 인코딩하는 것이다. 인코딩된 문장의 끝에 오는 "="기호는 6비트씩 할당하고 남은 나머지를 6비트의 값으로 표현하기 위하여 비트열의 뒷부분에 채워넣는데 사용되는 부호이다.The principle of the Basse64 encoding described above is as follows. That is, the 64 alphabetic characters that are used in any system are values in the order of '0' to '63' regardless of the ASCII code order. That is, these 8 characters represent three 8-bit values (3 bytes) as four characters each representing a 6-bit value. In other words, three 8-bits are divided into four 6-bits, which are encoded in correspondence with the characters with the corresponding values. The "=" symbol at the end of the encoded statement is used to fill in the last part of the bit string to allocate 6 bits and represent the remaining 6-bit values.

따라서 어떠한 시스템에서도 코드순과는 무관한 값으로 비트열을 대응시킬 수 있게 한 방식임을 알 수 있다.Therefore, it can be seen that in any system, the bit strings can be mapped to values that are not related to code order.

단계 S540에서 'Basse64'가 아닌 것으로 체크되는 경우에는 'Quoted Printable'(이하, QP)인지의 여부를 체크하여(단계 S550), Quoted Printable라 체크되는 경우에는 Quoted Printable 디코딩을 수행한다(단계 S555).If it is checked in step S540 that it is not 'Basse64', it is checked whether it is 'Quoted Printable' (hereinafter referred to as QP) (step S550), and if it is checked as Quoted Printable, Quoted Printable decoding is performed (step S555). .

보다 상세히는, QP의 원리는 특수 기호인 "="과 그 문자의 16진 코드를 사용하여 인코딩을 한다. 예를 들어, "M nchen"이라는 문자를 QP 인코딩을 하면 "M=FCnchen"이 되는 것과 같다.More specifically, the principle of QP is to encode using the special symbol "=" and the hexadecimal code of the character. For example, QP encoding the character "M nchen" is equivalent to "M = FCnchen".

그러나 한글 전자메일에서 QP 인코딩을 사용하게 되면 최고 3배까지 전송 용량이 늘어날 수 있는데, 예를 들면, "가나다"를 QP 인코딩을 할 경우에 "=B0=A1=B3=AA=B4=D9"가 된다. 따라서 QP 인코딩은 한글 전자메일의 경우에 비효율적인 인코딩 방식이다.However, using QP encoding in Hangul e-mail can increase the transmission capacity by up to three times. For example, when using QP encoding for "to go", "= B0 = A1 = B3 = AA = B4 = D9". Becomes Therefore, QP encoding is an inefficient encoding method for Korean e-mail.

이상 설명한 바와 같이 본 발명에 따르면 지워진 전자메일 박스 파일을 하드디스크에서 복구할 수 있고, 또한 복구된 전자메일 박스에서 전자메일 메세지를 복구할 수 있다.As described above, according to the present invention, the deleted e-mail box file can be recovered from the hard disk, and the e-mail message can be recovered from the restored e-mail box.

상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술분야의 숙련된 당업자는 하기의 특허청구범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.Although the above has been described with reference to a preferred embodiment of the present invention, those skilled in the art will be able to variously modify and change the present invention without departing from the spirit and scope of the invention as set forth in the claims below. It will be appreciated.

이상 설명한 바와 같이, 본 발명에 따라 제공되는 전자메일 메세지 복구 프로그램은 전자메일이 삭제되었다 하더라도 전자메일의 정보 부분만 지워지며, 실제 하드디스크에 있는 전자메일 DB 파일에는 자료가 남아 있기 때문에 이를 이용해 삭제한 전자메일을 복구할 수 있다. 또한, 단순히 지워진 파일뿐 아니라 바이러스나 포맷 등에 의해 전자메일 DB 파일이 지워진 경우에도 전자메일 DB 파일의 실제 내용이 하드디스크 상에 남아 있다면, 전자메일 DB 파일을 우선 복구하여 전자메일을 읽어볼 수 있도록 복구할 수 있다.As described above, the e-mail message recovery program provided according to the present invention deletes only the information part of the e-mail even if the e-mail is deleted, and deletes the data by using the e-mail DB file on the actual hard disk since the data remains. You can recover an email. Also, even if the e-mail DB file is deleted not only by a deleted file but also by a virus or format, if the actual contents of the e-mail DB file remain on the hard disk, the e-mail DB file can be recovered first to read the e-mail. Can be recovered.

또한 본 발명에 따라 제공되는 전자메일 메세지 복구 프로그램은 일반 사용자뿐만 아니라 범죄수사나 세무, 회계 감사 등 기업이나 정부 기관에서 유용하게 사용될 수 있다.In addition, the e-mail message recovery program provided according to the present invention can be usefully used not only for the general user, but also for corporations or government agencies such as criminal investigation, tax, audit.

Claims (10)

(a) 전자메일 메세지를 복구하고자 하는 사용자의 조작에 따라 특정 디스크 드라이브가 선택됨에 따라, 디렉토리 스캔 동작과 클러스터 스캔 동작을 통해 상기 디스크 드라이브내에 삭제 또는 손상된 하나 이상의 전자메일 박스를 복구하는 단계;(a) recovering one or more e-mail boxes deleted or damaged in the disk drive through a directory scan operation and a cluster scan operation as a specific disk drive is selected according to a user's operation to recover an e-mail message; (b) 상기 복구된 전자메일 박스 내에서 전자메일 메세지 포맷 분석 동작과 바이너리 파일 디코딩 동작을 통해 하나 이상의 전자메일 메세지를 복구하는 단계; 및(b) recovering one or more e-mail messages through an e-mail message format analysis operation and a binary file decoding operation within the recovered e-mail box; And (c) 상기 단계(b)에서 복구된 하나 이상의 전자메일 메세지를 저장하는 단계(c) storing the one or more email messages recovered in step (b) 를 포함하는 전자메일 메세지 복구 방법.E-mail message recovery method comprising a. 제1항에 있어서, 상기 단계(a)의 디렉토리 스캔 동작은,The method of claim 1, wherein the directory scan operation of step (a) comprises: (a-11) 상기 디스크 드라이브에 존재하는 디렉토리의 스캔 수를 설정하는 단계;(a-11) setting the number of scans of directories existing in the disk drive; (a-12) 복구하고자 하는 파일의 시그네쳐를 분석하는 단계;(a-12) analyzing the signature of the file to be recovered; (a-13) 상기 분석된 시그네쳐를 근거로 전자메일 파일인지의 여부를 체크하는 단계;(a-13) checking whether the file is an e-mail file based on the analyzed signature; (a-14) 상기 단계(a-13)에서 전자메일이라 체크되는 경우에는 전자메일 리스트에 등록하는 단계;(a-14) registering as an e-mail list when the e-mail is checked in step (a-13); (a-15) 상기 단계(a-13)에서 전자메일이 아닌 것으로 체크되는 경우 및 상기 단계(a-14)에 이어 현재의 카운트치가 상기 단계(a-11)에서 설정된 스캔 수보다 작거나 같은 지의 여부를 체크하는 단계;(a-15) When it is checked that it is not an e-mail in step (a-13) and the current count value after step (a-14) is less than or equal to the number of scans set in step (a-11). Checking whether or not; (a-16) 상기 단계(a-15)에서 현재의 카운트치가 설정된 스캔 수보다 작거나 같다고 체크되는 경우에는 카운트치를 증가시켜 현재의 카운트 치로 재설정하고, 상기 단계(a-13)로 피드백하는 단계; 및(a-16) If it is checked in step (a-15) that the current count value is less than or equal to the set number of scans, increasing the count value to reset the current count value and feeding back to the step (a-13). ; And (a-17) 상기 단계(a-15)에서 현재의 카운트치가 설정된 스캔 수보다 크다고 체크되는 경우에는 상기한 클러스터 스캔 동작을 수행하는 단계를 포함하는 것을 특징으로 하는 전자메일 메세지 복구 방법.(a-17) if it is checked in step (a-15) that the current count value is greater than the set number of scans, performing the cluster scan operation. 제1항에 있어서, 상기 단계(a)의 클러스터 스캔 동작은,The method of claim 1, wherein the cluster scan operation of step (a) comprises: (a-21) 상기 디스크 드라이브에 존재하는 총 클러스터 수를 설정하는 단계;(a-21) setting a total number of clusters present in the disk drive; (a-22) 복구하고자 하는 파일의 시그네쳐를 분석하는 단계;(a-22) analyzing the signature of the file to be recovered; (a-23) 상기 분석된 시그네쳐를 근거로 전자메일 파일인지의 여부를 체크하는 단계;(a-23) checking whether the file is an e-mail file based on the analyzed signature; (a-24) 상기 단계(a-23)에서 전자메일 파일이라 체크되는 경우에는 파일 사이즈를 분석하는 단계;(a-24) analyzing the file size if it is checked as an e-mail file in step (a-23); (a-25) 상기 분석된 파일 사이즈를 근거로 전자메일 리스트에 등록하는 단계;(a-25) registering to an e-mail list based on the analyzed file size; (a-26) 상기 단계(a-23)에서 전자메일 파일이 아닌 것으로 체크되는 경우 및상기 단계(a-25)에 이어 현재의 카운트치가 상기 단계(a-21)에서 설정된 카운트보다 작거나 같은 지의 여부를 체크하는 단계;(a-26) If it is checked in the step (a-23) that it is not an e-mail file, and following the step (a-25), the current count value is less than or equal to the count set in the step (a-21). Checking whether or not; (a-27) 상기 단계(a-26)에서 현재의 카운트치가 상기 단계(a-1)에서 설정된 카운트보다 작거나 같다고 체크되는 경우에는 카운트치를 증가시켜 현재의 카운트치를 설정하고 상기 단계(a-22)로 피드백하는 단계; 및(a-27) If it is checked in step (a-26) that the current count value is less than or equal to the count set in step (a-1), the count value is increased to set the current count value and the step (a-26) is performed. Feedback to 22); And (a-28) 상기 단계(a-26)에서 현재의 카운트치가 상기 단계(a-21)에서 설정된 카운트보다 크다고 체크되는 경우에는 상기 단계(b)를 수행하는 단계를 포함하는 것을 특징으로 하는 전자메일 메세지 복구 방법.(a-28) if it is checked in step (a-26) that the current count value is larger than the count set in the step (a-21), the step of performing the step (b) How to recover mail messages. 제1항에 있어서, 상기 단계(b)의 전자메일 메세지 포맷 분석 동작은,The method of claim 1, wherein the step of analyzing the email message format of step (b) comprises: (b-11) 파일 사이즈를 카운트 치로 설정하는 단계;(b-11) setting the file size to a count value; (b-12) 전자메일 메세지의 시작 레코드를 체크하여 전자메일 메세지인지를 체크하는 단계;(b-12) checking whether the e-mail message is an e-mail message by checking a start record of the e-mail message; (b-13) 상기 단계(b-12)에서 전자메일 메세지라 체크되는 경우에는 메세지 리스트에 등록하는 단계;(b-13) registering the e-mail message in the message list if it is checked in step (b-12); (b-14) 상기 단계(b-12)에서 전자메일 메세지가 아닌 경우 및 상기 단계(b-13)에 이어 현재의 카운트치가 설정된 카운트치 보다 작거나 같은 지의 여부를 체크하는 단계;(b-14) checking if the e-mail message is not the same as the e-mail message in step (b-12) and if the current count value is less than or equal to the set count value following the step (b-13); (b-15) 상기 단계(b-14)에서 현재의 카운트치가 설정된 카운트치 보다 작거나 같다고 체크되는 경우에는 현재의 카운트치를 증가시켜 현재의 카운트치를 재설정하고, 상기 단계(b-12)로 피드백하는 단계; 및(b-15) If it is checked in step (b-14) that the current count value is less than or equal to the set count value, the current count value is increased to reset the current count value, and the feedback is returned to the step (b-12). Making; And (b-16) 상기 단계(b-14)에서 현재의 카운트치가 설정된 카운트치 보다 크다고 체크되는 경우에는 상기 단계(c)를 수행하는 단계를 포함하는 것을 특징으로 하는 전자메일 메세지 복구 방법.(b-16) if it is checked in step (b-14) that the current count value is larger than the set count value, performing step (c). 제1항에 있어서, 상기 단계(b)의 바이너리 파일 디코딩 동작은,The binary file decoding operation of claim 1, wherein (b-21) 마임 패턴을 분석하는 단계;(b-21) analyzing the mime pattern; (b-22) 상기 단계(b-21)에서 분석한 마임 패턴을 근거로 유.유.인코드 (uuencode)라 체크되는 경우에는 uuencode 디코딩을 수행하는 단계;(b-22) performing uuencode decoding when it is checked as uuencode based on the mime pattern analyzed in step (b-21); (b-23) 상기 단계(b-21)에서 분석한 마임 패턴을 근거로 바이너리헥스 (BinHex)라 체크되는 경우에는 BinHex 디코딩을 수행하는 단계;(b-23) performing BinHex decoding when BinHex is checked based on the mime pattern analyzed in step (b-21); (b-24) 상기 단계(b-21)에서 분석한 마임 패턴을 근거로 베이스(Basse)64라 체크되는 경우에는 Basse64 디코딩을 수행하는 단계; 및(b-24) performing Basse64 decoding when it is checked as Basse64 based on the mime pattern analyzed in step (b-21); And (b-25) 상기 단계(b-21)에서 분석한 마임 패턴을 근거로 쿼티드프린터블 (QuotedPrintable)이라 체크되는 경우에는 QuotedPrintable 디코딩을 수행하는 단계를 포함하는 것을 특징으로 하는 전자메일 메세지 복구 방법.(b-25) if it is checked as QuotedPrintable based on the mime pattern analyzed in step (b-21), performing a QuotedPrintable decoding. . (a) 전자메일 메세지를 복구하고자 하는 사용자의 조작에 따라 특정 디스크 드라이브가 선택됨에 따라, 디렉토리 스캔 동작과 클러스터 스캔 동작을 통해 상기 디스크 드라이브내에 삭제 또는 손상된 하나 이상의 전자메일 박스를 복구하는 단계;(a) recovering one or more e-mail boxes deleted or damaged in the disk drive through a directory scan operation and a cluster scan operation as a specific disk drive is selected according to a user's operation to recover an e-mail message; (b) 상기 복구된 전자메일 박스 내에서 전자메일 메세지 포맷 분석 동작과 바이너리 파일 디코딩 동작을 통해 하나 이상의 전자메일 메세지를 복구하는 단계; 및(b) recovering one or more e-mail messages through an e-mail message format analysis operation and a binary file decoding operation within the recovered e-mail box; And (c) 상기 단계(b)에서 복구된 하나 이상의 전자메일 메세지를 저장하는 단계(c) storing the one or more email messages recovered in step (b) 를 포함하는 전자메일 메세지 복구 방법을 저장한 컴퓨터가 판독 가능한 기록 매체.A computer-readable recording medium storing an e-mail message recovery method comprising a. 제6항에 있어서, 상기 단계(a)의 디렉토리 스캔 동작은,The method of claim 6, wherein the directory scan operation of step (a) comprises: (a-11) 상기 디스크 드라이브에 존재하는 디렉토리의 스캔 수를 설정하는 단계;(a-11) setting the number of scans of directories existing in the disk drive; (a-12) 복구하고자 하는 파일의 시그네쳐를 분석하는 단계;(a-12) analyzing the signature of the file to be recovered; (a-13) 상기 분석된 시그네쳐를 근거로 전자메일 파일인지의 여부를 체크하는 단계;(a-13) checking whether the file is an e-mail file based on the analyzed signature; (a-14) 상기 단계(a-13)에서 전자메일이라 체크되는 경우에는 전자메일 리스트에 등록하는 단계;(a-14) registering as an e-mail list when the e-mail is checked in step (a-13); (a-15) 상기 단계(a-13)에서 전자메일이 아닌 것으로 체크되는 경우 및 상기 단계(a-14)에 이어 현재의 카운트치가 상기 단계(a-11)에서 설정된 스캔 수보다 작거나 같은 지의 여부를 체크하는 단계;(a-15) When it is checked that it is not an e-mail in step (a-13) and the current count value after step (a-14) is less than or equal to the number of scans set in step (a-11). Checking whether or not; (a-16) 상기 단계(a-15)에서 현재의 카운트치가 설정된 스캔 수보다 작거나같다고 체크되는 경우에는 카운트치를 증가시켜 현재의 카운트 치로 재설정하고, 상기 단계(a-13)로 피드백하는 단계; 및(a-16) If it is checked in step (a-15) that the current count value is less than or equal to the set number of scans, increasing the count value to reset the current count value and feeding back to the step (a-13). ; And (a-17) 상기 단계(a-15)에서 현재의 카운트치가 설정된 스캔 수보다 크다고 체크되는 경우에는 상기한 클러스터 스캔 동작을 수행하는 단계를 포함하는 것을 특징으로 하는 전자메일 메세지 복구 방법을 저장한 컴퓨터가 판독 가능한 기록 매체.(a-17) if it is checked in step (a-15) that the current count value is greater than the set number of scans, performing the cluster scan operation. Computer-readable recording medium. 제6항에 있어서, 상기 단계(a)의 클러스터 스캔 동작은,The method of claim 6, wherein the cluster scan operation of step (a) comprises: (a-21) 상기 디스크 드라이브에 존재하는 총 클러스터 수를 설정하는 단계;(a-21) setting a total number of clusters present in the disk drive; (a-22) 복구하고자 하는 파일의 시그네쳐를 분석하는 단계;(a-22) analyzing the signature of the file to be recovered; (a-23) 상기 분석된 시그네쳐를 근거로 전자메일 파일인지의 여부를 체크하는 단계;(a-23) checking whether the file is an e-mail file based on the analyzed signature; (a-24) 상기 단계(a-23)에서 전자메일 파일이라 체크되는 경우에는 파일 사이즈를 분석하는 단계;(a-24) analyzing the file size if it is checked as an e-mail file in step (a-23); (a-25) 상기 분석된 파일 사이즈를 근거로 전자메일 리스트에 등록하는 단계;(a-25) registering to an e-mail list based on the analyzed file size; (a-26) 상기 단계(a-23)에서 전자메일 파일이 아닌 것으로 체크되는 경우 및 상기 단계(a-25)에 이어 현재의 카운트치가 상기 단계(a-21)에서 설정된 카운트보다 작거나 같은 지의 여부를 체크하는 단계;(a-26) When it is checked in the step (a-23) that it is not an e-mail file, and after the step (a-25), the current count value is smaller than or equal to the count set in the step (a-21). Checking whether or not; (a-27) 상기 단계(a-26)에서 현재의 카운트치가 상기 단계(a-1)에서 설정된카운트보다 작거나 같다고 체크되는 경우에는 카운트치를 증가시켜 현재의 카운트치를 설정하고 상기 단계(a-22)로 피드백하는 단계; 및(a-27) If it is checked in step (a-26) that the current count value is less than or equal to the count set in step (a-1), the count value is increased to set the current count value and the step (a- Feedback to 22); And (a-28) 상기 단계(a-26)에서 현재의 카운트치가 상기 단계(a-21)에서 설정된 카운트보다 크다고 체크되는 경우에는 상기 단계(b)를 수행하는 단계를 포함하는 것을 특징으로 하는 전자메일 메세지 복구 방법을 저장한 컴퓨터가 판독 가능한 기록 매체.(a-28) if it is checked in step (a-26) that the current count value is larger than the count set in the step (a-21), the step of performing the step (b) A computer-readable recording medium storing a method for recovering mail messages. 제6항에 있어서, 상기 단계(b)의 전자메일 메세지 포맷 분석 동작은,The method of claim 6, wherein the step of analyzing the e-mail message format of step (b) comprises: (b-11) 파일 사이즈를 카운트 치로 설정하는 단계;(b-11) setting the file size to a count value; (b-12) 전자메일 메세지의 시작 레코드를 체크하여 전자메일 메세지인지를 체크하는 단계;(b-12) checking whether the e-mail message is an e-mail message by checking a start record of the e-mail message; (b-13) 상기 단계(b-12)에서 전자메일 메세지라 체크되는 경우에는 메세지 리스트에 등록하는 단계;(b-13) registering the e-mail message in the message list if it is checked in step (b-12); (b-14) 상기 단계(b-12)에서 전자메일 메세지가 아닌 경우 및 상기 단계(b-13)에 이어 현재의 카운트치가 설정된 카운트치 보다 작거나 같은 지의 여부를 체크하는 단계(b-14) checking whether the current count value is less than or equal to the set count value in the case of not being an e-mail message in step (b-12) and following step (b-13). (b-15) 상기 단계(b-14)에서 현재의 카운트치가 설정된 카운트치 보다 작거나 같다고 체크되는 경우에는 현재의 카운트치를 증가시켜 현재의 카운트치를 재설정하고, 상기 단계(b-12)로 피드백하는 단계; 및(b-15) If it is checked in step (b-14) that the current count value is less than or equal to the set count value, the current count value is increased to reset the current count value, and the feedback is returned to the step (b-12). Making; And (b-16) 상기 단계(b-14)에서 현재의 카운트치가 설정된 카운트치 보다 크다고 체크되는 경우에는 상기 단계(c)를 수행하는 단계를 포함하는 것을 특징으로 하는 전자메일 메세지 복구 방법을 저장한 컴퓨터가 판독 가능한 기록 매체.(b-16) if it is checked in step (b-14) that the current count value is greater than the set count value, performing the step (c). Computer-readable recording medium. 제6항에 있어서, 상기 단계(b)의 바이너리 파일 디코딩 동작은,The binary file decoding operation of claim 6, wherein (b-21) 마임 패턴을 분석하는 단계;(b-21) analyzing the mime pattern; (b-22) 상기 단계(b-21)에서 분석한 마임 패턴을 근거로 유.유.인코드 (uuencode)라 체크되는 경우에는 uuencode 디코딩을 수행하는 단계;(b-22) performing uuencode decoding when it is checked as uuencode based on the mime pattern analyzed in step (b-21); (b-23) 상기 단계(b-21)에서 분석한 마임 패턴을 근거로 바이너리헥스 (BinHex)라 체크되는 경우에는 BinHex 디코딩을 수행하는 단계;(b-23) performing BinHex decoding when BinHex is checked based on the mime pattern analyzed in step (b-21); (b-24) 상기 단계(b-21)에서 분석한 마임 패턴을 근거로 베이스(Basse)64라 체크되는 경우에는 Basse64 디코딩을 수행하는 단계; 및(b-24) performing Basse64 decoding when it is checked as Basse64 based on the mime pattern analyzed in step (b-21); And (b-25) 상기 단계(b-21)에서 분석한 마임 패턴을 근거로 쿼티드프린터블 (QuotedPrintable)이라 체크되는 경우에는 QuotedPrintable 디코딩을 수행하는 단계를 포함하는 것을 특징으로 하는 전자메일 메세지 복구 방법을 저장한 컴퓨터가 판독 가능한 기록 매체.(b-25) if it is checked as QuotedPrintable based on the mime pattern analyzed in step (b-21), performing a QuotedPrintable decoding. The computer-readable recording medium storing the data.
KR10-2001-0082596A 2001-12-21 2001-12-21 Method for recovering electronic mail message and computer readable medium storing thereof KR100441617B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-2001-0082596A KR100441617B1 (en) 2001-12-21 2001-12-21 Method for recovering electronic mail message and computer readable medium storing thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2001-0082596A KR100441617B1 (en) 2001-12-21 2001-12-21 Method for recovering electronic mail message and computer readable medium storing thereof

Publications (2)

Publication Number Publication Date
KR20030052582A true KR20030052582A (en) 2003-06-27
KR100441617B1 KR100441617B1 (en) 2004-07-23

Family

ID=29577341

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2001-0082596A KR100441617B1 (en) 2001-12-21 2001-12-21 Method for recovering electronic mail message and computer readable medium storing thereof

Country Status (1)

Country Link
KR (1) KR100441617B1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102045268A (en) * 2010-11-18 2011-05-04 厦门市美亚柏科信息股份有限公司 Method and device for recovering email data
CN102521732A (en) * 2011-12-12 2012-06-27 深圳市万兴软件有限公司 Restoring method of electronic mail (E-mail)
CN113434343A (en) * 2021-07-21 2021-09-24 公安部第三研究所 Windows-based WPS Mail data reduction method
CN116860509A (en) * 2023-09-04 2023-10-10 深圳麦风科技有限公司 PST file repairing method, device and storage medium

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6208999B1 (en) * 1996-12-12 2001-03-27 Network Associates, Inc. Recoverable computer file system with a signature area containing file integrity information located in the storage blocks
KR100458838B1 (en) * 1997-04-09 2005-01-24 삼성전자주식회사 Storage medium for program executing hard disk drive recovery method
US6173291B1 (en) * 1997-09-26 2001-01-09 Powerquest Corporation Method and apparatus for recovering data from damaged or corrupted file storage media
KR100313465B1 (en) * 1999-06-28 2001-11-07 윤종용 Data backup and restore method in relation database
KR100663605B1 (en) * 1999-12-18 2007-01-02 주식회사 케이티 Apparatus And Method For Electronic Data Backup And Restore

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102045268A (en) * 2010-11-18 2011-05-04 厦门市美亚柏科信息股份有限公司 Method and device for recovering email data
CN102045268B (en) * 2010-11-18 2015-12-16 厦门市美亚柏科信息股份有限公司 A kind of e-mail data restoration methods and device
CN102521732A (en) * 2011-12-12 2012-06-27 深圳市万兴软件有限公司 Restoring method of electronic mail (E-mail)
CN113434343A (en) * 2021-07-21 2021-09-24 公安部第三研究所 Windows-based WPS Mail data reduction method
CN113434343B (en) * 2021-07-21 2024-04-23 公安部第三研究所 WPS Mail data restoration method based on Windows
CN116860509A (en) * 2023-09-04 2023-10-10 深圳麦风科技有限公司 PST file repairing method, device and storage medium
CN116860509B (en) * 2023-09-04 2023-12-26 深圳麦风科技有限公司 PST file repairing method, device and storage medium

Also Published As

Publication number Publication date
KR100441617B1 (en) 2004-07-23

Similar Documents

Publication Publication Date Title
US6549957B1 (en) Apparatus for preventing automatic generation of a chain reaction of messages if a prior extracted message is similar to current processed message
US7672956B2 (en) Method and system for providing a search index for an electronic messaging system based on message threads
US7512654B2 (en) System and method for facilitating user input by providing dynamically generated completion information
JP4330673B2 (en) Web-based mail service system
US7062536B2 (en) Grouping electronic reply messages
US6546417B1 (en) Enhanced electronic mail system including methods and apparatus for identifying mime types and for displaying different icons
US8443045B2 (en) Storage of selected e-mails including attachments in document management system
US8166111B2 (en) Method for correcting a received electronic mail having an erroneous header
US20090125596A1 (en) Method and apparatus for forwarding emails to previous recipients
US20030110227A1 (en) Real time streaming media communication system
US20020046248A1 (en) Email to database import utility
US20060004843A1 (en) System and method for automatically populating a dynamic resolution list
US20020049793A1 (en) Electronic mail transfer apparatus and electronic mail apparatus
US20080071865A1 (en) Method, System and Program Product Providing Compact Storage For Electronic Messages
US8285794B2 (en) Signature e-mail attachment printing
US20080126489A1 (en) Method and apparatus to manage e-mail messages
US7882182B2 (en) Correcting information in a received electronic mail
KR100441617B1 (en) Method for recovering electronic mail message and computer readable medium storing thereof
US20050039028A1 (en) E-mail security system
JP2007219646A (en) Mail printing system and computer program
JP4221132B2 (en) Information processing apparatus and method, and storage medium used therefor
KR100459379B1 (en) Method for producing basic data for determining whether or not each electronic document is similar and System therefor
US7124363B2 (en) System and method for disclosing design information
JP7270585B2 (en) Information management system, information management program and information management method
CN111684479A (en) Automatic image classification in electronic communications

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

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20140710

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20150709

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20160711

Year of fee payment: 13

FPAY Annual fee payment

Payment date: 20170710

Year of fee payment: 14

FPAY Annual fee payment

Payment date: 20190710

Year of fee payment: 16