WO2017028729A1 - Method, apparatus, and electronic device for determining whether an application program is an authorized application program - Google Patents

Method, apparatus, and electronic device for determining whether an application program is an authorized application program Download PDF

Info

Publication number
WO2017028729A1
WO2017028729A1 PCT/CN2016/094449 CN2016094449W WO2017028729A1 WO 2017028729 A1 WO2017028729 A1 WO 2017028729A1 CN 2016094449 W CN2016094449 W CN 2016094449W WO 2017028729 A1 WO2017028729 A1 WO 2017028729A1
Authority
WO
WIPO (PCT)
Prior art keywords
class
application
executable file
name
determining
Prior art date
Application number
PCT/CN2016/094449
Other languages
French (fr)
Chinese (zh)
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 WO2017028729A1 publication Critical patent/WO2017028729A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]

Abstract

A method, an apparatus, and an electronic device for determining whether an application program is an authorized application program, being capable of conveniently determining whether an application program is authorized. The method for determining whether an application program is an authorized application program comprises: acquiring an executable file of an application program to be identified; determining whether the executable file contains an inner class having no corresponding main class; if the executable file has any inner class that has no definition of a corresponding main class, determining that the application program to be identified is not authorized; otherwise, determining that the application program to be identified is authorized.

Description

确定应用程序是否为正版应用程序的方法、装置及电子设备Method, device and electronic device for determining whether an application is a genuine application
相关申请的交叉引用Cross-reference to related applications
本申请要求北京金山安全软件有限公司于2015年8月19日提交的、中国专利申请号“201510511426.8”的优先权。This application claims the priority of the Chinese patent application number "201510511426.8" submitted by Beijing Jinshan Security Software Co., Ltd. on August 19, 2015.
技术领域Technical field
本发明涉及移动安全领域,尤其涉及一种确定应用程序是否为正版应用程序的方法、装置及电子设备。The present invention relates to the field of mobile security, and in particular, to a method, device, and electronic device for determining whether an application is a genuine application.
背景技术Background technique
随着网络的普及,为满足用户不同需求的应用程序大量涌现,但随之出现的非正版应用程序却影响了应用程序市场秩序。With the popularity of the network, a large number of applications to meet the different needs of users have emerged, but the non-genuine applications that have emerged have affected the order of the application market.
为了能够识别出应用程序是否是正版,现有技术一般通过将要识别的应用程序与正版应用程序进行比对来判断,或者通过将要识别的应用程序的签名与正版应用程序的签名进行比对来判断,如果相同,则为正版,否则为非正版。但是现有技术中为了识别应用程序是否是正版,需得通过应用程序对应的正版应用程序来判断,比较不方便,比如当没有正版应用程序时就无法确定另一个应用程序是否是正版应用程序。In order to be able to identify whether the application is genuine, the prior art generally judges by comparing the application to be identified with the genuine application, or by comparing the signature of the application to be identified with the signature of the genuine application. If the same, it is genuine, otherwise it is non-genuine. However, in the prior art, in order to identify whether the application is genuine, it needs to be judged by the genuine application corresponding to the application, which is inconvenient. For example, when there is no genuine application, it is impossible to determine whether another application is a genuine application.
发明内容Summary of the invention
有鉴于此,本发明实施例提供一种确定应用程序是否为正版应用程序的方法、装置及电子设备,能够方便地识别应用程序是否是正版。In view of this, the embodiments of the present invention provide a method, an apparatus, and an electronic device for determining whether an application is a genuine application, and can conveniently identify whether the application is genuine.
为达到上述目的,本发明的实施例采用如下技术方案:In order to achieve the above object, embodiments of the present invention adopt the following technical solutions:
一方面,本发明实施例提供一种确定应用程序是否为正版应用程序的方法,包括:In one aspect, an embodiment of the present invention provides a method for determining whether an application is a genuine application, including:
获取待识别的应用程序的可执行文件;Obtaining an executable file of the application to be identified;
判断所述可执行文件中是否含有不存在对应主类的内部类;Determining whether the executable file contains an inner class that does not have a corresponding main class;
若所述可执行文件中含有不存在对应主类的内部类,则确定所述待识别的应用程序是非正版,否则,则确定所述待识别的应用程序是正版。If the executable file contains an internal class that does not have a corresponding main class, it is determined that the application to be identified is non-genuine, otherwise, it is determined that the application to be identified is genuine.
本发明实施例提供的确定应用程序是否为正版应用程序的方法,若待识别的应用程序的可执行文件中含有不存在对应主类的内部类,即该待识别的应用程序的可执行文件中本应存在的该内部类的对应主类在该待识别的应用程序的可执行文件中不存在或者说没有定义,则说明该待识别的应用程序的可执行文件的生成过程与非正版应用 程序的可执行文件的生成过程一样,由此可确定该待识别的应用程序是非正版,否则,则确定该待识别的应用程序为正版;这样,在没有正版应用程序做比对的情况下,也能够方便地识别待识别的应用程序是否是正版。The method for determining whether an application is a genuine application provided by the embodiment of the present invention, if the executable file of the application to be identified contains an internal class that does not have a corresponding main class, that is, an executable file of the application to be identified The corresponding main class of the inner class that should exist does not exist or is not defined in the executable file of the application to be identified, and the generation process of the executable file of the to-be-identified application and the non-genuine application are described. The process of generating the executable file of the program is the same, thereby determining that the application to be identified is non-genuine, otherwise, determining that the application to be identified is genuine; thus, in the case that there is no genuine application for comparison, It is also convenient to identify whether the application to be identified is genuine.
另一方面,本发明实施例提供一种确定应用程序是否为正版应用程序的装置,包括:In another aspect, an embodiment of the present invention provides an apparatus for determining whether an application is a genuine application, including:
获取单元,用于获取待识别的应用程序的可执行文件;An obtaining unit, configured to acquire an executable file of the application to be identified;
判断单元,用于判断所述获取单元获取到的可执行文件中是否含有不存在对应主类的内部类;a determining unit, configured to determine whether the executable file acquired by the acquiring unit includes an inner class that does not have a corresponding main class;
确定单元,用于若所述判断单元确定所述可执行文件中含有不存在对应主类的内部类,则确定所述待识别的应用程序是非正版,否则,则确定所述待识别的应用程序是正版。a determining unit, configured to: if the determining unit determines that the executable file contains an internal class that does not have a corresponding main class, determine that the application to be identified is non-genuine, otherwise, determine the application to be identified It is genuine.
本发明实施例提供的确定应用程序是否为正版应用程序的装置,若待识别的应用程序的可执行文件中含有不存在对应主类的内部类,即该待识别的应用程序的可执行文件中本应存在的该内部类的对应主类在该待识别的应用程序的可执行文件中不存在,则说明该待识别的应用程序的可执行文件的生成过程与非正版应用程序的可执行文件的生成过程一样,由此可确定该待识别的应用程序是非正版,否则,则确定该待识别的应用程序为正版;这样,在没有正版应用程序做比对的情况下,也能够方便地识别待识别的应用程序是否是正版。The device for determining whether the application is a genuine application provided by the embodiment of the present invention, if the executable file of the application to be identified contains an internal class that does not have a corresponding main class, that is, an executable file of the application to be identified The corresponding main class of the inner class that should exist does not exist in the executable file of the application to be identified, and the execution process of the executable file of the to-be-identified application and the executable file of the non-genuine application are described. The generation process is the same, thereby determining that the application to be identified is non-genuine, otherwise, determining that the application to be identified is genuine; thus, in the case where there is no genuine application for comparison, the identification can be easily recognized. Whether the application to be identified is genuine.
再一方面,本发明实施例提供一种电子设备,所述电子设备包括:壳体、处理器、存储器、电路板和电源电路,其中,电路板安置在壳体围成的空间内部,处理器和存储器设置在电路板上;电源电路,用于为上述电子设备的各个电路或器件供电;存储器用于存储可执行程序代码;处理器通过读取存储器中存储的可执行程序代码来运行与可执行程序代码对应的程序,用于执行以下步骤:In still another aspect, an embodiment of the present invention provides an electronic device, including: a housing, a processor, a memory, a circuit board, and a power supply circuit, wherein the circuit board is disposed inside the space enclosed by the housing, and the processor And a memory disposed on the circuit board; a power supply circuit for powering each circuit or device of the electronic device; a memory for storing executable program code; and the processor operating by reading executable program code stored in the memory Execute the program corresponding to the program code to perform the following steps:
获取待识别的应用程序的可执行文件;Obtaining an executable file of the application to be identified;
判断所述可执行文件中是否含有不存在对应主类的内部类;Determining whether the executable file contains an inner class that does not have a corresponding main class;
若所述可执行文件中含有不存在对应主类的内部类,则确定所述待识别的应用程序是非正版,否则,则确定所述待识别的应用程序是正版。If the executable file contains an internal class that does not have a corresponding main class, it is determined that the application to be identified is non-genuine, otherwise, it is determined that the application to be identified is genuine.
本发明实施例提供的电子设备,若待识别的应用程序的可执行文件中含有不存在对应主类的内部类,即该待识别的应用程序的可执行文件中本应存在的该内部类的对应主类在该待识别的应用程序的可执行文件中不存在,则说明该待识别的应用程序的可执行文件的生成过程与非正版应用程序的可执行文件的生成过程一样,由此可确定该待识别的应用程序是非正版,否则,则确定该待识别的应用程序为正版;这样,在 没有正版应用程序做比对的情况下,也能够方便地识别待识别的应用程序是否是正版。The electronic device provided by the embodiment of the present invention, if the executable file of the application to be identified contains an internal class that does not have a corresponding main class, that is, the internal class that should exist in the executable file of the application to be identified If the corresponding main class does not exist in the executable file of the application to be identified, the process of generating the executable file of the to-be-identified application is the same as the process of generating the executable file of the non-genuine application, thereby Determining that the application to be identified is non-genuine, otherwise, determining that the application to be identified is genuine; In the absence of a genuine application to compare, it is also convenient to identify whether the application to be identified is genuine.
再一方面,本发明实施例提供一种存储介质,所述存储介质存储有一个或者多个模块,当所述一个或者多个模块被一个电子设备执行时,使得所述电子设备执行:In still another aspect, an embodiment of the present invention provides a storage medium, where the storage medium stores one or more modules, when the one or more modules are executed by an electronic device, causing the electronic device to perform:
获取待识别的应用程序的可执行文件;Obtaining an executable file of the application to be identified;
判断所述可执行文件中是否含有不存在对应主类的内部类;Determining whether the executable file contains an inner class that does not have a corresponding main class;
若所述可执行文件中含有不存在对应主类的内部类,则确定所述待识别的应用程序是非正版,否则,则确定所述待识别的应用程序是正版。If the executable file contains an internal class that does not have a corresponding main class, it is determined that the application to be identified is non-genuine, otherwise, it is determined that the application to be identified is genuine.
再一方面,本发明实施例提供一种应用程序,用于在运行时,执行:In still another aspect, an embodiment of the present invention provides an application for performing, at runtime,:
获取待识别的应用程序的可执行文件;Obtaining an executable file of the application to be identified;
判断所述可执行文件中是否含有不存在对应主类的内部类;Determining whether the executable file contains an inner class that does not have a corresponding main class;
若所述可执行文件中含有不存在对应主类的内部类,则确定所述待识别的应用程序是非正版,否则,则确定所述待识别的应用程序是正版。If the executable file contains an internal class that does not have a corresponding main class, it is determined that the application to be identified is non-genuine, otherwise, it is determined that the application to be identified is genuine.
附图说明DRAWINGS
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings used in the embodiments or the description of the prior art will be briefly described below. Obviously, the drawings in the following description are only It is a certain embodiment of the present invention, and other drawings can be obtained from those skilled in the art without any creative work.
图1为本申请一种确定应用程序是否为正版应用程序的方法一实施例的流程示意图;1 is a schematic flowchart of a method for determining whether an application is a genuine application according to an embodiment of the present application;
图2为本申请一种确定应用程序是否为正版应用程序的方法另一实施例的部分流程示意图;2 is a partial flow chart of another embodiment of a method for determining whether an application is a genuine application according to the present application;
图3为图1中S2一实施例的流程示意图;3 is a schematic flow chart of an embodiment of S2 in FIG. 1;
图4为图3中S20一实施例的流程示意图;4 is a schematic flow chart of an embodiment of S20 in FIG. 3;
图5为图4中S201一实施例的流程示意图;FIG. 5 is a schematic flow chart of an embodiment of S201 in FIG. 4;
图6为图3中S21一实施例的流程示意图;6 is a schematic flow chart of an embodiment of S21 in FIG. 3;
图7为图6中S2100一实施例的流程示意图;7 is a schematic flow chart of an embodiment of S2100 in FIG. 6;
图8为本申请一种确定应用程序是否为正版应用程序的装置一实施例的方框结构示意图;8 is a block diagram showing an embodiment of an apparatus for determining whether an application is a genuine application according to an embodiment of the present application;
图9为图8中获取单元一实施例的方框结构示意图;9 is a block diagram showing an embodiment of an acquisition unit of FIG. 8;
图10为图8中判断单元一实施例的方框结构示意图;FIG. 10 is a block diagram showing the structure of an embodiment of the determining unit of FIG. 8; FIG.
图11为图10中第一判断子单元一实施例的方框结构示意图; 11 is a block diagram showing the structure of an embodiment of the first determining subunit of FIG. 10;
图12为图11中第一判断模块一实施例的方框结构示意图;12 is a block diagram showing the structure of an embodiment of the first determining module of FIG. 11;
图13为图10中第二判断子单元一实施例的方框结构示意图;FIG. 13 is a block diagram showing the structure of an embodiment of the second determining subunit of FIG. 10; FIG.
图14为图13中对应主类名称获取模块一实施例的方框结构示意图;14 is a block diagram showing the structure of an embodiment of a corresponding main class name obtaining module in FIG. 13;
图15为本申请电子设备一个实施例的结构示意图。FIG. 15 is a schematic structural diagram of an embodiment of an electronic device according to the present application.
具体实施方式detailed description
下面结合附图对本发明实施例一种确定应用程序是否为正版应用程序的方法及装置进行详细描述。A method and an apparatus for determining whether an application is a genuine application are described in detail below with reference to the accompanying drawings.
应当明确,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。It should be understood that the described embodiments are only a part of the embodiments of the invention, and not all of the embodiments. All other embodiments obtained by those skilled in the art based on the embodiments of the present invention without creative efforts are within the scope of the present invention.
参看图1,本发明的实施例提供一种确定应用程序是否为正版应用程序的方法,包括:Referring to FIG. 1, an embodiment of the present invention provides a method for determining whether an application is a genuine application, including:
S1、获取待识别的应用程序的可执行文件。S1. Obtain an executable file of the application to be identified.
S2、判断所述可执行文件中是否含有不存在对应主类的内部类。S2: Determine whether the executable file contains an inner class that does not have a corresponding main class.
本实施例中,举例来说,主类X存在内部类Y,可表示为X$Y;其中,X是Y的主类,Y是X的内部类。In this embodiment, for example, the main class X has an inner class Y, which can be represented as X$Y; wherein X is the main class of Y, and Y is an inner class of X.
S3、若所述可执行文件中含有不存在对应主类的内部类,则确定所述待识别的应用程序是非正版,否则,则确定所述待识别的应用程序是正版。S3. If the executable file includes an internal class that does not have a corresponding main class, determine that the application to be identified is non-genuine, otherwise, determine that the application to be identified is genuine.
本实施例中,待识别的应用程序运行的系统环境可以是安卓系统,也可以是其它操作系统,本发明对此不作限定。In this embodiment, the system environment in which the application to be identified is running may be an Android system or other operating systems, which is not limited by the present invention.
非正版应用程序的可执行文件的生成过程,通常是先将正版的可执行文件反编译为一种格式的文件,比如smali格式的文件,再将反编译后的文件打包成与反编译前的可执行文件格式相同的文件。在实现本发明的过程中,发明人发现在这个过程当中,因常会对原文件做一些优化,从而造成一些类名的丢失。The process of generating an executable file for a non-genuine application is usually to first decompile the genuine executable file into a format file, such as a file in smali format, and then package the decompiled file into a pre-compiled file. A file with the same executable file format. In the process of implementing the present invention, the inventor found that in the process, the original file is often optimized, resulting in the loss of some class names.
本发明实施例提供的确定应用程序是否为正版应用程序的方法,若待识别的应用程序的可执行文件中含有不存在对应主类的内部类,即该待识别的应用程序的可执行文件中本应存在的该内部类的对应主类在该待识别的应用程序的可执行文件中不存在,则说明该待识别的应用程序的可执行文件的生成过程与非正版应用程序的可执行文件的生成过程一样,由此可确定该待识别的应用程序是非正版,否则,则确定该待识别的应用程序为正版;这样,在没有正版应用程序做比对的情况下,也能够方便地识别待识别的应用程序是否是正版。 The method for determining whether an application is a genuine application provided by the embodiment of the present invention, if the executable file of the application to be identified contains an internal class that does not have a corresponding main class, that is, an executable file of the application to be identified The corresponding main class of the inner class that should exist does not exist in the executable file of the application to be identified, and the execution process of the executable file of the to-be-identified application and the executable file of the non-genuine application are described. The generation process is the same, thereby determining that the application to be identified is non-genuine, otherwise, determining that the application to be identified is genuine; thus, in the case where there is no genuine application for comparison, the identification can be easily recognized. Whether the application to be identified is genuine.
可选地,在本发明确定应用程序是否为正版应用程序的方法的另一实施例中,所述应用程序是运行于安卓操作系统的应用程序;Optionally, in another embodiment of the method for determining whether the application is a genuine application, the application is an application running on an Android operating system;
其中,所述获取待识别的应用程序的可执行文件,包括:The obtaining an executable file of the application to be identified includes:
获取所述待识别的应用程序中的可执行文件dex文件。Obtaining an executable file dex file in the application to be identified.
本实施例中,dex文件是Android平台上可执行文件的类型。In this embodiment, the dex file is a type of executable file on the Android platform.
可选地,参看图2,在本发明确定应用程序是否为正版应用程序的方法的另一实施例中,所述获取待识别的应用程序中的可执行文件dex文件,包括:Optionally, referring to FIG. 2, in another embodiment of the method for determining whether an application is a genuine application, the obtaining an executable file dex file in the application to be identified includes:
S10、获取待识别的应用程序的apk格式的文件。S10. Obtain a file in an apk format of the application to be identified.
S11、通过对所述apk格式的文件进行解压,获取所述待识别的应用程序中的可执行文件dex文件。S11. Acquire an executable file dex file in the application to be identified by decompressing the file in the apk format.
本实施例中,如果获取到待识别的应用程序的apk格式的文件,则需要对该文件进行解压,从而可以获取其中的可执行文件classes.dex。In this embodiment, if the file in the apk format of the application to be identified is obtained, the file needs to be decompressed, so that the executable file classes.dex can be obtained.
其中,apk是AndroidPackage的缩写,即Android安装包。把android sdk编译的工程打包成一个安装程序文件,格式为apk。通过将apk文件直接传到Android模拟器或Android手机中执行即可安装。Among them, apk is the abbreviation of AndroidPackage, which is the Android installation package. Package the android sdk compiled project into an installer file in the format apk. It can be installed by directly transferring the apk file to the Android emulator or Android phone.
可选地,参看图3,在本发明确定应用程序是否为正版应用程序的方法的另一实施例中,所述判断所述可执行文件中是否含有不存在对应主类的内部类(S2),包括:Optionally, referring to FIG. 3, in another embodiment of the method for determining whether an application is a genuine application, the determining whether the executable file contains an inner class that does not have a corresponding main class (S2) ,include:
S20、判断所述可执行文件中是否存在内部类。S20. Determine whether an internal class exists in the executable file.
S21、若所述可执行文件中存在内部类,则判断所述可执行文件中存在的各个内部类的对应主类在所述可执行文件中是否均存在。S21. If an internal class exists in the executable file, determine whether a corresponding main class of each inner class existing in the executable file exists in the executable file.
S22、若所述可执行文件中存在的各个内部类中存在一个内部类,该内部类的对应主类在所述可执行文件中不存在,则确定所述可执行文件中含有不存在对应主类的内部类,否则,则确定所述可执行文件中不含有不存在对应主类的内部类。S22. If there is an inner class in each inner class existing in the executable file, and the corresponding main class of the inner class does not exist in the executable file, determining that the executable file does not exist corresponding to the main host The inner class of the class, otherwise, it is determined that the executable file does not contain an inner class that does not have a corresponding main class.
本实施例中,类是面向对象程序设计语言中对某个对象的定义,它包含有关对象动作方式的信息,包括名称、方法、属性和事件。In this embodiment, a class is a definition of an object in an object-oriented programming language, and contains information about the action mode of the object, including names, methods, attributes, and events.
可以在一个类的内部定义另一个类,这种类称为嵌套类,它有两种类型,即静态嵌套类和非静态嵌套类。静态嵌套类使用很少,最重要的是非静态嵌套类,也即是被称作为内部类。You can define another class inside a class called a nested class, which has two types, statically nested and non-statically nested. Static nested classes are rarely used, the most important of which are non-static nested classes, which are called inner classes.
可选地,参看图4,在本发明确定应用程序是否为正版应用程序的方法的另一实施例中,所述判断所述可执行文件中是否存在内部类(S20),包括:Optionally, referring to FIG. 4, in another embodiment of the method for determining whether an application is a genuine application, the determining whether an internal class exists in the executable file (S20) includes:
S200、从所述可执行文件中提取所述可执行文件中的类的名称列表。S200. Extract a name list of a class in the executable file from the executable file.
S201、判断所述类的名称列表中是否存在内部类的名称,若存在,则确定所述可 执行文件中存在内部类,否则,则确定所述可执行文件中不存在内部类。S201. Determine whether an internal class name exists in the name list of the class, and if yes, determine the There is an inner class in the executable file, otherwise it is determined that there is no inner class in the executable.
本实施例中,通过判断可执行文件中的类的名称列表中是否存在内部类的名称,能够便于确定可执行文件中是否存在内部类。In this embodiment, it can be conveniently determined whether an internal class exists in the executable file by determining whether the name of the inner class exists in the name list of the class in the executable file.
可选地,参看图5,在本发明确定应用程序是否为正版应用程序的方法的另一实施例中,所述判断所述类的名称列表中是否存在内部类的名称(S201),包括:Optionally, referring to FIG. 5, in another embodiment of the method for determining whether the application is a genuine application, the determining whether the name of the internal class exists in the name list of the class (S201) includes:
S2010、判断所述类的名称列表中是否存在‘X$Y’格式的名称。其中,所述‘X’与所述‘Y’均表示任意一个或多个字符。S2010. Determine whether a name of the ‘X$Y’ format exists in the name list of the class. Wherein the 'X' and the 'Y' both represent any one or more characters.
S2011、若所述类的名称列表中存在‘X$Y’格式的名称,则确定所述类的名称列表中存在内部类的名称,否则,则确定所述类的名称列表中不存在内部类的名称。S2011, if there is a name in the name of the class in the 'X$Y' format, it is determined that the name of the inner class exists in the name list of the class; otherwise, it is determined that the inner class does not exist in the name list of the class The name.
本实施例中,因为内部类的名称是‘X$Y’形式的,故只需要判断类的名称列表中是否存在‘X$Y’格式的名称,就可以确定类的名称列表中是否存在内部类的名称:存在‘X$Y’格式的名称,则该‘X$Y’格式的名称即为内部类的名称。In this embodiment, since the name of the inner class is in the form of 'X$Y', it is only necessary to determine whether the name of the class in the 'X$Y' format exists in the name list of the class, and it can be determined whether there is an internal name in the name list of the class. Class name: If there is a name in the 'X$Y' format, the name in the 'X$Y' format is the name of the inner class.
可选地,参看图6,在本发明确定应用程序是否为正版应用程序的方法的另一实施例中,所述若所述可执行文件中存在内部类,则判断所述可执行文件中存在的各个内部类的对应主类在所述可执行文件中是否均存在(S21),包括:Optionally, referring to FIG. 6, in another embodiment of the method for determining whether an application is a genuine application, if there is an internal class in the executable file, determining that the executable file exists Whether the corresponding main class of each inner class exists in the executable file (S21), including:
S210、获取所述可执行文件中存在的各个内部类的对应主类的名称。S210. Obtain a name of a corresponding main class of each inner class existing in the executable file.
S211、判断所述可执行文件中存在的各个内部类的对应主类的名称,在所述类的名称列表中是否均存在。S211. Determine whether a name of a corresponding main class of each inner class existing in the executable file exists in a name list of the class.
S212、若所述可执行文件中存在的各个内部类的对应主类的名称,在所述类的名称列表中均存在,则确定所述可执行文件中存在的各个内部类的对应主类在所述可执行文件中均存在,否则,则确定所述可执行文件中存在的各个内部类中存在一个内部类,该内部类的对应主类在所述可执行文件中不存在。S212. If the name of the corresponding main class of each inner class existing in the executable file exists in the name list of the class, determine that the corresponding main class of each inner class existing in the executable file is The executable file exists, otherwise, it is determined that there is an inner class in each inner class existing in the executable file, and the corresponding main class of the inner class does not exist in the executable file.
本实施例中,类的名称列表中包含可执行文件中的所有类的名称,通过查询类的名称列表中是否有与可执行文件中存在的内部类的对应主类的名称相同的类的名称,能够便于确定可执行文件中是否存在内部类的对应主类。In this embodiment, the name list of the class includes the names of all the classes in the executable file, and whether the name of the class of the class is the same as the name of the corresponding main class of the inner class existing in the executable file by querying the name list of the class. It is convenient to determine whether there is a corresponding main class of the inner class in the executable file.
可选地,参看图7,在本发明确定应用程序是否为正版应用程序的方法的另一实施例中,所述获取所述可执行文件中存在的各个内部类的对应主类的名称(S210),包括:Optionally, referring to FIG. 7, in another embodiment of the method for determining whether an application is a genuine application, the acquiring a name of a corresponding main class of each inner class existing in the executable file (S210) ),include:
S2100、若所述类的名称列表中存在‘X$Y’格式的名称,获取所述类的名称列表中存在的‘X$Y’格式的名称。S2100: If the name of the ‘X$Y’ format exists in the name list of the class, obtain the name of the ‘X$Y’ format existing in the name list of the class.
S2101、从所述‘X$Y’格式的名称中提取出‘X’部分的字符串,即为该内部类‘X$Y’的对应主类的名称。 S2101: Extract a character string of the 'X' part from the name of the 'X$Y' format, that is, a name of a corresponding main class of the inner class 'X$Y'.
本实施例中,内部类的‘X$Y’形式的名称中‘X’部分的字符串表示的是该内部类的对应主类的名称,比如一个内部类的名称是Landroid/graphics/PorterDuff$Mode”,则该内部类的对应主类的名称就是“Landroid/graphics/PorterDuff”。In this embodiment, the string of the 'X' part of the name of the 'X$Y' form of the inner class represents the name of the corresponding main class of the inner class, for example, the name of an inner class is Landroid/graphics/PorterDuff$ Mode", the name of the corresponding main class of the inner class is "Landroid/graphics/PorterDuff".
参看图8,本发明的实施例提供一种确定应用程序是否为正版应用程序的装置,包括:Referring to FIG. 8, an embodiment of the present invention provides an apparatus for determining whether an application is a genuine application, including:
获取单元1,用于获取待识别的应用程序的可执行文件。The obtaining unit 1 is configured to obtain an executable file of the application to be identified.
判断单元2,用于判断所述获取单元1获取到的可执行文件中是否含有不存在对应主类的内部类。本实施例中,举例来说,主类X存在内部类Y,可表示为X$Y;其中,X是Y的主类,Y是X的内部类。The determining unit 2 is configured to determine whether the executable file acquired by the obtaining unit 1 contains an inner class that does not have a corresponding main class. In this embodiment, for example, the main class X has an inner class Y, which can be represented as X$Y; wherein X is the main class of Y, and Y is an inner class of X.
确定单元3,用于若所述判断单元2确定所述可执行文件中含有不存在对应主类的内部类,则确定所述待识别的应用程序是非正版,否则,则确定所述待识别的应用程序是正版。Determining unit 3, if the determining unit 2 determines that the executable file contains an internal class that does not have a corresponding main class, determining that the application to be identified is non-genuine, otherwise determining the to-be-identified The app is genuine.
如前所述,非正版应用程序的可执行文件的生成过程,通常是先将正版的可执行文件反编译为一种格式的文件,比如smali格式的文件,再将反编译后的文件打包成与反编译前的可执行文件格式相同的文件。在实现本发明的过程中,发明人发现在这个过程当中,因常会对原文件做一些优化,从而造成一些类名的丢失。As mentioned above, the process of generating executable files for non-genuine applications is usually to first decompile the genuine executable files into a format file, such as a file in smali format, and then package the decompiled files into The same file format as the executable file before decompilation. In the process of implementing the present invention, the inventor found that in the process, the original file is often optimized, resulting in the loss of some class names.
本发明实施例提供的确定应用程序是否为正版应用程序的装置,若待识别的应用程序的可执行文件中含有不存在对应主类的内部类,即该待识别的应用程序的可执行文件中本应存在的该内部类的对应主类在该待识别的应用程序的可执行文件中不存在,则说明该待识别的应用程序的可执行文件的生成过程与非正版应用程序的可执行文件的生成过程一样,由此可确定该待识别的应用程序是非正版,否则,则确定该待识别的应用程序为正版;这样,在没有正版应用程序做比对的情况下,也能够方便地识别待识别的应用程序是否是正版。The device for determining whether the application is a genuine application provided by the embodiment of the present invention, if the executable file of the application to be identified contains an internal class that does not have a corresponding main class, that is, an executable file of the application to be identified The corresponding main class of the inner class that should exist does not exist in the executable file of the application to be identified, and the execution process of the executable file of the to-be-identified application and the executable file of the non-genuine application are described. The generation process is the same, thereby determining that the application to be identified is non-genuine, otherwise, determining that the application to be identified is genuine; thus, in the case where there is no genuine application for comparison, the identification can be easily recognized. Whether the application to be identified is genuine.
可选地,在本发明确定应用程序是否为正版应用程序的装置的另一实施例中,所述应用程序是运行于安卓操作系统的应用程序。Optionally, in another embodiment of the apparatus of the present invention for determining whether the application is a genuine application, the application is an application running on an Android operating system.
其中,所述获取单元,用于获取待识别的应用程序中的可执行文件dex文件。The obtaining unit is configured to acquire an executable file dex file in the application to be identified.
本实施例中,dex文件是Android平台上可执行文件的类型。In this embodiment, the dex file is a type of executable file on the Android platform.
可选地,参看图9,在本发明确定应用程序是否为正版应用程序的装置的另一实施例中,所述获取单元1,包括:Optionally, referring to FIG. 9, in another embodiment of the apparatus for determining whether an application is a genuine application, the obtaining unit 1 includes:
第一获取子单元10,用于获取待识别的应用程序的apk格式的文件。The first obtaining subunit 10 is configured to acquire a file in an apk format of the application to be identified.
第二获取子单元11,用于通过对所述第一获取子单元10获取到的所述apk格式的文件进行解压,获取所述待识别的应用程序中的可执行文件dex文件。 The second obtaining sub-unit 11 is configured to obtain an executable file dex file in the application to be identified by decompressing the file in the apk format acquired by the first obtaining sub-unit 10.
本实施例中,如果获取到待识别的应用程序的apk格式的文件,则需要对该文件进行解压,从而可以获取其中的可执行文件classes.dex。In this embodiment, if the file in the apk format of the application to be identified is obtained, the file needs to be decompressed, so that the executable file classes.dex can be obtained.
其中,apk是AndroidPackage的缩写,即Android安装包。把android sdk编译的工程打包成一个安装程序文件,格式为apk。通过将apk文件直接传到Android模拟器或Android手机中执行即可安装。Among them, apk is the abbreviation of AndroidPackage, which is the Android installation package. Package the android sdk compiled project into an installer file in the format apk. It can be installed by directly transferring the apk file to the Android emulator or Android phone.
可选地,参看图10,在本发明确定应用程序是否为正版应用程序的装置的另一实施例中,所述判断单元2,包括:Optionally, referring to FIG. 10, in another embodiment of the apparatus for determining whether an application is a genuine application, the determining unit 2 includes:
第一判断子单元20,用于判断所述获取单元1获取到的可执行文件中是否存在内部类。The first determining sub-unit 20 is configured to determine whether an internal class exists in the executable file acquired by the obtaining unit 1.
第二判断子单元21,用于若所述第一判断子单元20确定所述可执行文件中存在内部类,则判断所述可执行文件中存在的各个内部类的对应主类在所述可执行文件中是否均存在。a second determining sub-unit 21, configured to: if the first determining sub-unit 20 determines that an internal class exists in the executable file, determine that a corresponding main class of each inner class existing in the executable file is in the Whether the executable file exists.
确定子单元22,用于若所述第二判断子单元21确定所述可执行文件中存在的各个内部类中存在一个内部类,该内部类的对应主类在所述可执行文件中不存在,则确定所述可执行文件中含有不存在对应主类的内部类,否则,则确定所述可执行文件中不含有不存在对应主类的内部类。Determining the sub-unit 22, if the second judging sub-unit 21 determines that there is an inner class in each inner class existing in the executable file, and the corresponding main class of the inner class does not exist in the executable file And determining that the executable file contains an inner class that does not have a corresponding main class; otherwise, determining that the executable file does not contain an inner class that does not exist corresponding to the main class.
本实施例中,类是面向对象程序设计语言中对某个对象的定义,它包含有关对象动作方式的信息,包括名称、方法、属性和事件。可以在一个类的内部定义另一个类,这种类称为嵌套类,它有两种类型,即静态嵌套类和非静态嵌套类。静态嵌套类使用很少,最重要的是非静态嵌套类,也即是被称作为内部类。In this embodiment, a class is a definition of an object in an object-oriented programming language, and contains information about the action mode of the object, including names, methods, attributes, and events. You can define another class inside a class called a nested class, which has two types, statically nested and non-statically nested. Static nested classes are rarely used, the most important of which are non-static nested classes, which are called inner classes.
可选地,参看图11,在本发明确定应用程序是否为正版应用程序的装置的另一实施例中,所述第一判断子单元20,包括:Optionally, referring to FIG. 11, in another embodiment of the apparatus for determining whether the application is a genuine application, the first determining subunit 20 includes:
提取模块200,用于从所述获取单元1获取到的可执行文件中提取所述可执行文件中的类的名称列表。The extracting module 200 is configured to extract a name list of the classes in the executable file from the executable file acquired by the obtaining unit 1.
第一判断模块201,用于判断所述提取模块200提取到的类的名称列表中是否存在内部类的名称。The first determining module 201 is configured to determine whether the name of the internal class exists in the name list of the class extracted by the extraction module 200.
第一确定模块202,用于若所述第一判断模块201确定所述类的名称列表中存在内部类的名称,则确定所述可执行文件中存在内部类,否则,则确定所述可执行文件中不存在内部类。The first determining module 202 is configured to determine that an internal class exists in the executable file if the first determining module 201 determines that a name of an inner class exists in the name list of the class, otherwise, the executable is determined to be executable There are no inner classes in the file.
本实施例中,通过判断可执行文件中的类的名称列表中是否存在内部类的名称,能够便于确定可执行文件中是否存在内部类。In this embodiment, it can be conveniently determined whether an internal class exists in the executable file by determining whether the name of the inner class exists in the name list of the class in the executable file.
可选地,参看图12,在本发明确定应用程序是否为正版应用程序的装置的另一实 施例中,所述第一判断模块201,包括:Optionally, referring to FIG. 12, another embodiment of the apparatus for determining whether an application is a genuine application in the present invention In the embodiment, the first determining module 201 includes:
判断子模块2010,用于判断所述提取模块200提取到的类的名称列表中是否存在‘X$Y’格式的名称。其中,所述‘X’与所述‘Y’均表示任意一个或多个字符。The judging sub-module 2010 is configured to determine whether a name in the 'X$Y' format exists in the name list of the class extracted by the extraction module 200. Wherein the 'X' and the 'Y' both represent any one or more characters.
确定子模块2011,用于若所述判断子模块2010确定所述类的名称列表中存在‘X$Y’格式的名称,则确定所述类的名称列表中存在内部类的名称,否则,则确定所述类的名称列表中不存在内部类的名称。Determining a sub-module 2011, if the determining sub-module 2010 determines that a name of the 'X$Y' format exists in the name list of the class, determining that the name of the inner class exists in the name list of the class; otherwise, Determines that the name of the inner class does not exist in the list of names for the class.
本实施例中,因为内部类的名称是‘X$Y’形式的,故只需要判断类的名称列表中是否存在‘X$Y’格式的名称,就可以确定类的名称列表中是否存在内部类的名称:存在‘X$Y’格式的名称,则该‘X$Y’格式的名称即为内部类的名称。In this embodiment, since the name of the inner class is in the form of 'X$Y', it is only necessary to determine whether the name of the class in the 'X$Y' format exists in the name list of the class, and it can be determined whether there is an internal name in the name list of the class. Class name: If there is a name in the 'X$Y' format, the name in the 'X$Y' format is the name of the inner class.
可选地,参看图13,在本发明确定应用程序是否为正版应用程序的装置的另一实施例中,所述第二判断子单元21,包括:Optionally, referring to FIG. 13, in another embodiment of the apparatus for determining whether the application is a genuine application, the second determining sub-unit 21 includes:
对应主类名称获取模块210,用于获取所述可执行文件中存在的各个内部类的对应主类的名称。The corresponding main class name obtaining module 210 is configured to obtain a name of a corresponding main class of each inner class existing in the executable file.
第二判断模块211,用于判断所述对应主类名称获取模块210获取到的所述可执行文件中存在的各个内部类的对应主类的名称,在所述类的名称列表中是否均存在。The second judging module 211 is configured to determine whether the name of the corresponding main class of each inner class existing in the executable file acquired by the corresponding main class name obtaining module 210 exists in the name list of the class. .
第二确定模块212,用于若所述第二判断模块211确定所述可执行文件中存在的每一个内部类的对应主类的名称,在所述类的名称列表中均存在,则确定所述可执行文件中存在的各个内部类的对应主类在所述可执行文件中均存在,否则,则确定所述可执行文件中存在的各个内部类中存在一个内部类,该内部类的对应主类在所述可执行文件中不存在。a second determining module 212, configured to determine, if the second determining module 211 determines a name of a corresponding main class of each inner class existing in the executable file, exists in a name list of the class, The corresponding main class of each inner class existing in the executable file exists in the executable file; otherwise, it is determined that there is an inner class in each inner class existing in the executable file, and the inner class corresponds to The main class does not exist in the executable.
本实施例中,类的名称列表中包含可执行文件中的所有类的名称,通过查询类的名称列表中是否有与可执行文件中存在的内部类的对应主类的名称相同的类的名称,能够便于确定可执行文件中是否存在该内部类的对应主类。In this embodiment, the name list of the class includes the names of all the classes in the executable file, and whether the name of the class of the class is the same as the name of the corresponding main class of the inner class existing in the executable file by querying the name list of the class. It is convenient to determine whether the corresponding main class of the inner class exists in the executable file.
可选地,参看图14,在本发明确定应用程序是否为正版应用程序的装置的另一实施例中,所述对应主类名称获取模块210,包括:Optionally, referring to FIG. 14, in another embodiment of the apparatus for determining whether the application is a genuine application, the corresponding main class name obtaining module 210 includes:
获取子模块2100,用于若所述确定子模块2011确定所述类的名称列表中存在‘X$Y’格式的名称,获取所述类的名称列表中存在的‘X$Y’格式的名称。The obtaining sub-module 2100 is configured to: if the determining sub-module 2011 determines that a name of the 'X$Y' format exists in the name list of the class, obtain a name of the 'X$Y' format existing in the name list of the class .
提取子模块2101,用于从所述获取子模块2100获取到的‘X$Y’格式的名称中提取出‘X’部分的字符串,即为该内部类‘X$Y’的对应主类的名称。The extraction sub-module 2101 is configured to extract a character string of the 'X' part from the name of the 'X$Y' format acquired by the obtaining sub-module 2100, that is, a corresponding main class of the inner class 'X$Y' The name.
本实施例中,内部类的‘X$Y’形式的名称中‘X’部分的字符串表示的是该内部类的对应主类的名称,比如一个内部类的名称是Landroid/graphics/PorterDuff$Mode”,则该内部类的对应主类的名称就是“Landroid/graphics/PorterDuff”。 In this embodiment, the string of the 'X' part of the name of the 'X$Y' form of the inner class represents the name of the corresponding main class of the inner class, for example, the name of an inner class is Landroid/graphics/PorterDuff$ Mode", the name of the corresponding main class of the inner class is "Landroid/graphics/PorterDuff".
本发明实施例还提供一种电子设备,所述电子设备包含前述任一实施例所述的装置。An embodiment of the present invention further provides an electronic device, where the electronic device includes the device described in any of the foregoing embodiments.
图15为本发明电子设备一个实施例的结构示意图,可以实现本发明图1-7所示实施例的流程,如图15所示,上述电子设备可以包括:壳体151、处理器152、存储器153、电路板154和电源电路155,其中,电路板154安置在壳体151围成的空间内部,处理器152和存储器153设置在电路板154上;电源电路155,用于为上述电子设备的各个电路或器件供电;存储器153用于存储可执行程序代码;处理器152通过读取存储器153中存储的可执行程序代码来运行与可执行程序代码对应的程序,用于执行以下步骤:获取待识别的应用程序的可执行文件;判断所述可执行文件中是否含有不存在对应主类的内部类;若所述可执行文件中含有不存在对应主类的内部类,则确定所述待识别的应用程序是非正版,否则,则确定所述待识别的应用程序是正版。FIG. 15 is a schematic structural diagram of an embodiment of an electronic device according to the present invention, which may implement the process of the embodiment shown in FIG. 1-7 of the present invention. As shown in FIG. 15, the electronic device may include: a housing 151, a processor 152, and a memory. 153, a circuit board 154 and a power circuit 155, wherein the circuit board 154 is disposed inside the space enclosed by the housing 151, the processor 152 and the memory 153 are disposed on the circuit board 154; and the power circuit 155 is used for the electronic device Each circuit or device is powered; the memory 153 is for storing executable program code; the processor 152 runs a program corresponding to the executable program code by reading the executable program code stored in the memory 153 for performing the following steps: An executable file of the identified application; determining whether the executable file contains an inner class that does not have a corresponding main class; and if the executable file includes an inner class that does not have a corresponding main class, determining the to-be-identified The application is non-genuine, otherwise it is determined that the application to be identified is genuine.
处理器152对上述步骤的具体执行过程以及处理器152通过运行可执行程序代码来进一步执行的步骤,可以参见本发明图1-7所示实施例的描述,在此不再赘述。The description of the embodiment shown in FIG. 1-7 of the present invention is omitted, and the details are not described herein.
本发明实施例提供的电子设备,若待识别的应用程序的可执行文件中含有不存在对应主类的内部类,即该待识别的应用程序的可执行文件中本应存在的该内部类的对应主类在该待识别的应用程序的可执行文件中不存在,则说明该待识别的应用程序的可执行文件的生成过程与非正版应用程序的可执行文件的生成过程一样,由此可确定该待识别的应用程序是非正版,否则,则确定该待识别的应用程序为正版;这样,在没有正版应用程序做比对的情况下,也能够方便地识别待识别的应用程序是否是正版。The electronic device provided by the embodiment of the present invention, if the executable file of the application to be identified contains an internal class that does not have a corresponding main class, that is, the internal class that should exist in the executable file of the application to be identified If the corresponding main class does not exist in the executable file of the application to be identified, the process of generating the executable file of the to-be-identified application is the same as the process of generating the executable file of the non-genuine application, thereby Determining that the application to be identified is non-genuine, otherwise, determining that the application to be identified is genuine; thus, in the absence of a genuine application for comparison, it is also convenient to identify whether the application to be identified is genuine .
该电子设备以多种形式存在,包括但不限于:The electronic device exists in a variety of forms including, but not limited to:
(1)移动通信设备:这类设备的特点是具备移动通信功能,并且以提供话音、数据通信为主要目标。这类终端包括:智能手机(例如iPhone)、多媒体手机、功能性手机,以及低端手机等。(1) Mobile communication devices: These devices are characterized by mobile communication functions and are mainly aimed at providing voice and data communication. Such terminals include: smart phones (such as iPhone), multimedia phones, functional phones, and low-end phones.
(2)超移动个人计算机设备:这类设备属于个人计算机的范畴,有计算和处理功能,一般也具备移动上网特性。这类终端包括:PDA、MID和UMPC设备等,例如iPad。(2) Ultra-mobile personal computer equipment: This type of equipment belongs to the category of personal computers, has computing and processing functions, and generally has mobile Internet access. Such terminals include: PDAs, MIDs, and UMPC devices, such as the iPad.
(3)便携式娱乐设备:这类设备可以显示和播放多媒体内容。该类设备包括:音频、视频播放器(例如iPod),掌上游戏机,电子书,以及智能玩具和便携式车载导航设备。(3) Portable entertainment devices: These devices can display and play multimedia content. Such devices include: audio, video players (such as iPod), handheld game consoles, e-books, and smart toys and portable car navigation devices.
(4)服务器:提供计算服务的设备,服务器的构成包括处理器、硬盘、内存、系统总线等,服务器和通用的计算机架构类似,但是由于需要提供高可靠的服务,因此在处理能力、稳定性、可靠性、安全性、可扩展性、可管理性等方面要求较高。(4) Server: A device that provides computing services. The server consists of a processor, a hard disk, a memory, a system bus, etc. The server is similar to a general-purpose computer architecture, but because of the need to provide highly reliable services, processing power and stability High reliability in terms of reliability, security, scalability, and manageability.
(5)其他具有数据交互功能的电子装置。 (5) Other electronic devices with data interaction functions.
另外,本发明实施例还提供了一种存储介质,所述存储介质存储有一个或者多个模块,当所述一个或者多个模块被一个电子设备执行时,使得所述电子设备执行确定应用程序是否为正版应用程序的方法,所述方法包括:In addition, an embodiment of the present invention further provides a storage medium, where the storage medium stores one or more modules, when the one or more modules are executed by one electronic device, causing the electronic device to execute the determining application. Whether it is a method of a genuine application, the method includes:
获取待识别的应用程序的可执行文件;Obtaining an executable file of the application to be identified;
判断所述可执行文件中是否含有不存在对应主类的内部类;Determining whether the executable file contains an inner class that does not have a corresponding main class;
若所述可执行文件中含有不存在对应主类的内部类,则确定所述待识别的应用程序是非正版,否则,则确定所述待识别的应用程序是正版。If the executable file contains an internal class that does not have a corresponding main class, it is determined that the application to be identified is non-genuine, otherwise, it is determined that the application to be identified is genuine.
所述应用程序是运行于安卓操作系统的应用程序;其中,所述获取待识别的应用程序的可执行文件,包括:获取所述待识别的应用程序中的可执行文件dex文件。The application is an application running on an Android operating system; wherein the obtaining an executable file of the application to be identified includes: acquiring an executable file dex file in the application to be identified.
所述获取待识别的应用程序中的可执行文件dex文件,包括:获取所述待识别的应用程序的apk格式的文件;通过对所述apk格式的文件进行解压,获取所述待识别的应用程序中的可执行文件dex文件。The obtaining the executable file dex file in the application to be identified includes: acquiring a file in the apk format of the application to be identified; and decompressing the file in the apk format to obtain the application to be identified The executable file dex file in the program.
所述判断所述可执行文件中是否含有不存在对应主类的内部类,包括:判断所述可执行文件中是否存在内部类;若所述可执行文件中存在内部类,则判断所述可执行文件中存在的各个内部类的对应主类在所述可执行文件中是否均存在;若所述可执行文件中存在的各个内部类中存在任何一个内部类,该内部类的对应主类在所述可执行文件中不存在,则确定所述可执行文件中含有不存在对应主类的内部类,否则,则确定所述可执行文件中不含有不存在对应主类的内部类。Determining whether the executable file contains an internal class that does not exist in the executable main class includes: determining whether an internal class exists in the executable file; if an internal class exists in the executable file, determining the Whether the corresponding main class of each inner class existing in the execution file exists in the executable file; if there is any inner class in each inner class existing in the executable file, the corresponding main class of the inner class is If the executable file does not exist, it is determined that the executable file contains an inner class that does not have a corresponding main class. Otherwise, it is determined that the executable file does not contain an inner class that does not have a corresponding main class.
所述判断所述可执行文件中是否存在内部类,包括:从所述可执行文件中提取所述可执行文件中的类的名称列表;判断所述类的名称列表中是否存在内部类的名称,若存在,则确定所述可执行文件中存在内部类,否则,则确定所述可执行文件中不存在内部类。Determining whether an internal class exists in the executable file includes: extracting, from the executable file, a name list of a class in the executable file; determining whether an internal class name exists in the name list of the class If yes, it is determined that there is an inner class in the executable file, otherwise, it is determined that there is no inner class in the executable file.
所述判断所述类的名称列表中是否存在内部类的名称,包括:判断所述类的名称列表中是否存在‘X$Y’格式的名称;其中,所述‘X’与所述‘Y’均表示任意一个或多个字符;若所述类的名称列表中存在‘X$Y’格式的名称,则确定所述类的名称列表中存在内部类的名称,否则,则确定所述类的名称列表中不存在内部类的名称。Determining whether the name of the internal class exists in the name list of the class includes: determining whether a name of the type of 'X$Y' exists in the name list of the class; wherein the 'X' and the 'Y 'each represents any one or more characters; if there is a name in the 'X$Y' format in the name list of the class, it is determined that the name of the inner class exists in the name list of the class; otherwise, the class is determined The name of the inner class does not exist in the name list.
所述若所述可执行文件中存在内部类,则判断所述可执行文件中存在的各个内部类的对应主类在所述可执行文件中是否均存在,包括:获取所述可执行文件中存在的各个内部类的对应主类的名称;判断所述可执行文件中存在的各个内部类的对应主类的名称,在所述类的名称列表中是否均存在;若所述可执行文件中存在的各个内部类的对应主类的名称,在所述类的名称列表中均存在,则确定所述可执行文件中存在的各个内部类的对应主类在所述可执行文件中均存在,否则,则确定所述可执行文件中 存在的各个内部类中存在一个内部类,该内部类的对应主类在所述可执行文件中不存在。If the internal class exists in the executable file, it is determined whether the corresponding main class of each inner class existing in the executable file exists in the executable file, including: obtaining the executable file The name of the corresponding main class of each inner class that exists; determining whether the name of the corresponding main class of each inner class existing in the executable file exists in the name list of the class; if the executable file is The name of the corresponding main class of each inner class exists, and the corresponding main class of each inner class existing in the executable file is determined to exist in the executable file. Otherwise, it is determined in the executable file There is an inner class in each inner class that exists, and the corresponding main class of the inner class does not exist in the executable file.
所述获取所述可执行文件中存在的各个内部类的对应主类的名称,包括:若所述类的名称列表中存在‘X$Y’格式的名称,获取所述类的名称列表中存在的‘X$Y’格式的名称;从所述‘X$Y’格式的名称中提取出‘X’部分的字符串,即为该内部类‘X$Y’的对应主类的名称。And obtaining the name of the corresponding main class of each inner class existing in the executable file, including: if the name of the class in the 'X$Y' format exists in the name list of the class, obtaining the name list in the class The name of the 'X$Y' format; the string of the 'X' part is extracted from the name of the 'X$Y' format, which is the name of the corresponding main class of the inner class 'X$Y'.
另外,本发明实施例还提供了一种应用程序,所述应用程序在运行时,执行上述实施例所述的确定应用程序是否为正版应用程序的方法,该方法在此不再赘述。In addition, the embodiment of the present invention further provides an application program, where the application program performs the method for determining whether the application is a genuine application according to the foregoing embodiment, and the method is not described herein again.
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。One of ordinary skill in the art can understand that all or part of the process of implementing the foregoing embodiments can be completed by a computer program to instruct related hardware, and the program can be stored in a computer readable storage medium. When executed, the flow of an embodiment of the methods as described above may be included. The storage medium may be a magnetic disk, an optical disk, a read-only memory (ROM), or a random access memory (RAM).
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。 The above is only a specific embodiment of the present invention, but the scope of the present invention is not limited thereto, and any person skilled in the art can easily think of changes or substitutions within the technical scope of the present invention. All should be covered by the scope of the present invention. Therefore, the scope of protection of the present invention should be determined by the scope of the claims.

Claims (19)

  1. 一种确定应用程序是否为正版应用程序的方法,其特征在于,包括:A method of determining whether an application is a genuine application, comprising:
    获取待识别的应用程序的可执行文件;Obtaining an executable file of the application to be identified;
    判断所述可执行文件中是否含有不存在对应主类的内部类;Determining whether the executable file contains an inner class that does not have a corresponding main class;
    若所述可执行文件中含有不存在对应主类的内部类,则确定所述待识别的应用程序是非正版,否则,则确定所述待识别的应用程序是正版。If the executable file contains an internal class that does not have a corresponding main class, it is determined that the application to be identified is non-genuine, otherwise, it is determined that the application to be identified is genuine.
  2. 根据权利要求1所述的确定应用程序是否为正版应用程序的方法,其特征在于,所述应用程序是运行于安卓操作系统的应用程序;The method for determining whether an application is a genuine application according to claim 1, wherein the application is an application running on an Android operating system;
    其中,所述获取待识别的应用程序的可执行文件,包括:The obtaining an executable file of the application to be identified includes:
    获取所述待识别的应用程序中的可执行文件dex文件。Obtaining an executable file dex file in the application to be identified.
  3. 根据权利要求2所述的确定应用程序是否为正版应用程序的方法,其特征在于,所述获取待识别的应用程序中的可执行文件dex文件,包括:The method for determining whether an application is a genuine application according to claim 2, wherein the obtaining an executable file dex file in the application to be identified comprises:
    获取所述待识别的应用程序的apk格式的文件;Obtaining a file in the apk format of the application to be identified;
    通过对所述apk格式的文件进行解压,获取所述待识别的应用程序中的可执行文件dex文件。The executable file dex file in the application to be identified is obtained by decompressing the file in the apk format.
  4. 根据权利要求1至3任一项所述的确定应用程序是否为正版应用程序的方法,其特征在于,所述判断所述可执行文件中是否含有不存在对应主类的内部类,包括:The method for determining whether an application is a genuine application according to any one of claims 1 to 3, wherein the determining whether the executable file contains an internal class that does not have a corresponding main class comprises:
    判断所述可执行文件中是否存在内部类;Determining whether an internal class exists in the executable file;
    若所述可执行文件中存在内部类,则判断所述可执行文件中存在的各个内部类的对应主类在所述可执行文件中是否均存在;If an internal class exists in the executable file, determining whether a corresponding main class of each inner class existing in the executable file exists in the executable file;
    若所述可执行文件中存在的各个内部类中存在任何一个内部类,该内部类的对应主类在所述可执行文件中不存在,则确定所述可执行文件中含有不存在对应主类的内部类,否则,则确定所述可执行文件中不含有不存在对应主类的内部类。If there is any inner class in each inner class existing in the executable file, and the corresponding main class of the inner class does not exist in the executable file, it is determined that the executable file does not have a corresponding main class The inner class, otherwise, determines that the executable file does not contain an inner class that does not have a corresponding main class.
  5. 根据权利要求4所述的确定应用程序是否为正版应用程序的方法,其特征在于,所述判断所述可执行文件中是否存在内部类,包括:The method for determining whether an application is a genuine application according to claim 4, wherein the determining whether the internal class exists in the executable file comprises:
    从所述可执行文件中提取所述可执行文件中的类的名称列表;Extracting a list of names of classes in the executable file from the executable file;
    判断所述类的名称列表中是否存在内部类的名称,若存在,则确定所述可执行文件中存在内部类,否则,则确定所述可执行文件中不存在内部类。Determining whether the name of the inner class exists in the name list of the class, and if so, determining that the inner class exists in the executable file; otherwise, determining that the inner class does not exist in the executable file.
  6. 根据权利要求5所述的确定应用程序是否为正版应用程序的方法,其特征在于,所述判断所述类的名称列表中是否存在内部类的名称,包括:The method for determining whether an application is a genuine application according to claim 5, wherein the determining whether the name of the internal class exists in the name list of the class comprises:
    判断所述类的名称列表中是否存在‘X$Y’格式的名称;其中,所述‘X’与所述 ‘Y’均表示任意一个或多个字符;Determining whether there is a name in the name list of the class in the 'X$Y' format; wherein the 'X' is related to the ‘Y’ means any one or more characters;
    若所述类的名称列表中存在‘X$Y’格式的名称,则确定所述类的名称列表中存在内部类的名称,否则,则确定所述类的名称列表中不存在内部类的名称。If there is a name in the 'X$Y' format in the name list of the class, it is determined that the name of the inner class exists in the name list of the class; otherwise, it is determined that the name of the inner class does not exist in the name list of the class .
  7. 根据权利要求5或6所述的确定应用程序是否为正版应用程序的方法,其特征在于,所述若所述可执行文件中存在内部类,则判断所述可执行文件中存在的各个内部类的对应主类在所述可执行文件中是否均存在,包括:The method for determining whether an application is a genuine application according to claim 5 or 6, wherein if there is an inner class in the executable file, determining each inner class existing in the executable file Whether the corresponding main class exists in the executable file, including:
    获取所述可执行文件中存在的各个内部类的对应主类的名称;Obtaining a name of a corresponding main class of each inner class existing in the executable file;
    判断所述可执行文件中存在的各个内部类的对应主类的名称,在所述类的名称列表中是否均存在;Determining whether a name of a corresponding main class of each inner class existing in the executable file exists in a name list of the class;
    若所述可执行文件中存在的各个内部类的对应主类的名称,在所述类的名称列表中均存在,则确定所述可执行文件中存在的各个内部类的对应主类在所述可执行文件中均存在,否则,则确定所述可执行文件中存在的各个内部类中存在一个内部类,该内部类的对应主类在所述可执行文件中不存在。If the name of the corresponding main class of each inner class existing in the executable file exists in the name list of the class, determining that the corresponding main class of each inner class existing in the executable file is in the The executable file exists, otherwise, it is determined that there is an inner class in each inner class existing in the executable file, and the corresponding main class of the inner class does not exist in the executable file.
  8. 根据权利要求7所述的确定应用程序是否为正版应用程序的方法,其特征在于,所述获取所述可执行文件中存在的各个内部类的对应主类的名称,包括:The method for determining whether an application is a genuine application according to claim 7, wherein the obtaining a name of a corresponding main class of each internal class existing in the executable file comprises:
    若所述类的名称列表中存在‘X$Y’格式的名称,获取所述类的名称列表中存在的‘X$Y’格式的名称;If the name of the ‘X$Y’ format exists in the name list of the class, the name of the ‘X$Y’ format existing in the name list of the class is obtained;
    从所述‘X$Y’格式的名称中提取出‘X’部分的字符串,即为该内部类‘X$Y’的对应主类的名称。The character string of the 'X' part is extracted from the name of the 'X$Y' format, that is, the name of the corresponding main class of the inner class 'X$Y'.
  9. 一种确定应用程序是否为正版应用程序的装置,其特征在于,包括:A device for determining whether an application is a genuine application, comprising:
    获取单元,用于获取待识别的应用程序的可执行文件;An obtaining unit, configured to acquire an executable file of the application to be identified;
    判断单元,用于判断所述获取单元获取到的可执行文件中是否含有不存在对应主类的内部类;a determining unit, configured to determine whether the executable file acquired by the acquiring unit includes an inner class that does not have a corresponding main class;
    确定单元,用于若所述判断单元确定所述可执行文件中含有不存在对应主类的内部类,则确定所述待识别的应用程序是非正版,否则,则确定所述待识别的应用程序是正版。a determining unit, configured to: if the determining unit determines that the executable file contains an internal class that does not have a corresponding main class, determine that the application to be identified is non-genuine, otherwise, determine the application to be identified It is genuine.
  10. 根据权利要求9所述的确定应用程序是否为正版应用程序的装置,其特征在于,所述应用程序是运行于安卓操作系统的应用程序;The device for determining whether an application is a genuine application according to claim 9, wherein the application is an application running on an Android operating system;
    其中,所述获取单元,用于获取所述待识别的应用程序中的可执行文件dex文件。The obtaining unit is configured to acquire an executable file dex file in the application to be identified.
  11. 根据权利要求10所述的确定应用程序是否为正版应用程序的装置,其特征在于,所述获取单元,包括:The device for determining whether an application is a genuine application according to claim 10, wherein the obtaining unit comprises:
    第一获取子单元,用于获取所述待识别的应用程序的apk格式的文件; a first obtaining subunit, configured to acquire a file in an apk format of the application to be identified;
    第二获取子单元,用于通过对所述第一获取子单元获取到的所述apk格式的文件进行解压,获取所述待识别的应用程序中的可执行文件dex文件。And a second obtaining subunit, configured to obtain an executable file dex file in the application to be identified by decompressing the file in the apk format acquired by the first obtaining subunit.
  12. 根据权利要求9至11任一项所述的确定应用程序是否为正版应用程序的装置,其特征在于,所述判断单元,包括:The device for determining whether an application is a genuine application according to any one of claims 9 to 11, wherein the determining unit comprises:
    第一判断子单元,用于判断所述获取单元获取到的所述可执行文件中是否存在内部类;a first determining subunit, configured to determine whether an internal class exists in the executable file acquired by the acquiring unit;
    第二判断子单元,用于若所述第一判断子单元确定所述可执行文件中存在内部类,则判断所述可执行文件中存在的各个内部类的对应主类在所述可执行文件中是否均存在;a second determining subunit, configured to: if the first determining subunit determines that an internal class exists in the executable file, determine that a corresponding main class of each inner class existing in the executable file is in the executable file Whether it exists in both;
    确定子单元,用于若所述第二判断子单元确定所述可执行文件中存在的各个内部类中存在一个内部类,该内部类的对应主类在所述可执行文件中不存在,则确定所述可执行文件中含有不存在对应主类的内部类,否则,则确定所述可执行文件中不含有不存在对应主类的内部类。Determining a subunit, configured to: if the second judging subunit determines that there is an inner class in each inner class existing in the executable file, and the corresponding main class of the inner class does not exist in the executable file, Determining that the executable file contains an inner class that does not have a corresponding main class. Otherwise, it is determined that the executable file does not contain an inner class that does not have a corresponding main class.
  13. 根据权利要求12所述的确定应用程序是否为正版应用程序的装置,其特征在于,所述第一判断子单元,包括:The device for determining whether an application is a genuine application according to claim 12, wherein the first determining subunit comprises:
    提取模块,用于从所述获取单元获取到的所述可执行文件中提取所述可执行文件中的类的名称列表;An extracting module, configured to extract, from the executable file acquired by the obtaining unit, a name list of a class in the executable file;
    第一判断模块,用于判断所述提取模块提取到的所述类的名称列表中是否存在内部类的名称;a first determining module, configured to determine whether an internal class name exists in the name list of the class extracted by the extracting module;
    第一确定模块,用于若所述第一判断模块确定所述类的名称列表中存在内部类的名称,则确定所述可执行文件中存在内部类,否则,则确定所述可执行文件中不存在内部类。a first determining module, configured to determine that an internal class exists in the executable file if the first determining module determines that a name of an inner class exists in the name list of the class, otherwise, determine the executable file There are no inner classes.
  14. 根据权利要求13所述的确定应用程序是否为正版应用程序的装置,其特征在于,所述第一判断模块,包括:The device for determining whether an application is a genuine application according to claim 13, wherein the first determining module comprises:
    判断子模块,用于判断所述提取模块提取到的所述类的名称列表中是否存在a judging sub-module, configured to determine whether the name list of the class extracted by the extracting module exists
    ‘X$Y’格式的名称;其中,所述‘X’与所述‘Y’均表示任意一个或多个字符;a name of the 'X$Y' format; wherein the 'X' and the 'Y' both represent any one or more characters;
    确定子模块,用于若所述判断子模块确定所述类的名称列表中存在‘X$Y’格式的名称,则确定所述类的名称列表中存在内部类的名称,否则,则确定所述类的名称列表中不存在内部类的名称。Determining a submodule, if the determining submodule determines that a name of the 'X$Y' format exists in the name list of the class, determining that the name of the inner class exists in the name list of the class; otherwise, determining the The name of the inner class does not exist in the name list of the class.
  15. 根据权利要求13或14所述的确定应用程序是否为正版应用程序的装置,其特征在于,所述第二判断子单元,包括:The device for determining whether an application is a genuine application according to claim 13 or 14, wherein the second determining subunit comprises:
    对应主类名称获取模块,用于获取所述可执行文件中存在的各个内部类的对应主 类的名称;Corresponding to the main class name obtaining module, configured to obtain a corresponding main body of each inner class existing in the executable file The name of the class;
    第二判断模块,用于判断所述对应主类名称获取模块获取到的所述可执行文件中存在的各个内部类的对应主类的名称,在所述类的名称列表中是否均存在;a second judging module, configured to determine whether a name of a corresponding main class of each inner class existing in the executable file acquired by the corresponding main class name obtaining module exists in the name list of the class;
    第二确定模块,用于若所述第二判断模块确定对于所述可执行文件中存在的每一个内部类的对应主类的名称,在所述类的名称列表中均存在,则确定所述可执行文件中存在的各个内部类的对应主类在所述可执行文件中均存在,否则,则确定所述可执行文件中存在的各个内部类中存在一个内部类,该内部类的对应主类在所述可执行文件中不存在。a second determining module, configured to: if the second determining module determines, for a name of a corresponding main class of each inner class existing in the executable file, exists in a name list of the class, determining the Corresponding main classes of each inner class existing in the executable file exist in the executable file; otherwise, it is determined that there is an inner class in each inner class existing in the executable file, and the corresponding main body of the inner class The class does not exist in the executable.
  16. 根据权利要求15所述的确定应用程序是否为正版应用程序的装置,其特征在于,所述对应主类名称获取模块,包括:The apparatus for determining whether an application is a genuine application according to claim 15, wherein the corresponding main class name obtaining module comprises:
    获取子模块,用于若所述确定子模块确定所述类的名称列表中存在‘X$Y’格式的名称,获取所述类的名称列表中存在的‘X$Y’格式的名称;Obtaining a sub-module, if the determining sub-module determines that a name of the ‘X$Y’ format exists in the name list of the class, and obtaining a name of the “X$Y” format existing in the name list of the class;
    提取子模块,用于从所述获取子模块获取到的‘X$Y’格式的名称中提取出‘X’部分的字符串,即为该内部类‘X$Y’的对应主类的名称。An extraction submodule, configured to extract a string of the 'X' part from the name of the 'X$Y' format obtained by the obtaining submodule, that is, a name of a corresponding main class of the inner class 'X$Y' .
  17. 一种电子设备,其特征在于,所述电子设备包括:壳体、处理器、存储器、电路板和电源电路,其中,电路板安置在壳体围成的空间内部,处理器和存储器设置在电路板上;电源电路,用于为上述电子设备的各个电路或器件供电;存储器用于存储可执行程序代码;处理器通过读取存储器中存储的可执行程序代码来运行与可执行程序代码对应的程序,用于执行权利要求1至8中任一项所述的确定应用程序是否为正版应用程序的方法。An electronic device, comprising: a housing, a processor, a memory, a circuit board, and a power supply circuit, wherein the circuit board is disposed inside a space enclosed by the housing, and the processor and the memory are disposed in the circuit a power supply circuit for supplying power to each circuit or device of the electronic device; a memory for storing executable program code; and a processor for operating the executable program code by reading executable program code stored in the memory A program for performing the method of determining whether an application is a genuine application according to any one of claims 1 to 8.
  18. 一种存储介质,其特征在于,所述存储介质存储有一个或者多个模块,当所述一个或者多个模块被一个电子设备执行时,使得所述电子设备:A storage medium, wherein the storage medium stores one or more modules, when the one or more modules are executed by an electronic device, causing the electronic device to:
    执行权利要求1至8中任一项所述的确定应用程序是否为正版应用程序的方法。A method of determining whether an application is a genuine application according to any one of claims 1 to 8.
  19. 一种应用程序,其特征在于,用于在运行时,执行权利要求1至8中任一项所述的确定应用程序是否为正版应用程序的方法。 An application, characterized in that, at runtime, a method of determining whether an application is a genuine application according to any one of claims 1 to 8.
PCT/CN2016/094449 2015-08-19 2016-08-10 Method, apparatus, and electronic device for determining whether an application program is an authorized application program WO2017028729A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201510511426.8A CN106469259B (en) 2015-08-19 2015-08-19 Method and device for determining whether application program is legal application program or not and electronic equipment
CN201510511426.8 2015-08-19

Publications (1)

Publication Number Publication Date
WO2017028729A1 true WO2017028729A1 (en) 2017-02-23

Family

ID=58050768

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2016/094449 WO2017028729A1 (en) 2015-08-19 2016-08-10 Method, apparatus, and electronic device for determining whether an application program is an authorized application program

Country Status (2)

Country Link
CN (1) CN106469259B (en)
WO (1) WO2017028729A1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110609789A (en) * 2019-08-29 2019-12-24 烽火通信科技股份有限公司 Method and system for software License verification

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102024120A (en) * 2009-09-18 2011-04-20 无锡安腾软件开发有限公司 Method for using digital signature to detect falsification possibility of software
CN103902887A (en) * 2012-12-24 2014-07-02 珠海市君天电子科技有限公司 Method and device for identifying file source through signature
CN104346568A (en) * 2013-07-26 2015-02-11 贝壳网际(北京)安全技术有限公司 Method and device for identifying malicious application program and mobile device
CN104657634A (en) * 2015-02-28 2015-05-27 百度在线网络技术(北京)有限公司 Method and device for identifying pirate application

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2391965B (en) * 2002-08-14 2005-11-30 Messagelabs Ltd Method of, and system for, heuristically detecting viruses in executable code
US8875303B2 (en) * 2012-08-02 2014-10-28 Google Inc. Detecting pirated applications
CN104424402B (en) * 2013-08-28 2019-03-29 卓易畅想(北京)科技有限公司 It is a kind of for detecting the method and device of pirate application program
CN103473104B (en) * 2013-09-24 2016-10-05 北京大学 Bag discriminating conduct is beaten again in a kind of application based on keyword context frequency matrix
CN103984883B (en) * 2014-05-21 2017-01-25 湘潭大学 Class dependency graph based Android application similarity detection method
CN104123493B (en) * 2014-07-31 2017-09-26 百度在线网络技术(北京)有限公司 The safety detecting method and device of application program

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102024120A (en) * 2009-09-18 2011-04-20 无锡安腾软件开发有限公司 Method for using digital signature to detect falsification possibility of software
CN103902887A (en) * 2012-12-24 2014-07-02 珠海市君天电子科技有限公司 Method and device for identifying file source through signature
CN104346568A (en) * 2013-07-26 2015-02-11 贝壳网际(北京)安全技术有限公司 Method and device for identifying malicious application program and mobile device
CN104657634A (en) * 2015-02-28 2015-05-27 百度在线网络技术(北京)有限公司 Method and device for identifying pirate application

Also Published As

Publication number Publication date
CN106469259A (en) 2017-03-01
CN106469259B (en) 2019-07-23

Similar Documents

Publication Publication Date Title
EP3605324B1 (en) Application development method and tool, and storage medium thereof
US20140059421A1 (en) Website blueprint generation and display algorithms to reduce perceived web-page loading time
US9483636B2 (en) Runtime application integrity protection
CN108804918B (en) Security defense method, security defense device, electronic equipment and storage medium
US20170277526A1 (en) Software categorization method and electronic device
CN104268472B (en) Reduction is by the method and apparatus of third party's dynamic base Modification growth function address
US20180357404A1 (en) Information processing method and apparatus, and electronic device
US20180349580A1 (en) Information processing method and device, and electronic equipment
CN114341800A (en) Method and apparatus for improving runtime performance after application update in an electronic device
CN110652728B (en) Game resource management method and device, electronic equipment and storage medium
CN109739582B (en) Function calling method and device, electronic equipment and computer readable storage medium
WO2017028729A1 (en) Method, apparatus, and electronic device for determining whether an application program is an authorized application program
US20150113284A1 (en) Method and apparatus for protecting application program
US20170286074A1 (en) Electronic Device and Method for Multiple Compiling Platforms
US10303462B2 (en) Windows support of a pluggable ecosystem for universal windows application stores
CN109542460A (en) A kind of method and electronic equipment based on access typescript in the vue for educating operating system
CN106557525B (en) Method and device for cleaning application program residual file and electronic equipment
CN114168937A (en) Resource access method, computing device and readable storage medium
CN108875363B (en) Method and device for accelerating virtual execution, electronic equipment and storage medium
CN113779576A (en) Identification method and device for executable file infected virus and electronic equipment
CN114143042A (en) Vulnerability simulation method and device, computer equipment and storage medium
CN110659489B (en) Threat detection method, device and storage medium for character string splicing behavior
CN110287734B (en) Method and device for setting secure communication node, terminal and storage medium
CN111045657B (en) Program code operation method and device, and compiling method and device
CN111797392B (en) Method, device and storage medium for controlling infinite analysis of derivative files

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 16836593

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 30/05/2018)

122 Ep: pct application non-entry in european phase

Ref document number: 16836593

Country of ref document: EP

Kind code of ref document: A1