KR101691948B1 - Method, apparatus and client device for extracting signature information from application installation packages - Google Patents

Method, apparatus and client device for extracting signature information from application installation packages Download PDF

Info

Publication number
KR101691948B1
KR101691948B1 KR1020147023000A KR20147023000A KR101691948B1 KR 101691948 B1 KR101691948 B1 KR 101691948B1 KR 1020147023000 A KR1020147023000 A KR 1020147023000A KR 20147023000 A KR20147023000 A KR 20147023000A KR 101691948 B1 KR101691948 B1 KR 101691948B1
Authority
KR
South Korea
Prior art keywords
application installation
installation package
data
signature information
threshold
Prior art date
Application number
KR1020147023000A
Other languages
Korean (ko)
Other versions
KR20140114437A (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 텐센트 테크놀로지(센젠) 컴퍼니 리미티드
Publication of KR20140114437A publication Critical patent/KR20140114437A/en
Application granted granted Critical
Publication of KR101691948B1 publication Critical patent/KR101691948B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/145Countermeasures against malicious traffic the attack involving the propagation of malware through the network, e.g. viruses, trojans or worms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/258Heading extraction; Automatic titling; Numbering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/562Static detection
    • G06F21/564Static detection by virus signature recognition

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Health & Medical Sciences (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Virology (AREA)
  • General Health & Medical Sciences (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computational Linguistics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Stored Programmes (AREA)

Abstract

본 발명은 보안 기술에 관한 것이며, 어플리케이션 설치 패키지로부터 서명 정보를 추출하는 방법, 장치 및 클라이언트 디바이스를 공개한다. 상기 방법은 사이즈가 문턱 값(100)보다 크지 않은 어플리케이션 설치 패키지 내의 데이터의 압축을 푸는 단계; 압축이 풀린 데이터를 분석하여, 어플리케이션 설치 패키지(101)의 서명 정보를 추출하는데 사용될 수 있는 임계 데이터를 얻는 단계; 상기 2개의 단계를 반복하여, 어플리케이션 설치 패키지의 압축이 완전히 풀릴 때까지, 어플리케이션 설치 패키지(102)의 모든 임계 데이터를 얻는 단계; 및 모든 임계 데이터를 파싱(parsing)하여, 어플리케이션 설치 패키지(103)의 서명 정보를 추출하는 단계를 포함한다. 본 발명에 의하여 제공되는 기술적 해결 방법은 어플리케이션 설치 패키지로부터 서명 정보를 추출하는데 필요한 메모리 사용 공간 및 시간을 효과적으로 줄일 수 있으며, 이에 따라 어플리케이션 설치 패키지들로부터 서명 정보를 추출하는 효율이 개선된다.The present invention relates to security technologies and discloses methods, devices, and client devices for extracting signature information from an application installation package. The method comprising: decompressing data in an application installation package whose size is not greater than a threshold value (100); Analyzing the decompressed data to obtain critical data that can be used to extract signature information of the application installation package 101; Repeating the two steps to obtain all the critical data of the application installation package 102 until the compression of the application installation package is completely released; And parsing all the critical data to extract the signature information of the application installation package 103. [ The technical solution provided by the present invention can effectively reduce the memory footprint and time required to extract the signature information from the application install package, thereby improving the efficiency of extracting signature information from the application install packages.

Description

어플리케이션 설치 패키지로부터 서명 정보를 추출하는 방법, 장치 및 클라이언트 디바이스 {Method, apparatus and client device for extracting signature information from application installation packages}METHOD, APPARATUS AND CLIENT DEVICE FOR REMOVING SIGNATURE INFORMATION FROM APPLICATION INSTALLATION PACKAGE,

본 출원은 발명의 명칭을 "어플리케이션 설치 패키지로부터 서명 정보를 추출하는 방법, 장치 및 클라이언트 디바이스"으로 하여 2012년 7월 19일 출원된 중국 특허 출원 번호 201210250545.9 의 우선권을 주장하는 것으로서, 동 출원의 내용은 본 명세서에 전체적으로 참조되어 있다. This application claims the priority of Chinese Patent Application No. 201210250545.9 filed on July 19, 2012 as "Method, apparatus and client device for extracting signature information from an application installation package" Are hereby incorporated herein by reference in their entirety.

본 개시 내용은 보안 기술에 관한 것이며, 보다 구체적으로는 어플리케이션 설치 패키지로부터 서명 정보를 추출하는 방법, 장치(apparatus) 및 클라이언트 디바이스(device)에 관한 것이다.
The present disclosure relates to security technology, and more particularly to a method, apparatus and client device for extracting signature information from an application installation package.

어플리케이션 설치 패키지는 일반적으로 압축 파일이며, 일반적으로 리소스 파일, 구성 파일, 실행 가능 파일 등을 포함한다. 예를 들면, 안드로이드(android) 시스템 내의 어플리케이션 설치 패키지는 에이피케이(apk) 파일에 해당될 수 있고, 압축된 에이피케이 파일은 실행 가능한 덱스(dex) 파일 및 다른 파일들을 포함할 수 있다. An application installation package is generally a compressed file, typically including a resource file, a configuration file, an executable file, and the like. For example, an application installation package in an android system may correspond to an apk file, and a compressed apk file may contain executable dex files and other files.

어플리케이션 설치 패키지가 로그(rogue) 프로그램인지, 또는 바이러스인지를 검출하기 위하여, 어플리케이션 설치 패키지에 대한 압축을 풀어, 완전한 형태의 실행 가능한 파일을 얻어야 한다. 완전한 형태의 실행 가능한 파일은 메모리 내에서 파스(parse)되여, 서명 정보를 추출하고, 추출된 서명 정보는 사전에 설정된 바이러스 서명 라이브러리(library) 내의 바이러스 샘플의 서명과 비교되어, 어플리케이션 설치 패키지가 로그 프로그램인지 또는 바이러스인지를 결정한다. 안드로이드 시스템 내의 에이피케이 파일을 예로 들면, 에이피케이 파일의 압축을 풀어, 덱스 파일을 얻을 수 있고, 덱스 파일을 파스(parse)하여, 클래스(class) 명, 프로세스(process) 명, 상수(constant) 스트링(string) 또는 다른 서명 정보를 추출할 수 있다. 추출된 서명 정보가 사전에 설정된 서명 라이브러리 내의 바이러스 샘플의 서명과 일치할 때, 상기 에이피케이 파일이 로그 프로그램인지, 또는 바이러스인지가 결정된다. To detect whether the application installation package is a rogue program or a virus, you need to decompress the application installation package to get a fully executable file. A complete executable file is parsed in memory to extract signature information and the extracted signature information is compared to the signature of a virus sample in a predefined virus signature library so that the application installation package Program or virus. For example, suppose you have an ApeK file in your Android system, you can extract the ApeK file to get a DX file and parse the DX file to get the class name, process name, A string or other signature information can be extracted. When the extracted signature information matches the signature of the virus sample in the pre-set signature library, it is determined whether the api file is a log program or a virus.

그러나, 여기에는 적어도 다음과 같은 문제점들이 존재한다. 종래 기술에 있어서, 어플리케이션 설치 패키지를 테스트하기 위하여, 상기 어플리케이션 설치 패키지에 대한 압축을 풀어, 완전한 형태의 실행 가능한 파일을 얻어야 할 필요가 있고, 완전한 형태의 실행 가능한 파일은 메모리 내에서 파스되여, 서명 정보를 얻는다. 실행 가능한 파일의 사이즈가 클 때, 완전한 형태의 실행 가능한 파일을 메모리 내에 저장하는 것은 많은 메모리 공간을 차지하므로, 사용 가능한 메모리 공간이 감소되고, 서명 정보를 추출하기에 필요한 시간이 지연되며, 이 또한 어플리케이션 설치 패키지로부터 서명 정보를 추출하는 효율에 심각하게 영향을 준다.
However, at least the following problems exist here. In the prior art, in order to test the application installation package, it is necessary to decompress the application installation package to obtain a complete executable file, and the complete executable file is parsed in memory, Get information. When the size of the executable file is large, storing the complete type of executable file in memory takes up a lot of memory space, so the available memory space is reduced, the time required to extract the signature information is delayed, It severely affects the efficiency of extracting signature information from the application installation package.

종래 기술의 문제점들을 해결하기 위하여, 본 발명의 실시형태들은 어플리케이션 설치 패키지로부터 서명 정보를 추출하는 방법, 장치 및 클라이언트 디바이스를 제공한다.
In order to solve the problems of the prior art, embodiments of the present invention provide a method, an apparatus and a client device for extracting signature information from an application installation package.

본 발명의 일 실시예에 따르면, 어플리케이션 설치 패키지로부터 서명 정보를 추출하는 방법을 제공하는것으로, 상기 방법은 사이즈가 문턱 값(threshold value)보다 크지 않은 어플리케이션 설치 패키지 내의 데이터의 압축을 푸는 단계; 압축이 풀린 데이터를 분석하여, 어플리케이션 설치 패키지의 서명 정보를 추출하는데 사용될 수 있는 임계 데이터를 얻는 단계; 상기 2개의 단계를 반복하여, 어플리케이션 설치 패키지의 압축이 완전히 풀릴 때 까지, 어플리케이션 설치 패키지의 모든 임계 데이터를 얻는 단계; 및 모든 임계 데이터를 파싱(parsing)하여, 어플리케이션 설치 패키지의 서명 정보를 추출하는 단계를 포함한다.According to an embodiment of the present invention, there is provided a method of extracting signature information from an application installation package, the method comprising: decompressing data in an application installation package whose size is not greater than a threshold value; Analyzing the decompressed data to obtain critical data that can be used to extract signature information of the application installation package; Repeating the two steps to obtain all the critical data of the application installation package until the compression of the application installation package is completely released; And parsing all the critical data to extract signature information of the application installation package.

선택적으로, 상기 방법에서의 문턱 값은 사전에 설정된 값이거나, 또는 어플리케이션 설치 패키지의 사이즈에 근거한 값이다.Optionally, the threshold value in the method is a predetermined value or a value based on the size of the application installation package.

선택적으로, 상기 방법에서의 서명 정보는 적어도 클래스 명, 프로세스 명 및 상수 스트링 중의 하나이다.
Optionally, the signature information in the method is at least one of a class name, a process name, and a constant string.

본 발명의 다른 실시예에 따르면, 어플리케이션 설치 패키지로부터 서명 정보를 추출하는 장치를 제공하는 것으로, 상기 장치는 사이즈가 문턱 값보다 크지 않은 어플리케이션 설치 패키지 내의 데이터의 압축을 풀기 위한 압축 풀기 모듈; 압축이 풀린 데이터를 분석하여, 어플리케이션 설치 패키지의 서명 정보를 추출하는데 사용될 수 있는 임계 데이터를 얻는 획득 모듈; 상기 압축 풀기 모듈 및 상기 획득 모듈이 상응한 작업을 반복 수행하도록 제어하여, 상기 어플리케이션 설치 패키지의 압축이 완전히 풀릴 때 까지, 어플리케이션 설치 패키지의 모든 임계 데이터를 얻는 제어 모듈; 및 모든 임계 데이터를 파싱(parsing)하여, 어플리케이션 설치 패키지의 서명 정보를 추출하는 추출 모듈을 포함한다.According to another embodiment of the present invention, there is provided an apparatus for extracting signature information from an application installation package, the apparatus comprising: a decompression module for decompressing data in an application installation package whose size is not larger than a threshold value; An acquisition module that analyzes the decompressed data to obtain critical data that can be used to extract signature information of the application installation package; A control module that controls the decompression module and the acquisition module to perform a corresponding operation repeatedly and obtains all the critical data of the application installation package until the compression of the application installation package is completely released; And an extraction module for extracting signature information of the application installation package by parsing all the critical data.

선택적으로, 상기 장치는 문턱 값을 사전에 설정하거나, 또는 어플리케이션 설치 패키지의 사이즈에 근거하여 문턱 값을 결정하는 문턱 값 결정 모듈을 더 포함한다.Optionally, the device further comprises a threshold determination module for presetting the threshold value or for determining a threshold value based on the size of the application installation package.

선택적으로, 상기 장치에서의 서명 정보는 적어도 클래스 명, 프로세스 명 및 상수 명들 중의 하나를 포함한다.
Optionally, the signature information in the device includes at least one of a class name, a process name, and a constant name.

본 발명의 다른 실시예에 따르면, 에이피케이 파일로부터 서명 정보를 추출하는 방법이 제공되며, 상기 방법은 상술한 방법들 중 임의의 방법일 수도 있다.According to another embodiment of the present invention, there is provided a method of extracting signature information from an API file, which method may be any of the methods described above.

본 발명의 다른 실시예에 따르면, 클라이언트 디바이스가 제공되며, 상기 클라이언트 디바이스는 어플리케이션 설치 패키지로부터 서명 정보를 추출하는 상술한 장치들 중 임의의 장치를 포함한다.According to another embodiment of the present invention, a client device is provided, wherein the client device comprises any of the above-mentioned devices for extracting signature information from an application installation package.

선택적으로, 상기 클라이언트 디바이스는 이동형 단말기를 포함한다. Optionally, the client device comprises a mobile terminal.

선택적으로, 상기 클라이언트 디바이스는 안드로이드 시스템이 설치된 이동형 단말기를 포함한다.
Optionally, the client device comprises a mobile terminal with an Android system installed therein.

본 발명의 실시형태들에 따르면, 사이즈가 문턱 값보다 크지 않은 어플리케이션 설치 패키지 내의 데이터의 압축을 푸는 단계; 압축이 풀린 데이터를 분석하여, 어플리케이션 설치 패키지의 서명 정보를 추출하는데 사용될 수 있는 임계 데이터를 얻는 단계; 상기 2개의 단계를 반복하여, 어플리케이션 설치 패키지의 압축이 완전히 풀릴 때 까지, 어플리케이션 설치 패키지의 모든 임계 데이터를 얻는 단계; 및 모든 임계 데이터를 파싱하여, 어플리케이션 설치 패키지의 서명 정보를 추출하는 단계를 제공하는 어플리케이션 설치 패키지로부터 서명 정보를 추출하는 방법, 장치 및 클라이언트 디바이스가 제공된다. According to embodiments of the present invention, there is provided a method comprising: decompressing data in an application installation package whose size is not greater than a threshold value; Analyzing the decompressed data to obtain critical data that can be used to extract signature information of the application installation package; Repeating the two steps to obtain all the critical data of the application installation package until the compression of the application installation package is completely released; And a method and apparatus for extracting signature information from an application installation package that provides a step of parsing all the threshold data and extracting signature information of the application installation package.

본 발명의 상기 실시형태들에 따르면, 사이즈가 문턱 값과 동일한 어플리케이션 설치 패키지 내의 데이터의 압축이 각각 메모리 내에서 풀릴 수 있으며, 압축이 풀린 후, 압축이 풀린 데이터에 대해 분석하여, 어플리케이션 설치 패키지의 서명 정보를 추출하는데 사용될 수 있는 임계 데이터를 얻으므로, 데이터 압축 풀기 프로세스는 많은 메모리를 필요로 하지 않는다. According to the embodiments of the present invention, the compression of the data in the application installation package whose size is the same as the threshold value can be released in each memory, and after decompression, the decompressed data is analyzed, Since the critical data that can be used to extract the signature information is obtained, the data decompression process does not require much memory.

또한, 본 발명의 상기 실시형태들에 따르면, 각각의 압축을 푼 이후에 임계 데이터만을 얻고, 어플리케이션 설치 패키지의 서명 정보는 모든 얻어진 임계 데이터로부터만 추출된다.
Further, according to the embodiments of the present invention, only the critical data is obtained after each decompression, and the signature information of the application installation package is extracted from all the obtained threshold data.

전체 실행 가능한 파일로부터 어플리케이션 설치 패키지의 서명 정보를 추출하는 종래 방법과 비교하면, 본 발명의 실시형태들은 어플리케이션 설치 패키지로부터 서명 정보를 추출하는데 필요한 메모리 사용 공간과 시간을 효과적으로 줄일 수 있어, 어플리케이션 설치 패키지부터 서명 정보를 추출하는 효율이 개선된다.
Compared with the conventional method of extracting the signature information of the application installation package from the entire executable file, the embodiments of the present invention can effectively reduce the memory usage space and time required to extract the signature information from the application installation package, The efficiency of extracting the signature information is improved.

본 발명의 실시형태들의 기술적인 특징들을 보다 잘 설명하기 위하여, 본 발명의 다양한 실시형태들은 다음의 첨부된 도면들과 함께 간략히 설명될 것이다. 첨부된 도면들은 본 발명의 예시적인 실시형태들을 도시하기 위한 것이며, 해당 기술 분야의 당업자는 본 발명의 원리로부터 벗어남이 없이 추가적인 구성을 유추할 수 있음은 자명하다.
도 1은 본 발명의 일 실시형태에 따라 어플리케이션 설치 패키지로부터 서명 정보를 추출하는 방법에 대한 예시적인 흐름도이다.
도 2는 본 발명의 다른 실시형태에 따라 어플리케이션 설치 패키지로부터 서명 정보를 추출하는 방법에 대한 예시적인 흐름도이다.
도 3은 본 발명의 또 다른 실시형태에 따라 어플리케이션 설치 패키지로부터 서명 정보를 추출하는 장치에 대한 예시적인 모식도이다.
도 4는 본 발명의 또 다른 실시형태에 따라 어플리케이션 설치 패키지로부터 서명 정보를 추출하는 장치에 대한 예시적인 모식도이다.
도 5는 본 발명의 또 다른 실시형태에 따라 클라이언트 디바이스를 도시하는 예시적인 모식도이다.
BRIEF DESCRIPTION OF THE DRAWINGS For a better understanding of the technical features of embodiments of the present invention, various embodiments of the present invention will be briefly described with reference to the accompanying drawings. It is to be understood that the attached drawings are intended to illustrate exemplary embodiments of the invention and that those skilled in the art will be able to deduce additional configurations without departing from the principles of the invention.
1 is an exemplary flow chart of a method for extracting signature information from an application installation package in accordance with an embodiment of the present invention.
2 is an exemplary flow chart of a method for extracting signature information from an application installation package in accordance with another embodiment of the present invention.
3 is an exemplary schematic diagram of an apparatus for extracting signature information from an application installation package in accordance with another embodiment of the present invention.
4 is an exemplary schematic diagram of an apparatus for extracting signature information from an application installation package in accordance with another embodiment of the present invention.
5 is an exemplary schematic diagram illustrating a client device in accordance with another embodiment of the present invention.

본 발명의 실시형태들의 목적, 기술 특징 및 장점들을 보다 잘 설명하기 위하여, 본 발명의 다양한 실시형태들은 첨부된 도면과 함께 상세히 설명될 것이다. 아래의 설명에서, 용어 "클라이언트(client)"는 데스크탑(desktop) 컴퓨터, 랩탑(laptop), 넷북(netbook), 태블릿(tablet), 이동 전화기, 멀티미디어 티비(multimedia TV) 및 다른 전자 장비 또는 클라이언트 측의 어플리케이션 프로그램을 포함하나 한정하지 않는 클라이언트 단말 디바이스에 해당된다.BRIEF DESCRIPTION OF THE DRAWINGS For a better understanding of the objects, technical features and advantages of the embodiments of the present invention, various embodiments of the present invention will be described in detail with reference to the accompanying drawings. In the following description, the term "client" is intended to encompass all types of electronic devices, including desktop computers, laptops, netbooks, tablets, mobile telephones, But does not limit the application program of the client terminal device.

[제1실시형태][First Embodiment]

도 1은 본 발명의 제1실시형태에 따라 어플리케이션 설치 패키지로부터 서명 정보를 추출하기 위한 방법에 관한 예시적인 흐름도이다. 본 실시형태에 따라 어플리케이션 설치 패키지로부터 서명 정보를 추출하는 방법은 장치내에서 실행될 수 있고, 클라이언트 디바이스에 설치될 수 있는 어플리케이션 설치 패키지로부터 서명 정보를 추출한다. 도 1에 도시된 바와 같이, 본 실시형태에 따라 어플리케이션 설치 패키지로부터 서명 정보를 추출하는 방법은 다음의 단계들을 포함한다.1 is an exemplary flow chart of a method for extracting signature information from an application installation package in accordance with a first embodiment of the present invention. The method for extracting the signature information from the application installation package according to the present embodiment can be executed in the apparatus and extracts the signature information from the application installation package that can be installed in the client device. As shown in Fig. 1, a method for extracting signature information from an application installation package according to the present embodiment includes the following steps.

단계 100: 사이즈가 문턱 값(threshold value)보다 사이즈 크지 않은 어플리케이션 설치 패키지 내의 데이터의 압축을 푸는 단계.Step 100: decompressing the data in the application installation package whose size is not larger than the threshold value.

단계 101: 압축된 데이터를 분석하여, 어플리케이션 설치 패키지의 서명 정보를 추출하는데 사용될 수 있는 임계 데이터(critical data)를 얻는 단계.Step 101: Analyzing the compressed data to obtain critical data that can be used to extract signature information of the application installation package.

본 명세서에서 사용되는 용어 "임계 데이터(critical data)"는 어플리케이션 설치 패키지로부터 서명 정보를 추출하는데 사용되는 데이터에 해당된다.The term "critical data ", as used herein, refers to data used to extract signature information from an application installation package.

단계 102: 상술한 단계 100 및 101을 반복하여, 어플리케이션 설치 패키지의 압축이 완전히 풀리기까지, 어플리케이션 설치 패키지 내의 모든 임계 데이터를 얻는 단계.Step 102: Repeat steps 100 and 101 to obtain all the threshold data in the application installation package until the compression of the application installation package is completely released.

상기 실시형태에 따르면, 임계 데이터는 어플리케이션 설치 패키지 내의 실행 가능한 파일의 서명 정보를 얻는데 사용될 수 있다. 더 나아가, 임계 데이터 이외에도, 실행 가능한 파일은 다른 데이터를 더 포함하며, 상기 다른 데이터는 어플리케이션 설치 패키지의 서명 정보를 포함하지 않는다. 예를 들면, 안드로이드 시스템 내의 실행 가능한 덱스 파일은 다음의 포맷(format)을 갖는다. (1) 파일 헤더(header), (2) 스트링 테이블, (3) 클래스 리스트, (4) 필드(field) 테이블, (5) 방법(method) 테이블, (6) 클래스 정의 테이블, (7) 필드 리스트, (8) 방법 리스트, (9) 코드 헤더 및 (10) 로컬 변수(variable) 리스트. 임계 데이터는 파일 헤드(head) 또는 덱스 파일의 스트링 테이블 내에만 포함될 수 있다. 따라서, 압축을 풀어 얻은 모든 임계 데이터의 사이즈는 어플리케이션 설치 패키지 내의 실행 가능한 파일의 사이즈보다 작다.According to the above embodiment, the threshold data may be used to obtain signature information of an executable file in an application installation package. Further, in addition to the threshold data, the executable file further includes other data, which does not include the signature information of the application installation package. For example, an executable dex file in the Android system has the following format. (1) a file header, (2) a string table, (3) a class list, (4) a field table, (5) a method table, List, (8) method list, (9) code header, and (10) local variable list. The threshold data may only be contained within a string table of a file head or a dex file. Therefore, the size of all the critical data obtained by decompressing is smaller than the size of the executable file in the application installation package.

단계 103: 모든 임계 데이터를 파싱(parsing)하여, 어플리케이션 설치 패키지의 서명 정보를 추출하는 단계.Step 103: Parsing all the threshold data and extracting signature information of the application installation package.

상기 실시형태에 따른 어플리케이션 설치 패키지는 윈도우즈용 어플리케이션 설치 패키지 또는 안드로이드 시스템용 어플리케이션 설치 패키지와 같은 다양한 시스템 내의 어플리케이션 설치 패키지일 수 있다. 예를 들면, 안드로이드 시스템용 어플리케이션 설치 패키지는 에이피케이(apk) 파일이 이에 해당된다. 어플리케이션 설치 패키지가 에이피케이 파일일 때, 해당하는 실행 가능한 파일은 덱스 문서(dex document)이며, 모든 임계 데이터의 사이즈는 덱스 파일(dex file)의 사이즈보다 작다. 어플리케이션 설치 패키지는 아이오에스(iOS) 시스템 내의 어플리케이션 설치 패키지일 수도 있다.The application installation package according to the above embodiment may be an application installation package in various systems such as a Windows application installation package or an Android system application installation package. For example, an application install package for an Android system is an apk file. When the application installation package is an api file, the corresponding executable file is a dex document, and the size of all critical data is smaller than the size of the dex file. The application installation package may be an application installation package in an iOS system.

예를 들면, 상기 실시형태에 있어서, 문턱 값은 사전에 설정된 값이거나, 어플리케이션 설치 패키지의 사이즈에 근거한 값일 수 있다. 예를 들면, 상기 실시형태에서 메모리 사용 공간을 줄이기 위하여, 문턱 값은 수십 킬로바이트(dozens of kilobytes) 정도의 작은 사이즈로 설정될 수 있다. 상기 실시형태에 따르면, 사이즈가 문턱 값과 동일한 어플리케이션 설치 패키지 내의 압축된 데이터만 각각 압축이 풀리고, 정확한 서명 정보를 추출하는데 사용될 수 있는 임계 데이터는 압축된 데이터로부터 직접 얻는다. 어플리케이션 설치 패키지는 리소스 파일, 구성 파일, 실행 가능한 파일 등을 포함하기 때문에, 사이즈가 문턱 값과 동일한 데이터의 압축을 푼 이후, 압축이 풀린 데이터가 어플리케이션 설치 패키지의 어느 파일에 속하는지가 결정될 수 있다. 서명 정보가 어플리케이션 설치 패키지의 실행 가능한 파일들로부터만 추출될 수 있기 때문에, 리소스 파일 또는 구성 파일로부터의 압축이 풀린 파일은 버려질 수 있고, 실행 가능한 파일로부터의 압축이 풀린 데이터만이 유지된다. 또한, 실행 가능한 파일은 서명 정보를 추출하는데 사용될 수 있는 데이터이고 서명 정보를 추출하는데 사용될 수 없는 데이터를 포함한다. 어플리케이션 설치 패키지의 서명 정보를 추출하는데 사용될 수 있는 데이터만이 유용하기 때문에, 압축이 풀린 데이터 내의 어플리케이션 설치 패키지의 서명 정보를 추출하는데 사용될 수 있는 실행 가능한 파일 내의 임계 데이터만이 유지된다. For example, in the above embodiment, the threshold value may be a preset value or a value based on the size of the application installation package. For example, in the above embodiment, in order to reduce the memory use space, the threshold value may be set to a small size such as dozens of kilobytes. According to this embodiment, only the compressed data in the application installation package whose size is equal to the threshold value is respectively decompressed, and the critical data that can be used to extract the correct signature information is obtained directly from the compressed data. Since the application installation package includes a resource file, a configuration file, an executable file, and the like, after the data whose size is equal to the threshold value is decompressed, it can be determined which file of the application installation package the decompressed data belongs to. Since the signature information can only be extracted from the executable files of the application installation package, the decompressed file from the resource file or configuration file can be discarded and only the decompressed data from the executable file is retained. The executable file also contains data that can be used to extract signature information and data that can not be used to extract signature information. Because only the data that can be used to extract the signature information of the application installation package is useful, only the critical data in the executable file that can be used to extract the signature information of the application installation package in the unpacked data is maintained.

이에 따라, 일부분의 임계 데이터는 각각의 압축을 푼 이후에 얻어지고, 모든 임계 데이터는 압축 풀기를 반복하여 전체 어플리케이션 설치 패키지의 압축을 푼 이후에 얻어진다. 서명 정보는 어플리케이션 설치 패키지의 모든 임계 데이터로부터 추출된다. 예를 들면, 어플리케이션 설치 패키지의 서명 정보는 실행 가능한 파일을 파싱하여, 어플리케이션 설치 패키지의 서명 정보를 얻는 방법에 따라, 모든 임계 데이터로부터 추출될 수 있다.Thus, a portion of the threshold data is obtained after each decompression, and all the threshold data is obtained after decompressing the entire application installation package, repeating decompression. The signature information is extracted from all critical data of the application installation package. For example, the signature information of the application installation package can be extracted from all the critical data according to the method of parsing the executable file and obtaining the signature information of the application installation package.

본 발명의 상기 실시형태에 따르면, 어플리케이션 설치 패키지로부터 서명 정보를 추출하는 방법을 제공하는 것으로, 상기 방법은 사이즈가 문턱 값보다 크지 않은 어플리케이션 설치 패키지 내의 데이터의 압축을 푸는 단계; 압축이 풀린 데이터를 분석하여, 어플리케이션 설치 패키지의 서명 정보를 추출하는데 사용될 수 있는 임계 데이터를 얻는 단계; 상기 2개의 단계를 반복하여, 플리케이션 설치 패키지의 압축이 완전히 풀릴 때 까지, 어플리케이션 설치 패키지의 모든 임계 데이터를 얻,는 단계; 및 모든 임계 데이터를 파싱(parsing)하여, 어플리케이션 설치 패키지의 서명 정보를 추출하는 단계를 포함한다. According to this aspect of the present invention, there is provided a method of extracting signature information from an application installation package, the method comprising: decompressing data in an application installation package whose size is not greater than a threshold; Analyzing the decompressed data to obtain critical data that can be used to extract signature information of the application installation package; Repeating the two steps to obtain all the critical data of the application installation package until the compression of the application installation package is completely released; And parsing all the critical data to extract signature information of the application installation package.

본 발명의 상기 실시형태에 따르면, 사이즈가 문턱 값과 동일한 어플리케이션 설치 패키지 내의 데이터의 압축을 메모리 내에서 풀고, 압축이 풀린 이후 압축이 풀린 데이터를 분석하여, 어플리케이션 설치 패키지의 서명 정보를 추출하는데 사용될 수 있는 임계 데이터를 얻으므로, 상기 데이터 압축 풀기 프로세스는 많은 메모리를 필요로 하지 않는다. 또한, 본 발명의 상기 실시형태에 따르면, 각각의 압축을 푼 이후에 임계 데이터만을 얻을 수 있고, 어플리케이션 설치 패키지의 서명 정보는 모든 얻어진 임계 데이터로부터만 추출된다. 전체 실행 가능한 파일로부터 어플리케이션 설치 패키지의 서명 정보를 추출하는 종래 방법과 비교하면, 본 발명의 상기 실시형태는 어플리케이션 설치 패키지로부터 서명 정보를 추출하는데 필요한 메모리 사용 공간과 시간을 효과적으로 줄일 수 있어, 어플리케이션 설치 패키지부터 서명 정보를 추출하는 효율이 개선된다.According to this embodiment of the present invention, compression of data in an application installation package whose size is the same as a threshold value is released in memory, and after decompression is analyzed, decompressed data is used to extract signature information of the application installation package , The data decompression process does not require much memory. Further, according to the above embodiment of the present invention, only the threshold data can be obtained after each decompression, and the signature information of the application installation package is extracted from all the obtained threshold data. Compared with the conventional method of extracting the signature information of the application installation package from the entire executable file, the above embodiment of the present invention can effectively reduce the memory use space and time required for extracting the signature information from the application installation package, The efficiency of extracting the signature information from the package is improved.

예를 들면, 선택적으로, 도 1의 실시예에 있어서, 사이즈가 단계 100에서의 문턱 값보다 크지 않은 어플리케이션 설치 패키지 내의 데이터의 압축을 풀기 이전에, 어플리케이션 설치 패키지로부터 서명 정보를 추출하는 방법은 다음의 단계들을 더 포함할 수 있다.For example, optionally, in the embodiment of FIG. 1, the method for extracting the signature information from the application installation package prior to decompressing the data in the application installation package whose size is not greater than the threshold at step 100 is as follows: As shown in FIG.

(1) 어플리케이션 설치 패키지 내의 압축이 풀리지 않은 데이터의 사이즈가 문턱 값보다 더 크거나 또는 동일한지를 결정하고, 만약 어플리케이션 설치 패키지 내의 압축이 풀리지 않은 데이터의 사이즈가 문턱 값보다 크거나 또는 동일하다면, 단계(2)로 진입하고, 만약 어플리케이션 설치 패키지 내의 압축이 풀리지 않은 데이터의 사이즈가 문턱 값보다 작다면, 단계(3)으로 진입.(1) if the size of uncompressed data in the application install package is greater than or equal to the threshold, and if the size of the uncompressed data in the application install package is greater than or equal to the threshold, (2), and if the size of the uncompressed data in the application installation package is less than the threshold, enter step (3).

(2) 사이즈가 문턱 값과 동일한 어플리케이션 설치 패키지의 압축이 풀리지 않은 데이터를 읽고, 선택적으로, 단계(4)로 진입.(2) reads uncompressed data of the application installation package whose size is equal to the threshold, and, optionally, enters step (4).

(3) 어플리케이션 설치 패키지로부터 압축이 풀리지 않은 데이터를 읽고, 선택적으로, 단계(5)로 진입.(3) reads uncompressed data from the application installation package and, optionally, enters step (5).

(4) 사이즈가 문턱 값과 동일한 어플리케이션 설치 패키지 내의 데이터의 압축을 푸는 단계.(4) decompressing the data in the application installation package whose size is equal to the threshold value.

상기 단계(4)는 사이즈가 본 실시형태의 단계 100에서의 문턱 값보다 크지 않은 어플리케이션 설치 패키지 내의 데이터의 압축을 푸는 구체적인 실행에 따라 실시될 수 있다.Step (4) may be implemented according to a specific implementation of decompressing the data in the application installation package whose size is not greater than the threshold in step 100 of the present embodiment.

(5) 사이즈가 문턱 값보다 작은 어플리케이션 설치 패키지 내의 데이터의 압축을 푸는 단계.(5) decompressing the data in the application installation package whose size is smaller than the threshold value.

상기 단계(5)는 사이즈가 본 실시형태의 단계 100에서의 문턱 값보다 크지 않은 어플리케이션 설치 패키지 내의 데이터의 압축을 푸는 다른 구체적인 실행에 따라 실시될 수 있다.The step (5) may be carried out according to another specific implementation of decompressing the data in the application installation package whose size is not greater than the threshold in step 100 of the present embodiment.

선택적으로, 상기 실시형태에 따르면, 모든 얻어진 임계 데이터는 구체적인 프로세스 요구에 따라 메모리 또는 캐시(cache) 내에 저장될 수 있다. 또는, 임계 데이터는 디스크에 저장될 수도 있고, 어플리케이션 설치 패키지의 서명 정보를 추출할 필요가 있을 때, 캐시 또는 메모리에 쓰기(write)를 진행할 수 있다. 본 발명의 상기 실시형태에 따르면, 임계 데이터만이 어플리케이션 설치 패키지의 서명 정보를 추출하는데 처리되고, 이에 대조적으로 종래 기술에서는 모든 실행 가능한 파일을 분석하여 어플리케이션 설치 패키지의 서명 정보를 추출한다. 모든 임계 데이터의 사이즈가 실행 가능한 파일의 사이즈보다 작기 때문에, 본 발명의 상기 실시형태는 어플리케이션 설치 패키지로부터 서명 정보를 추출하는데 필요한 메모리 사용 공간 및 시간을 효과적으로 줄일 수 있으며, 어플리케이션 설치 패키지로부터 서명 정보를 추출하는 효율이 개선된다.Alternatively, according to the embodiment, all obtained threshold data may be stored in a memory or cache according to specific process requirements. Alternatively, the threshold data may be stored on the disk, and when it is necessary to extract the signature information of the application install package, it may proceed to write to the cache or memory. According to the above embodiment of the present invention, only the threshold data is processed to extract the signature information of the application installation package. In contrast, in the prior art, all executable files are analyzed to extract signature information of the application installation package. Since the size of all the critical data is smaller than the executable file size, the embodiment of the present invention can effectively reduce the memory usage space and time required to extract the signature information from the application installation package, The extraction efficiency is improved.

선택적으로, 본 발명의 일 실시형태에서의 어플리케이션 설치 패키지의 서명 정보는 적어도 클래스 명, 프로세스 명 및 상수 스트링 중의 하나를 포함한다. 어플리케이션 설치 패키지의 서명 정보는 사전에 설정된 바이러스 서명 라이브러리 내의 바이러스 서명 정보와 비교되여, 어플리케이션 설치 패키지가 로그 프로그램 또는 바이러스를 포함하고 있는지를 결정한다. 사전에 설정된 바이러스 서명 라이브러리는 복수 개의 바이러스 샘플들을 포함하며, 각각의 바이러스 샘플은 적어도 하나의 서명을 포함한다. 추출된 서명 정보가 바이러스 라이브러리 내의 바이러스의 모든 서명 정보와 일치할 때, 어플리케이션 설치 패키지는 로그 프로그램 또는 바이러스라고 결정될 수 있고, 그렇지 않을 시, 어플리케이션 설치 패키지는 안전하다. 종래 기술은 상기 실행의 세부사항에 참조될 수 있지만, 본 명세서에서는 따로 설명되지 않는다.Optionally, the signature of the application install package in an embodiment of the present invention includes at least one of a class name, a process name, and a constant string. The signature information of the application installation package is compared with the virus signature information in the preset virus signature library to determine whether the application installation package includes a log program or a virus. The preset virus signature library includes a plurality of virus samples, each virus sample including at least one signature. When the extracted signature information matches all the signature information of the viruses in the virus library, the application installation package can be determined to be a log program or virus, otherwise, the application installation package is safe. The prior art can be referenced in the details of the above implementation, but is not described separately herein.

전체 실행 가능한 파일로부터 어플리케이션 설치 패키지의 서명 정보를 추출하는 종래 기술과 비교하여, 본 발명의 상기 실시형태는 어플리케이션 설치 패키지로부터 서명 정보를 추출하는데 필요한 메모리 사용 공간 및 시간을 효과적으로 줄일 수 있고, 어플리케이션 설치 패키지로부터 서명 정보를 추출하는 효율이 개선된다.Compared with the prior art in which the signature information of the application installation package is extracted from the entire executable file, the above embodiment of the present invention can effectively reduce the memory usage space and time required to extract the signature information from the application installation package, The efficiency of extracting the signature information from the package is improved.

상술한 바와 같이, 상술한 실시형태에 따라 어플리케이션 설치 패키지의 서명 정보를 추출하는 방법은 바이러스 검출 방법에도 적용될 수 있다. 어플리케이션 설치 패키지의 서명 정보가 추출될 수 있고, 종래 기술을 이용하여 추출된 서명 정보 또는 사전에 설정된 바이러스 서명 라이브러리 내의 서명 정보와 비교하여, 어플리케이션 설치 패키지가 로그 파일인지 또는 바이러스인지를 결정한다. 종래 기술은 상기 실행의 세부사항에 참조될 수 있지만, 본 명세서에서는 이에 대하여 따로 설명되지 않는다.
As described above, the method of extracting the signature information of the application installation package according to the above-described embodiment can also be applied to the virus detection method. The signature information of the application installation package can be extracted and compared with the signature information extracted using the conventional technique or the signature information in the preset virus signature library to determine whether the application installation package is a log file or a virus. The prior art can be referenced in the details of the above implementation, but is not described separately herein.

[제2실시형태][Second Embodiment]

도 2는 본 발명의 제2실시형태에 따라 어플리케이션 설치 패키지로부터 서명 정보를 추출하는 방법을 도시하는 예시적인 흐름도이다. 도 2에 도시된 바와 같이, 본 발명의 제2실시형태에 따라 어플리케이션 설치 패키지로부터 서명 정보를 추출하는 방법은 구체적인 어플리케이션 시나리오에 근거한 이전 실시예의 개선된 내용으로서, 본 발명의 기술적인 특징들을 진일보로 예시한다. 이와 유사하게, 본 발명의 제2실시형태에 따라 어플리케이션 설치 패키지로부터 서명 정보를 추출하는 방법도 어플리케이션 설치 패키지로부터 서명 정보를 추출하는데 사용되는 장치에 의하여 실행된다. 도 2에 도시된 바와 같이, 본 발명의 제2실시형태에 따라 어플리케이션 설치 패키지로부터 서명 정보를 추출하는 방법은 구체적으로 다음과 같은 단계를 포함한다.2 is an exemplary flow chart illustrating a method for extracting signature information from an application installation package in accordance with a second embodiment of the present invention. As shown in FIG. 2, the method of extracting signature information from the application installation package according to the second embodiment of the present invention is an improved content of the previous embodiment based on a specific application scenario, and the technical features of the present invention can be advanced For example. Similarly, the method for extracting the signature information from the application installation package according to the second embodiment of the present invention is also executed by a device used for extracting the signature information from the application installation package. As shown in FIG. 2, a method for extracting signature information from an application installation package according to a second embodiment of the present invention specifically includes the following steps.

단계 200: 어플리케이션 설치 패키지 내의 압축이 풀리지 않은 데이터의 사이즈가 문턱 값보다 큰지 또는 동일한지를 결정하고, 만약 그렇다면, 단계 201로 진입하고, 만약 그렇지 않다면, 단계 203으로 진입.Step 200: Determine if the size of uncompressed data in the application installation package is greater than or equal to the threshold value, and if so, go to step 201, and if not, go to step 203.

문턱 값은 사전에 설정될 수 있다. 메모리 사용 공간을 줄이기 위하여, 어플리케이션 설치 패키지의 사이즈는 작은 값으로 설정될 수 있어, 일반적으로 문턱 값보다 크다. 이에 따라, 단계 200은 생략될 수 있고, 단계 201이 바로 실시된다. 그러나, 보다 작은 어플리케이션 설치 패키지들이 분실되는 것을 방지하기 위하여, 단계 200부터 시작하는 것이 바람직하다.The threshold value can be set in advance. To reduce the memory footprint, the size of the application install package can be set to a small value, typically greater than the threshold. Thus, step 200 may be omitted, and step 201 is performed immediately. However, in order to prevent smaller application installation packages from being lost, it is desirable to start with step 200.

단계 201: 사이즈가 문턱 값과 동일한 어플리케이션 설치 패키지로부터 압축이 안된 데이터를 메모리 내로 읽어 들인 후, 단계 202로 진입.Step 201: After reading the uncompressed data from the application installation package whose size is equal to the threshold value, enter the step 202.

단계 202: 사이즈가 문턱 값과 동일한 어플리케이션 설치 패키지로부터 압축이 풀리지 않은 데이터의 압축을 메모리 내로 푼 이후, 단계 205로 진입.Step 202: After decompressing uncompressed data from the application installation package whose size is equal to the threshold value into memory, step 205 is entered.

단계 203: 어플리케이션 설치 패키지 내의 압축이 안된 데이터를 메모리 내로 읽어 들인 후, 단계 204로 진입.Step 203: After the uncompressed data in the application installation package is loaded into memory, step 204 is entered.

단계 204: 사이즈가 문턱 값보다 작은 어플리케이션 설치 패키지 내의 압축이 풀리지 않은 데이터의 압축을 메모리 내로 푼 이후, 단계 205로 진입.Step 204: After decompressing the uncompressed data in the application installation package whose size is less than the threshold value into memory, enter step 205.

단계 205: 어플리케이션 설치 패키지의 서명 정보를 추출하는데 사용될 수 있는 임계 데이터를 압축이 풀린 데이터로부터 얻은 후, 단계 206으로 진입.Step 205: After obtaining the critical data that can be used to extract the signature information of the application installation package from the decompressed data,

단계 206: 어플리케이션 설치 패키지의 압축이 충분히 풀렸는지를 결정하고, 만약 그렇다면, 단계 207로 진입하고, 만약 그렇지 않다면, 단계 200으로 진입.Step 206: Determine if the compression of the application installation package has been fully released, and if so, go to step 207 and if not, go to step 200.

단계 207: 압축 풀기 완료에 따라 얻어진 모든 압축이 풀린 데이터를 파스(parse)하고, 모든 임계 데이터로부터 어플리케이션 설치 패키지의 서명 정보를 추출하는 단계.Step 207: parse the decompressed data obtained in accordance with the completion of decompression, and extract signature information of the application installation package from all the threshold data.

예를 들면, 어플리케이션 설치 패키지의 서명 정보는 적어도 클래스 명, 프로세스 명 및 상수 스트링 중의 하나를 포함한다.For example, the signature information of the application installation package includes at least one of a class name, a process name, and a constant string.

본 발명의 제2실시형태에 따르면, 단지 임계 데이터만이 각각의 압축을 푼 풀기 이후에 얻어지므로, 압축 풀기 프로세스는 많은 메모리를 사용하지 않는다. 모든 임계 데이터의 사이즈는 실행 가능한 파일의 사이즈보다 작으며, 어플리케이션 설치 패키지의 서명 정보는 모든 얻어진 임계 데이터로부터만 추출된다. 전체 실행 가능한 파일로부터 어플리케이션 설치 패키지의 서명 정보를 추출하는 종래 기술과 비교하여, 본 발명의 실시형태들은 어플리케이션 설치 패키지로부터 서명 정보를 추출하는데 필요한 메모리 사용 공간 및 시간을 효과적으로 줄일 수 있고, 어플리케이션 설치 패키지로부터 서명 정보를 추출하는 효율이 개선된다.According to the second embodiment of the present invention, the decompression process does not use much memory, since only critical data is obtained after each decompression. The size of all critical data is smaller than the size of the executable file, and signature information of the application installation package is extracted from all the obtained critical data. Compared with the conventional technique of extracting the signature information of the application installation package from the entire executable file, the embodiments of the present invention can effectively reduce the memory usage space and time required to extract the signature information from the application installation package, The efficiency with which the signature information is extracted is improved.

제1 및 제2실시형태를 참조하면, 에이피케이 파일로부터 서명 정보를 추출하는 방법도 본 실시형태에 따라 제공될 수 있고, 상기 방법은 상술한 실시형태에 따라 어플리케이션 설치 패키지로부터 서명 정보를 추출하는 방법에 의해 실행될 수 있다. 상술한 실시형태에 따른 방법은 본 발명의 상기 실행의 세부사항에 참조될 수 있지만, 그 상세한 내용은 본 명세서에 설명되지 않는다.
Referring to the first and second embodiments, a method of extracting signature information from an APK file may also be provided according to the present embodiment, and the method extracts signature information from the application installation package in accordance with the above- Method. ≪ / RTI > The method according to the above-described embodiments can be referred to for the details of the above-mentioned implementation of the present invention, but the details thereof are not described herein.

[제3실시형태][Third embodiment]

도 3은 본 발명의 제3실시형태에 따라 어플리케이션 설치 패키지로부터 서명 정보를 추출하는 장치를 도시하는 예시적인 모식도이다. 도 3에 도시된 바와 같이, 본 발명의 제3실시형태에 따라 어플리케이션 설치 패키지로부터 서명 정보를 추출는 장치는 압축 풀기 모듈(10), 획득(acquisition) 모듈(11), 제어 모듈(12) 및 추출 모듈(13)을 포함한다.3 is an exemplary schematic diagram showing an apparatus for extracting signature information from an application installation package according to a third embodiment of the present invention. 3, an apparatus for extracting signature information from an application installation package according to a third embodiment of the present invention includes a decompression module 10, an acquisition module 11, a control module 12, Module 13 as shown in FIG.

압축 풀기 모듈(10)은 사이즈가 문턱 값보다 크지 않은 어플리케이션 설치 패키지 내의 데이터 압축을 푸는데 사용된다. 획득 모듈(11)은 압축 풀기 모듈(10)에 연결되어 있으며, 압축 풀기 모듈(10)에 의해하여 압축이 풀리는 데이터를 분석하는데 사용되어, 서명 정보를 추출하는데 사용될 수 있는 임계 데이터를 얻는다. 제어 모듈(12)은 압축 풀기 모듈(10) 및 획득 모듈(11)에 연결되며, 압축 풀기 모듈(10) 및 획득 모듈(11)이 연관된 작업들을 반복적으로 수행하도록 제어하는데 사용되며, 압축이 완전히 풀릴 때까지, 어플리케이션 설치 패키지가 어플리케이션 설치 패키지 내의 모든 임계 데이터를 얻는다. 상기의 구성에 있어서, 모든 임계 데이터의 사이즈는 어플리케이션 설치 패키지 내의 실행 가능한 파일보다 작다. 추출 모듈(13)은 획득 모듈(11)에 연결되어 있고, 제어 모듈(12)이 압축 풀기 모듈(10) 및 획득 모듈(11)의 작업을 제어한 이후에, 획득 모듈(11)에 의하여 얻어진 모든 임계 데이터를 파싱하여, 어플리케이션 설치 패키지의 서명 정보를 추출한다하는데 사용된다.The decompression module 10 is used to decompress data in an application installation package whose size is not greater than the threshold value. The acquisition module 11 is connected to the decompression module 10 and is used to analyze the decompressed data by the decompression module 10 to obtain the threshold data that can be used to extract the signature information. The control module 12 is connected to the decompression module 10 and the acquisition module 11 and is used to control the decompression module 10 and the acquisition module 11 to repeatedly perform the associated tasks, Until it is released, the application installation package gets all the critical data in the application installation package. In the above configuration, the size of all the critical data is smaller than the executable file in the application installation package. The extraction module 13 is connected to the acquisition module 11 and after the control module 12 has controlled the operation of the decompression module 10 and the acquisition module 11, It is used to parse all the critical data and to extract the signature information of the application installation package.

본 발명의 제3실시형태에 따른 장치는 어플리케이션 설치 패키지들로부터 서명 정보를 추출하는 상술한 모듈들을 포함하고, 그 작업 원리는 어플리케이션 설치 패키지들로부터 서명 정보를 추출하는 방법의 작업 원리들과 동일하며, 상기 방법의 실시형태들은 상기 실행의 세부사항에 참조될 수 있지만, 그의 내용들은 본 명세서에서 반복하여 설명되지 않는다.The apparatus according to the third embodiment of the present invention includes the aforementioned modules for extracting the signature information from the application installation packages and the operation principle thereof is the same as that of the method of extracting the signature information from the application installation packages , Embodiments of the method can be referenced in the details of the above implementation, but the contents thereof are not repeated herein.

본 발명의 제3실시형태에 따르면, 어플리케이션 설치 패키지로부터 서명 정보를 추출하는 장치가 제공되고, 상기 장치는 사이즈가 문턱 값보다 크지 않은 어플리케이션 설치 패키지 내의 데이터의 압축을 푸는 것; 압축이 풀린 데이터를 분석하여, 어플리케이션 설치 패키지의 서명 정보를 추출하기 위하여 사용될 수 있는 임계 데이터를 얻는 것; 상술한 2개의 단계를 반복하여, 어플리케이션 설치 패키지의 압축이 완전히 풀릴 때 까지, 어플리케이션 설치 패키지의 모든 임계 데이터를 얻는 것; 및 모든 임계 데이터를 파싱하여, 어플리케이션 설치 패키지의 서명 정보를 추출하는 것에 사용되는 상술한 모듈들을 포함한다. 본 발명의 본 실시형태에 따르면, 사이즈가 문턱 값과 동일한 어플리케이션 설치 패키지는 메모리 내에서 각각 압축이 풀리고, 압축이 풀린 이후, 압축이 풀린 데이터는 분석되여, 어플리케이션 설치 패키지의 서명 데이터를 추출하는데 사용될 수 있는 임계 데이터를 얻으므로, 데이터 압축 풀기 프로세스는 많은 양의 메모리를 사용하지 않는다. 또한, 본 발명의 제3실시형태에 따르면, 각각의 압축을 푼 이후에 임계 데이터만이 얻어지고, 모든 임계 데이터의 사이즈는 실행 가능한 파일의 사이즈보다 작으며, 어플리케이션 설치 패키지의 서명 정보는 모든 얻어진 임계 데이터로부터만 추출된다. 전체 실행 가능한 파일로부터 어플리케이션 설치 패키지의 서명 정보를 추출하는 종래 기술과 비교하여, 본 발명의 실시형태들은 어플리케이션 설치 패키지로부터 서명 정보를 추출하는데 필요한 메모리 사용 공간 및 시간을 줄일 수 있어, 어플리케이션 설치 패키지로부터 서명 정보를 추출하는 효율이 개선된다.
According to a third aspect of the present invention there is provided an apparatus for extracting signature information from an application installation package, the apparatus comprising: decompressing data in an application installation package whose size is not greater than a threshold; Analyzing the decompressed data to obtain critical data that can be used to extract signature information of the application installation package; Repeating the above two steps to obtain all the critical data of the application installation package until the compression of the application installation package is completely released; And the modules described above that are used to parse all the threshold data and extract the signature information of the application install package. According to this embodiment of the present invention, after the application installation package whose size is the same as the threshold is decompressed in the memory and decompressed, the decompressed data is analyzed and used to extract the signature data of the application installation package , The data decompression process does not use a large amount of memory. Further, according to the third embodiment of the present invention, only the threshold data is obtained after decompression, the size of all the threshold data is smaller than the size of the executable file, and the signature information of the application installation package is all And is extracted only from the threshold data. Compared with the conventional technique of extracting the signature information of the application installation package from the entire executable file, the embodiments of the present invention can reduce the memory use space and time required for extracting the signature information from the application installation package, The efficiency of extracting signature information is improved.

[제4실시형태][Fourth Embodiment]

도 4는 본 발명의 제4실시형태에 따라 어플리케이션 설치 패키지로부터 서명 정보를 추출하는 장치를 도시하는 예시적인 모식도이다. 도 4에 도시된 바와 같이, 본 발명의 제4실시형태에 따라 어플리케이션 설치 패키지로부터 서명 정보를 추출하는 장치는 도 3의 실시형태에 포함된 특징들에 추가하여, 다음의 특징들을 더 포함한다.4 is an exemplary schematic diagram showing an apparatus for extracting signature information from an application installation package according to a fourth embodiment of the present invention. As shown in FIG. 4, the apparatus for extracting signature information from an application installation package according to the fourth embodiment of the present invention further includes the following features in addition to the features included in the embodiment of FIG.

도 4에 도시된 바와 같이, 본 발명의 제4실시형태에 따라 어플리케이션 설치 패키지로부터 서명 정보를 추출하는 장치는 결정 모듈(14) 및 읽기 모듈(15)를 더 포함한다.As shown in FIG. 4, the apparatus for extracting signature information from an application installation package according to the fourth embodiment of the present invention further includes a determination module 14 and a reading module 15.

결정 모듈(14)은, 모듈(10)이 사이즈가 문턱 값보다 크지 않는 어플리케이션 설치 패키지 내의 데이터의 압축을 풀기 이전에, 어플리케이션 설치 패키지 내의 압축이 풀리지 않은 데이터의 사이즈가 문턱 값보다 큰지 또는 동일한지를 결정하는데 사용된다. 읽기 모듈(15)은 결정 모듈(14)에 연결되어 있고, 만약 결정 모듈(14)이 어플리케이션 설치 패키지 내의 압축이 풀리지 않은 데이터의 사이즈가 문턱 값보다 크거나 또는 동일하다고 결정하면, 사이즈가 문턱 데이터와 동일한 어플리케이션 설치 패키지 내의 압축이 풀리지 않은 데이터를 읽는데 사용된다. 압축 풀기 모듈(10)은 읽기 모듈(15)에 연결되어 있고, 압축 풀기 모듈(10)은 사이즈가 읽기 모듈(15)에 의하여 읽어진 문턱 데이터와 동일한 어플리케이션 설치 패키지 내의 압축이 풀리지 않은 데이터의 압축을 푸는데 사용된다.The determination module 14 determines whether the size of the uncompressed data in the application installation package is greater than or equal to the threshold value before the module 10 decompresses the data in the application installation package whose size is not greater than the threshold value . The read module 15 is coupled to the decision module 14 and if the decision module 14 determines that the size of uncompressed data in the application install package is greater than or equal to the threshold, And uncompressed data in the same application installation package. The decompression module 10 is connected to the read module 15 and the decompression module 10 compresses uncompressed data in the same application install package whose size is equal to the threshold data read by the read module 15 .

선택적으로, 본 발명의 제4실시형태에 따라 어플리케이션 설치 패키지로부터 서명 정보를 추출하는 장치의 읽기 모듈(15)은, 결정 모듈(14)이 어플리케이션 설치 패키지 내의 압축이 풀리지 않은 데이터의 사이즈가 문턱 값보다 작다고 결정할 때, 어플리케이션 설치 패키지 내의 압축이 풀리지 않은 데이터를 읽는데 사용된다. 압축 풀기 모듈(10)은 사이즈가 문턱 값보다 작은 어플리케이션 설치 패키지 내의 압축이 풀리지 않은 데이터의 압축을 푸는데 사용될 수 있다.Alternatively, the reading module 15 of the apparatus for extracting signature information from the application installation package according to the fourth embodiment of the present invention may be configured such that the determination module 14 determines whether the size of uncompressed data in the application installation package is smaller than a threshold , It is used to read uncompressed data in the application installation package. The decompression module 10 may be used to decompress uncompressed data in an application installation package whose size is less than a threshold value.

또한, 선택적으로, 본 발명의 제4실시형태에 따라 어플리케이션 설치 패키지로부터 서명 정보를 추출하는 장치 내의 어플리케이션 설치 패키지들은 에이피케이(apk) 파일일 수 있다.Optionally, the application installation packages in the apparatus for extracting the signature information from the application installation package according to the fourth embodiment of the present invention may be an apk file.

또한, 선택적으로, 본 발명의 제4실시형태에 따라 어플리케이션 설치 패키지로부터 서명 정보를 추출하는 장치 내의 어플리케이션 설치 패키지의 서명 정보는 적어도 클래스 명, 프로세스 명 및 상수 스트링 중의 하나를 포함한다.Optionally, the signature information of the application installation package in the apparatus for extracting signature information from the application installation package according to the fourth embodiment of the present invention includes at least one of a class name, a process name, and a constant string.

선택적으로, 본 발명의 제4실시형태에 따라 어플리케이션 설치 패키지로부터 서명 정보를 추출하는 장치는 문턱 값 결정 모듈을 더 포함하고, 상기 문턱 값 결정 모듈은 문턱 값을 사전에 설정하거나, 어플리케이션 설치 패키지의 사이즈에 근거하여, 문턱 값을 결정하는데 사용된다.Alternatively, the apparatus for extracting signature information from an application installation package according to the fourth aspect of the present invention may further include a threshold value determination module, wherein the threshold value determination module may set thresholds in advance, Based on size, it is used to determine the threshold value.

도 4에 도시된 어플리케이션 설치 패키지로부터 서명 정보를 추출하는 장치에 대한 모든 선택적인 특징들은 본 발명의 기술적인 특징들을 예시적으로 도시하는데 제공된다. 실제에 있어서는, 모든 선택적인 기술 특징들은 본 발명의 다른 실시형태들을 구성하기 위한 조합의 방법으로 사용될 수 있지만, 이에 대한 내용은 본 명세서에서 상세히 설명하지 않는다.All optional features of the apparatus for extracting signature information from the application installation package shown in FIG. 4 are provided to illustrate the technical features of the present invention. In practice, all optional technical features may be used as a method of combination for constituting other embodiments of the present invention, but the details thereof are not described in detail herein.

본 발명의 제4실시형태에 따른 장치는 어플리케이션 설치 패키지로부터 서명 정보를 추출하는 상술한 모듈들을 포함하고, 그 작업 원리는 어플리케이션 설치 패키지들로부터 서명 정보를 추출하는 방법의 작업 원리들과 동일하며, 상기 방법의 실시형태들은 상기 실행의 세부사항에 참조될 수 있지만, 그 내용들은 본 명세서에서 반복하여 설명되지 않는다.The apparatus according to the fourth embodiment of the present invention includes the aforementioned modules for extracting the signature information from the application installation package and the operation principle thereof is the same as the working principles of the method for extracting the signature information from the application installation packages, Embodiments of the method may be referenced in the details of the above implementation, but the contents thereof are not repeated herein.

전체 실행 가능한 파일로부터 어플리케이션 설치 패키지의 서명 정보를 추출하는 종래 기술과 비교하여, 본 발명의 실시형태들은 어플리케이션 설치 패키지로부터 서명 정보를 추출하는데 필요한 메모리 사용 공간 및 시간을 줄일 수 있어, 어플리케이션 설치 패키지로부터 서명 정보를 추출하는 효율이 개선된다.
Compared with the conventional technique of extracting the signature information of the application installation package from the entire executable file, the embodiments of the present invention can reduce the memory use space and time required for extracting the signature information from the application installation package, The efficiency of extracting signature information is improved.

[제5실시형태][Fifth Embodiment]

도 5는 본 발명의 제5실시형태에 따른 클라이언트 디바이스(device)를 도시하는 예시적인 모식도이다. 도 5에 도시된 바와 같이, 본 발명의 제5실시형태에 따른 클라이언트 디바이스(20)은 어플리케이션 설치 패키지의 서명 정보를 추출하는 장치(30)을 포함한다. 5 is an exemplary schematic diagram showing a client device according to a fifth embodiment of the present invention. As shown in FIG. 5, the client device 20 according to the fifth embodiment of the present invention includes an apparatus 30 for extracting signature information of an application installation package.

구체적으로, 본 발명의 제5실시형태에 따른 클라이언트 디바이스 내의 어플리케이션 설치 패키지들의 서명 정보를 추출하는 장치(30)은 도 3 또는 도 4의 장치일 수 있고, 도 1 또는 도 2에 도시된 실시형태들에 따라 상기 방법들을 실행하도록 구성될 수 있다.Specifically, the apparatus 30 for extracting the signature information of the application installation packages in the client device according to the fifth embodiment of the present invention may be the apparatus of Fig. 3 or Fig. 4, Lt; / RTI > may be configured to execute the methods in accordance with the methods described above.

선택적으로, 본 발명의 제5실시형태에 따른 클라이언트 디바이스(20)는 사전에 설정된 바이러스 서명 라이브러리를 포함할 수 있다. 장치(30)가 어플리케이션 설치 패키지로부터 서명 정보를 추출한 이후, 클라이언트 디바이스(20)는 바이러스 서명 라이브러리 내의 바이러스 샘플들의 서명 정보와 비교하여, 어플리케이션 설치 패키지가 로그 프로그램 또는 바이러스 인지를 결정한다. 사전에 설정된 서명 라이브러리는 복수 개의 바이러스 샘플들을 포함할 수 있고, 각각의 바이러스 샘플은 적어도 하나의 서명 정보를 포함할 수 있다. 추출된 서명 정보가 바이러스 서명 라이브러리 내의 바이러스 샘플의 모든 서명 정보와 일치할 때, 어플리케이션 설치 패키지가 로그 프로그램인지, 또는 바이러스 인지가 결정될 수 있고, 그렇지 않으면, 어플리케이션 설치 패키지가 안전한 것으로 결정될 수 있다. 종래 기술은 상기 실행의 세부사항에 참조될 수 있지만, 그에 대한 설명은 본 명세서에서 다루지 않는다.Alternatively, the client device 20 according to the fifth embodiment of the present invention may include a preset virus signature library. After the device 30 extracts the signature information from the application installation package, the client device 20 compares the signature information of the virus samples in the virus signature library to determine whether the application installation package is a log program or a virus. A pre-established signature library may comprise a plurality of virus samples, each virus sample including at least one signature information. When the extracted signature information matches all the signature information of the virus sample in the virus signature library, it can be determined whether the application installation package is a log program or a virus, or the application installation package can be determined to be safe. The prior art can be referenced in the details of the above implementation, but the description thereof is not addressed herein.

선택적으로, 본 발명의 제5실시형태에 따른 클라이언트 디바이스는 이동형 단말기 또는 고정형 단말기를 포함한다. 또한 선택적으로, 본 발명의 제5실시형태에 따른 클라이언트 디바이스는 안드로이드 시스템이 설치된 이동형 단말기를 포함한다.Optionally, the client device according to the fifth embodiment of the present invention includes a mobile terminal or a fixed terminal. Optionally, the client device according to the fifth embodiment of the present invention includes a mobile terminal equipped with an Android system.

본 발명의 제5실시형태에 따르면, 어플리케이션 설치 패키지로부터 서명 정보를 추출하는 장치를 구비하는 클라이언트 디바이스가 제공되고, 상기 디바이스는 사이즈가 문턱 값보다 크지 않은 어플리케이션 설치 패키지 내의 데이터의 압축을 푸는 것; 압축이 풀린 데이터를 분석하여, 어플리케이션 설치 패키지의 서명 정보를 추출하는데 사용될 수 있는 임계 데이터를 얻는 것; 상술한 2개의 단계를 반복하여, 어플리케이션 설치 패키지의 압축이 완전히 풀릴 때 까지, 어플리케이션 설치 패키지의 모든 임계 데이터를 얻는 것; 및 모든 임계 데이터를 파싱하여, 어플리케이션 설치 패키지의 서명 정보를 추출하는것에 사용된다. 본 발명의 본 실시형태에 따르면, 사이즈가 문턱 값과 동일한 어플리케이션 설치 패키지는 메모리 내에서 각각 압축이 풀리고, 압축이 풀린 후, 압축이 풀린 데이터를 분석하여, 어플리케이션 설치 패키지의 서명 데이터를 추출하는데 사용될 수 있는 임계 데이터를 얻으므로, 데이터 압축 풀기 프로세스는 많은 양의 메모리를 사용하지 않는다. 본 발명의 본 실시형태에 따르면, 각각의 압축을 푼 이후 임계 데이터만이 얻어지고, 모든 임계 데이터의 사이즈는 실행 가능한 파일의 사이즈보다 작으며, 어플리케이션 설치 패키지의 서명 정보는 모든 얻어진 임계 데이터로부터만 추출된다. 따라서, 전체 실행 가능한 파일로부터 어플리케이션 설치 패키지의 서명 정보를 추출하는 종래 기술과 비교하여, 본 발명의 실시형태들은 어플리케이션 설치 패키지로부터 서명 정보를 추출하는데 필요한 메모리 사용 공간 및 시간을 줄일 수 있어, 어플리케이션 설치 패키지로부터 서명 정보를 추출하는 효율이 개선된다.According to a fifth aspect of the present invention there is provided a client device comprising a device for extracting signature information from an application installation package, the device comprising: decompressing data in an application installation package whose size is not greater than a threshold; Analyzing the decompressed data to obtain critical data that can be used to extract signature information of the application installation package; Repeating the above two steps to obtain all the critical data of the application installation package until the compression of the application installation package is completely released; And parsing all the critical data to extract the signature information of the application installation package. According to this embodiment of the present invention, an application installation package whose size is the same as the threshold value is decompressed in the memory, decompressed, decompressed, and used to extract signature data of the application installation package , The data decompression process does not use a large amount of memory. According to this embodiment of the present invention, only the threshold data is obtained after each decompression, the size of all the threshold data is smaller than the size of the executable file, and the signature information of the application installation package is only from all obtained threshold data And extracted. Therefore, compared with the conventional technique of extracting the signature information of the application installation package from the entire executable file, the embodiments of the present invention can reduce the memory use space and time required to extract the signature information from the application installation package, The efficiency of extracting the signature information from the package is improved.

상기의 설명에 있어서, 어플리케이션 설치 패키지로부터 서명 정보를 추출하는 장치에 있어서, 다양한 모듈들은 예제를 통하여 본 발명의 실시형태들을 설명하는데 사용되는 단순한 예시적인 예제들이다. 실제에 있어서, 필요에 따라 다양한 기능들이 서로 다른 모듈들에 할당될 수 있으며, 본 장치는 서로 다른 모듈들로 분할되어 상기에 설명한 기능들의 전체 또는 일부를 수행한다. 추가적으로, 본 발명의 실시형태들에 따른 어플리케이션 설치 패키지로부터 서명 정보를 추출하는 장치의 작업 원리들은 어플리케이션 설치 패키지들로부터 서명 정보를 추출하는 방법의 작업 원리들과 동일하고, 상기 방법의 실시형태들은 상기 실행의 세부사항에 참조될 수 있지만, 그의 내용들은 본 명세서에서 반복하여 설명되지 않는다.In the above description, for an apparatus for extracting signature information from an application installation package, the various modules are merely exemplary examples used to illustrate embodiments of the present invention by way of example. In practice, various functions may be assigned to different modules as needed, and the apparatus may be divided into different modules to perform all or part of the functions described above. Additionally, the working principles of the device for extracting the signature information from the application installation package according to embodiments of the present invention are the same as the working principles of the method for extracting the signature information from the application installation packages, May be referenced in the details of execution, but its contents are not repeated herein.

상기에 설명한 기능들 중 하나 이상의 기능들은, 메모리 내에 저장되고 프로세서에 의하여 실행되거나, 또는 프로그램 저장 부분에 저장되고 프로세서에 의하여 실행되는 소프트웨어 또는 펌웨어에 의하여 실행될 수 있다. 소프트웨어 또는 펌웨어는, 명령 실행 시스템에 사용되거나 또는 연결되는 컴퓨터 읽기 가능 매개물 내에 저장되거나 및/또는 이송될 수 있고, 컴퓨터 기반 시스템, 프로세서 포함 시스템 또는 다른 시스템과 같은 장치 또는 디바이스는 명령 실행 시스템, 장치, 또는 디바이스로부터 명령을 가져오고, 또한 상기 명령을 실행한다. 본 명세서의 설명에 있어서, "컴퓨터 읽기 가능 매개물"이라 함은 명령 실행 시스템, 장치 또는 디바이스에 의해 사용되거나 또는 연결되는 프로그램을 포함하거나 또는 저장하는 임의의 매개물일 수 있다. 컴퓨터 읽기 가능 매개물은, 이에 한정되지 않지만, 전자(electronic), 자기(magnetic), 광학(optical), 전자기(electromagnetic), 적외선(infrared) 또는 반도체(semiconductor) 시스템, 장치 또는 디바이스, 이동형 컴퓨터 디스켓(diskette) (자기), 랜덤 억세스 메모리 (RAM, Random Access Memory) (자기), 읽기 전용 메모리(ROM, Read Only Memory) (자기), 삭제 프로그램 가능 읽기 전용 메모리(EPROM, Erasable Programmable Read Only Memory) (자기), CD, CD-R, CD-RW, DVD, DVD-R 또는 DVD-RW와 같은 이동형 광학 디스크 또는 소형 플래시 카드, 보안디지털 카드, USB 메모리 디바이스, 메모리 스틱(sticks) 및 이와 유사한 것들을 포함할 수 있다.One or more of the functions described above may be performed by software or firmware stored in memory and executed by a processor, or stored in a program storage portion and executed by a processor. The software or firmware may be stored and / or transported within a computer-readable medium that is used or connected to an instruction execution system, and a device or device, such as a computer-based system, a processor-comprising system or other system, Or fetches a command from the device and also executes the command. For the purposes of this description, the term "computer readable medium" may be any medium that contains or stores a program used or connected by an instruction execution system, apparatus, or device. A computer readable medium includes, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared or semiconductor systems, devices or devices, removable computer diskettes readable memory (ROM), erasable programmable read-only memory (EPROM), erasable programmable read-only memory (ROM) Removable optical disks or small flash cards such as CD, CD-R, CD-RW, DVD, DVD-R or DVD-RW, secure digital cards, USB memory devices, memory sticks and the like can do.

본 발명의 실시형태들의 순서 부여는 단지 편의상 부여된 것이며, 실시예들의 비교적인 우선 순위를 표시하기 위하여 제공된 것은 아니다. 해당 기술 분야의 당업자는 본 발명의 실시형태들의 전체 또는 부분은 컴퓨터 하드웨어 또는 관련 하드웨어를 제어하는 컴퓨터 프로그램에 의하여 실행될 수 있음을 이해할 것이다. 컴퓨터 프로그램은 컴퓨터 읽기 가능 저장 매개물 내에 저장될 수 있으며, 이와 같은 컴퓨터 읽기 가능 저장 매개물은 읽기 전용 메모리, 자기 디스크 또는 광학 디스크 등이 될 수 있다.The ordering of embodiments of the present invention is provided for convenience only and is not provided for indicating relative priorities of embodiments. Those skilled in the art will appreciate that all or part of the embodiments of the present invention may be implemented by a computer program that controls computer hardware or related hardware. The computer program may be stored in a computer readable storage medium, such as a computer readable storage medium, read only memory, magnetic disk, optical disk, or the like.

본 발명의 다양한 실시형태들은 단지 바람직한 실시형태들이며, 본 발명의 범위를 한정하고자 하는 것은 아니며, 본 발명의 정신 및 원리를 벗어남이 없이 어떤 수정, 등가물 또는 개선들을 포함한다.
The various embodiments of the invention are merely preferred embodiments, and are not intended to limit the scope of the invention, and include any modifications, equivalents, or improvements without departing from the spirit and principles of the invention.

10: 압축 풀기 모듈 11: 획득 모듈
12: 제어 모듈 13: 추출 모듈
14: 결정 모듈 15: 읽기 모듈
20: 클라이언트 디바이스
30: 서명 정보를 추출하는 장치
10: decompression module 11: acquisition module
12: control module 13: extraction module
14: Decision module 15: Read module
20: Client device
30: Device for extracting signature information

Claims (24)

사이즈가 문턱 값보다 크지 않는 어플리케이션 설치 패키지 내의 압축이 풀리지 않은 데이터의 압축을 메모리 내로 푸는 단계;
압축이 풀린 데이터를 분석하여, 상기 어플리케이션 설치 패키지의 서명 정보를 추출하는데 사용될 수 있는 임계 데이터를 얻는 단계;
상기 2개의 단계를 반복하여, 상기 어플리케이션 설치 패키지의 압축이 완전히 풀릴 때까지, 상기 어플리케이션 설치 패키지의 모든 상기 임계 데이터를 얻는 단계; 및
모든 상기 임계 데이터를 파싱(parsing)하여, 상기 어플리케이션 설치 패키지의 서명 정보를 추출하는 단계;를 포함하되,
상기 서명 정보는 적어도 클래스 명, 프로세스 명 및 상수 스트링 중의 하나인 것을 특징으로 하는 어플리케이션 설치 패키지로부터 서명 정보를 추출하는 방법.
Decompressing uncompressed data in an application installation package whose size is not greater than a threshold value into memory;
Analyzing the decompressed data to obtain critical data that can be used to extract signature information of the application installation package;
Repeating the two steps to obtain all the threshold data of the application installation package until the compression of the application installation package is completely released; And
And parsing all of the threshold data to extract signature information of the application installation package,
Wherein the signature information is at least one of a class name, a process name, and a constant string.
제1항에 있어서,
사이즈가 상기 문턱 값과 동일한 상기 어플리케이션 설치 패키지 내의 데이터의 압축을 푸는 단계;를 더 포함하는 것을 특징으로 하는 어플리케이션 설치 패키지로부터 서명 정보를 추출하는 방법.
The method according to claim 1,
And decompressing the data in the application installation package whose size is equal to the threshold value.
제1항에 있어서,
상기 문턱 값은 사전에 설정된 값이거나 또는 상기 어플리케이션 설치 패키지의 사이즈에 근거한 값인 것을 특징으로 하는 어플리케이션 설치 패키지로부터 서명 정보를 추출하는 방법.
The method according to claim 1,
Wherein the threshold value is a value set in advance or a value based on the size of the application installation package.
삭제delete 제1항에 있어서,
상기 어플리케이션 설치 패키지는 에이피케이(apk) 파일인 것을 특징으로 하는 어플리케이션 설치 패키지로부터 서명 정보를 추출하는 방법.
The method according to claim 1,
Wherein the application installation package is an apk file.
제5항에 있어서,
상기 임계 데이터는 덱스(dex) 파일의 파일 헤더(header)로부터 얻어지는 것을 특징으로 하는 어플리케이션 설치 패키지로부터 서명 정보를 추출하는 방법.
6. The method of claim 5,
Wherein the threshold data is obtained from a file header of a dex file.
제5항에 있어서,
상기 임계 데이터는 덱스 파일의 스트링 테이블로부터 얻어지는 것을 특징으로 하는 어플리케이션 설치 패키지로부터 서명 정보를 추출하는 방법.
6. The method of claim 5,
Wherein the threshold data is obtained from a string table of a Dex file.
어플리케이션 설치 패키지로부터 서명 정보를 추출하는 장치에 있어서,
사이즈가 문턱 값보다 크지 않는 어플리케이션 설치 패키지 내의 압축이 풀리지 않은 데이터의 압축을 메모리 내로 푸는 압축 풀기 모듈;
압축이 풀린 상기 데이터를 분석하여, 상기 어플리케이션 설치 패키지의 서명 정보를 추출하는데 사용될 수 있는 임계 데이터를 얻는 획득 모듈;
상기 압축 풀기 모듈 및 상기 획득 모듈이 작업들을 반복 수행하도록 제어하여, 상기 어플리케이션 설치 패키지의 압축이 완전히 풀릴 때까지, 상기 어플리케이션 설치 패키지의 모든 상기 임계 데이터를 얻는 제어 모듈; 및
모든 상기 임계 데이터를 파싱(parsing)하여, 상기 어플리케이션 설치 패키지의 서명 정보를 추출하는 추출 모듈;을 포함하되,
상기 서명 정보는 적어도 클래스 명, 프로세스 명 및 상수 명들 중의 하나를 포함하는 것을 특징으로 하는 어플리케이션 설치 패키지로부터 서명 정보를 추출하는 장치.
An apparatus for extracting signature information from an application installation package,
A decompression module for decompressing decompression of uncompressed data in an application installation package whose size is not greater than a threshold;
An acquisition module for analyzing the decompressed data to obtain critical data that can be used to extract signature information of the application installation package;
A control module that controls the decompression module and the acquisition module to perform operations repeatedly to obtain all the threshold data of the application installation package until the application installation package is completely decompressed; And
And an extraction module for parsing all of the threshold data and extracting signature information of the application installation package,
Wherein the signature information includes at least one of a class name, a process name, and a constant name.
제8항에 있어서,
상기 압축 풀기 모듈은,
사이즈가 상기 문턱 값과 동일한 상기 어플리케이션 설치 패키지 내의 상기 데이터의 압축을 풀도록 구성되는 것을 특징으로 하는 어플리케이션 설치 패키지로부터 서명 정보를 추출하는 장치.
9. The method of claim 8,
Wherein the decompression module comprises:
And to decompress the data in the application installation package whose size is equal to the threshold value.
제8항에 있어서,
상기 문턱 값을 사전에 설정하거나 또는 상기 어플리케이션 설치 패키지의 사이즈에 근거하여 상기 문턱 값을 결정하는 문턱 값 결정 모듈을 더 포함하는 것을 특징으로 하는 어플리케이션 설치 패키지로부터 서명 정보를 추출하는 장치.
9. The method of claim 8,
Further comprising a threshold determination module for determining the threshold value based on the size of the application installation package or setting the threshold value in advance.
삭제delete 제8항에 있어서,
상기 어플리케이션 설치 패키지는 에이피케이 파일인 것을 특징으로 하는 어플리케이션 설치 패키지로부터 서명 정보를 추출하는 장치.
9. The method of claim 8,
Wherein the application installation package is an APK file.
제12항에 있어서,
상기 임계 데이터는 덱스 파일의 파일 헤더로부터 얻어지는 것을 특징으로 하는 어플리케이션 설치 패키지로부터 서명 정보를 추출하는 장치.
13. The method of claim 12,
Wherein the threshold data is obtained from a file header of a Dex file.
제12항에 있어서,
상기 임계 데이터는 덱스 파일의 스트링 테이블로부터 얻어지는 것을 특징으로 하는 어플리케이션 설치 패키지로부터 서명 정보를 추출하는 장치.
13. The method of claim 12,
Wherein the threshold data is obtained from a string table of a Dex file.
청구항 제8항의 장치를 포함하는 것을 특징으로 하는 클라이언트 디바이스.
A client device comprising the device of claim 8.
제15항에 있어서,
상기 클라이언트 디바이스는 이동형 단말기인 것을 특징으로 하는 어플리케이션 설치 패키지로부터 서명 정보를 추출하는 클라이언트 디바이스.
16. The method of claim 15,
Wherein the client device is a mobile terminal.
제15항에 있어서,
상기 클라이언트 디바이스는 안드로이드 시스템이 설치된 이동형 단말기인 것을 특징으로 하는 어플리케이션 설치 패키지로부터 서명 정보를 추출하는 클라이언트 디바이스.
16. The method of claim 15,
Wherein the client device is a mobile terminal having an Android system installed therein.
프로그램을 기록한 컴퓨터로 읽을 수 있는 매체에 있어서,
상기 프로그램을 구성하는 명령어들은,
사이즈가 문턱 값보다 크지 않는 어플리케이션 설치 패키지 내의 압축이 풀리지 않은 데이터의 압축을 메모리 내로 푸는 단계;
상기 압축이 풀린 데이터를 분석하여, 상기 어플리케이션 설치 패키지의 서명 정보를 추출하는데 사용될 수 있는 임계 데이터를 얻는 단계;
상기 2개의 단계를 반복하여, 상기 어플리케이션 설치 패키지의 압축이 완전히 풀릴 때까지, 상기 어플리케이션 설치 패키지의 모든 임계 데이터를 얻는 단계; 및
모든 임계 데이터를 파싱(parsing)하여, 상기 어플리케이션 설치 패키지의 서명 정보를 추출하는 단계; 를 포함하되,
상기 서명 정보는 적어도 클래스 명, 프로세스 명 및 상수 스트링 중의 하나를 포함하는 방법을 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 매체.
A computer-readable medium having recorded thereon a program,
The commands constituting the program include:
Decompressing uncompressed data in an application installation package whose size is not greater than a threshold value into memory;
Analyzing the decompressed data to obtain critical data that can be used to extract signature information of the application installation package;
Repeating the two steps to obtain all the critical data of the application installation package until the compression of the application installation package is completely released; And
Parsing all the critical data to extract signature information of the application installation package; , ≪ / RTI &
Wherein the signature information includes at least one of a class name, a process name, and a constant string.
제18항에 있어서,
사이즈가 상기 문턱 값과 동일한 상기 어플리케이션 설치 패키지 내의 상기 데이터의 압축을 푸는 단계; 를 더 포함하는 방법을 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 매체.
19. The method of claim 18,
Decompressing the data in the application installation package whose size is equal to the threshold value; Readable medium having recorded thereon a program for causing a computer to perform the method.
제18항에 있어서,
상기 문턱 값은 사전에 설정된 값이거나 또는 상기 어플리케이션 설치 패키지의 사이즈에 근거한 값인 것을 특징으로 하는 프로그램을 기록한 컴퓨터로 읽을 수 있는 매체.
19. The method of claim 18,
Wherein the threshold value is a value set in advance or a value based on the size of the application installation package.
삭제delete 제18항에 있어서,
상기 어플리케이션 설치 패키지는 에이피케이 파일인 것을 특징으로 하는 프로그램을 기록한 컴퓨터로 읽을 수 있는 매체.
19. The method of claim 18,
And the application installation package is an APK file.
제22항에 있어서,
상기 임계 데이터는 덱스 파일의 파일 헤더로부터 얻어지는 것을 특징으로 하는 프로그램을 기록한 컴퓨터로 읽을 수 있는 매체.
23. The method of claim 22,
Wherein the threshold data is obtained from a file header of a Dex file.
제22항에 있어서,
상기 임계 데이터는 덱스 파일의 스트링 테이블에서 얻어지는 것을 특징으로 하는 프로그램을 기록한 컴퓨터로 읽을 수 있는 매체.
23. The method of claim 22,
Wherein the threshold data is obtained from a string table of a Dex file.
KR1020147023000A 2012-07-19 2013-07-11 Method, apparatus and client device for extracting signature information from application installation packages KR101691948B1 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201210250545.9A CN102789506B (en) 2012-07-19 2012-07-19 Method and device for extracting characteristic information of application program installation package as well as client equipment
CN201210250545.9 2012-07-19
PCT/CN2013/079222 WO2014012459A1 (en) 2012-07-19 2013-07-11 Method, apparatus and client device for extracting signature information from application installation packages

Publications (2)

Publication Number Publication Date
KR20140114437A KR20140114437A (en) 2014-09-26
KR101691948B1 true KR101691948B1 (en) 2017-01-02

Family

ID=47154909

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020147023000A KR101691948B1 (en) 2012-07-19 2013-07-11 Method, apparatus and client device for extracting signature information from application installation packages

Country Status (3)

Country Link
KR (1) KR101691948B1 (en)
CN (1) CN102789506B (en)
WO (1) WO2014012459A1 (en)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103366118A (en) * 2012-04-06 2013-10-23 腾讯科技(深圳)有限公司 Installation package virus searching and killing method and device
CN102789506B (en) * 2012-07-19 2014-09-24 腾讯科技(深圳)有限公司 Method and device for extracting characteristic information of application program installation package as well as client equipment
CN103279709A (en) * 2012-12-28 2013-09-04 武汉安天信息技术有限责任公司 Method and system for comprehensively detecting advertisement plug-in based on multi-features
CN105205074B (en) * 2014-06-25 2019-03-26 优视科技有限公司 File increment upgrade method and system
CN105915623A (en) * 2016-05-20 2016-08-31 努比亚技术有限公司 Device and method of processing application installation package
CN106599017B (en) * 2016-10-20 2019-09-17 广州优视网络科技有限公司 Scanning analytic method, device and the mobile terminal of installation kit
CN108804314A (en) * 2018-05-23 2018-11-13 北京五八信息技术有限公司 Installation kit test method, device, equipment and computer readable storage medium
US11436331B2 (en) 2020-01-16 2022-09-06 AVAST Software s.r.o. Similarity hash for android executables

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101043299B1 (en) 2009-07-21 2011-06-22 (주) 세인트 시큐리티 Method, system and computer readable recording medium for detecting exploit code
KR101161493B1 (en) 2010-01-18 2012-06-29 (주)쉬프트웍스 Method of Examining Malicious Codes and Dangerous Files in Android Terminal Platform

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110138076A (en) * 2010-06-18 2011-12-26 삼성전자주식회사 Data storage device and write method thereof
CN102024025A (en) * 2010-11-12 2011-04-20 电子科技大学 Method for decompressing large-data-volume package in mobile rich media application
CN102222183B (en) * 2011-04-28 2013-11-13 奇智软件(北京)有限公司 Mobile terminal software package safety detection method and system thereof
CN102789506B (en) * 2012-07-19 2014-09-24 腾讯科技(深圳)有限公司 Method and device for extracting characteristic information of application program installation package as well as client equipment

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101043299B1 (en) 2009-07-21 2011-06-22 (주) 세인트 시큐리티 Method, system and computer readable recording medium for detecting exploit code
KR101161493B1 (en) 2010-01-18 2012-06-29 (주)쉬프트웍스 Method of Examining Malicious Codes and Dangerous Files in Android Terminal Platform

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"Automated Static Code Analysis for Classifying Android Applications Using Machine Learning", Asaf Shabtai 외 2명, Computational Intelligence and Security 2010 International Conference, (2010.12.14)*

Also Published As

Publication number Publication date
CN102789506A (en) 2012-11-21
WO2014012459A1 (en) 2014-01-23
CN102789506B (en) 2014-09-24
KR20140114437A (en) 2014-09-26

Similar Documents

Publication Publication Date Title
KR101691948B1 (en) Method, apparatus and client device for extracting signature information from application installation packages
US10394686B2 (en) Static feature extraction from structured files
CN109960932B (en) File detection method and device and terminal equipment
EP2875466B1 (en) Method and apparatus for performing virus scan during decompression of application installation package
US10467413B2 (en) Method and apparatus of dynamic loading file extraction for an application running in an android container
KR102317833B1 (en) method for machine LEARNING of MALWARE DETECTING MODEL AND METHOD FOR detecting Malware USING THE SAME
CN108650287B (en) Upgrading method and device for terminal device in Internet of things and computer readable medium
US20130067237A1 (en) Providing random access to archives with block maps
US11366757B2 (en) File pre-fetch scheduling for cache memory to reduce latency
KR20130134790A (en) Method and system for storing the integrity information of application, method and system for checking the integrity of application
US20170124098A1 (en) Method and device for automatically identifying junk file
KR20140030989A (en) Method of obtaining signature of apk files for android operating system, and computer-readable recording medium with apk file signature computing program for the same
US11182479B2 (en) Call stack acquisition device, call stack acquisition method, and call stack acquisition program
US9747114B2 (en) Information processing apparatus, boot up method, and computer-readable storage medium storing boot up program
US9804912B2 (en) Log management apparatus, computer-readable recording medium having stored therein log management program, and log management method
US20140298002A1 (en) Method and device for identifying a disk boot sector virus, and storage medium
CN102360381B (en) Device and method for performing lossless compression on embedded program
CN106886439B (en) Method for rapidly initializing SCM (sparse code multiple Access) security baseline knowledge base
US20130007521A1 (en) Synchronous test control system and method using testing device
CN111050179B (en) Video transcoding method and device
CN114492365A (en) Method for determining similarity between binary files, computing device and storage medium
Syaifuddin et al. Analysis of uapush malware infection using static and behavior method on android
KR102286451B1 (en) Method for recognizing obfuscated identifiers based on natural language processing, recording medium and device for performing the method
KR102139578B1 (en) Method for restoring data of database through analysis of disc block pattern
KR101367062B1 (en) Direct file access system and method using disk interface command in computer foresic process

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E90F Notification of reason for final refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant