CN106469259A - Method and device for determining whether application program is legal application program or not and electronic equipment - Google Patents
Method and device for determining whether application program is legal application program or not and electronic equipment Download PDFInfo
- Publication number
- CN106469259A CN106469259A CN201510511426.8A CN201510511426A CN106469259A CN 106469259 A CN106469259 A CN 106469259A CN 201510511426 A CN201510511426 A CN 201510511426A CN 106469259 A CN106469259 A CN 106469259A
- Authority
- CN
- China
- Prior art keywords
- application program
- executable file
- classes
- legal
- identified
- Prior art date
- Legal status (The legal status 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 status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 52
- 239000000284 extract Substances 0.000 claims description 5
- 230000008569 process Effects 0.000 description 21
- 238000010586 diagram Methods 0.000 description 8
- 230000003068 static effect Effects 0.000 description 8
- 238000009434 installation Methods 0.000 description 5
- 238000000605 extraction Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 239000000203 mixture Substances 0.000 description 3
- 238000005457 optimization Methods 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 229940056582 human hair preparation Drugs 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000000151 deposition Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
Abstract
The embodiment of the invention discloses a method and a device for determining whether an application program is a legal application program and electronic equipment, which can conveniently determine whether the application program is the legal application program. The method for determining whether the application program is a legal application program comprises the following steps: acquiring an executable file of an application program to be identified; judging whether the executable file contains an internal class without a corresponding main class; if any internal class exists in the executable file and the definition of the internal class corresponding to the main class does not exist, determining that the application program to be identified is non-legal, otherwise, determining that the application program to be identified is legal. The method is suitable for occasions needing to determine whether the application program is legal or not.
Description
Technical field
The present invention relates to mobile security field, whether more particularly, to a kind of determination application program is legal application journey
The method of sequence, device and electronic equipment.
Background technology
With the popularization of network, the application program for meeting user's different demands emerges in multitude, but occurs therewith
Non- legal copy application program but have impact on application program market order.
In order to identify whether application program is legal, the general application passing through to identify of prior art
Program compares to judge with legal application program, or by the signature of application program that will identify with
The signature of legal application program compares to judge, if identical, for legal copy, otherwise for non-legal copy.
But in order to whether recognition application is legal in prior art, need to pass through the corresponding legal copy of application program
Application program, to judge, compares inconvenient, just cannot determine another such as when not having legal application program
Whether application program is legal application program.
Content of the invention
In view of this, the embodiment of the present invention provides and a kind of determines that whether application program is the side of legal application program
Whether method, device and electronic equipment, can recognition application be easily legal.
For reaching above-mentioned purpose, embodiments of the invention adopt the following technical scheme that:
On the one hand, the embodiment of the present invention provide a kind of determine that whether application program is the method for legal application program,
Including:
Obtain the executable file of application program to be identified;
Judge whether to contain the inner classes that there is not corresponding main classes in described executable file;
If containing in described executable file and there are not the inner classes of corresponding main classes it is determined that described to be identified
Application program is non-legal copy, otherwise it is determined that described application program to be identified is legal.
The generating process of the executable file of non-legal copy application program, typically first by legal executable file
Decompiling is a kind of file of form, the such as file of smali form, then the file after decompiling is packaged into
With the executable file format identical file before decompiling.During realizing the present invention, invention Crinis Carbonisatus
Now in the middle of this process, because often original can be done with some optimizations, thus causing the loss of some class names.
Provided in an embodiment of the present invention determine that whether application program is the method for legal application program, if to be identified
The executable file of application program in containing there is not the inner classes of corresponding main classes, i.e. this application to be identified
The corresponding main classes of this inner classes that should exist in the executable file of program is in this application program to be identified
Do not exist in executable file and do not define in other words, then the executable literary composition of this application program to be identified is described
The generating process of part, as the generating process of the executable file of non-legal copy application program, thus can determine that this
Application program to be identified is non-legal copy, otherwise it is determined that this application program to be identified is legal copy;So,
It is also possible to easily identify that application program to be identified is in the case of not having legal application program to compare
No is legal.
On the other hand, the embodiment of the present invention provides and a kind of determines that whether application program is the dress of legal application program
Put, including:
Acquiring unit, for obtaining the executable file of application program to be identified;
Whether judging unit, do not exist for judging to contain in the executable file that described acquiring unit gets
The inner classes of corresponding main classes;
Determining unit, if determine to contain there is not corresponding master in described executable file for described judging unit
The inner classes of class it is determined that described application program to be identified is non-legal copy, otherwise it is determined that described wait to know
Other application program is legal.
Provided in an embodiment of the present invention determine that whether application program is the device of legal application program, if to be identified
The executable file of application program in containing there is not the inner classes of corresponding main classes, i.e. this application to be identified
The corresponding main classes of this inner classes that should exist in the executable file of program is in this application program to be identified
Do not exist in executable file, then illustrate the generating process of executable file of this application program to be identified with
The generating process of the executable file of non-legal copy application program is the same, thus can determine that this application journey to be identified
Sequence is non-legal copy, otherwise it is determined that this application program to be identified is legal copy;So, there is no legal answering
It is also possible to easily identify whether application program to be identified is legal in the case of being compared with program.
Another further aspect, the embodiment of the present invention provides a kind of electronic equipment, and described electronic equipment includes:Housing 151,
Processor 152, memorizer 153, circuit board 154 and power circuit 155, wherein, circuit board 154 disposes
The interior volume surrounding in housing 151, processor 152 and memorizer 153 are arranged on circuit board 154;
Power circuit 155, for being each circuit of above-mentioned electronic equipment or device is powered;Memorizer 153 is used for depositing
Storage executable program code;Processor 152 passes through to read the executable program code of storage in memorizer 153
To run program corresponding with executable program code, for executing following steps:
Obtain the executable file of application program to be identified;
Judge whether to contain the inner classes that there is not corresponding main classes in described executable file;
If containing in described executable file and there are not the inner classes of corresponding main classes it is determined that described to be identified
Application program is non-legal copy, otherwise it is determined that described application program to be identified is legal.
Electronic equipment provided in an embodiment of the present invention, if contain in the executable file of application program to be identified
There are not the inner classes of corresponding main classes, should exist in the executable file of this application program to be identified
The corresponding main classes of this inner classes does not exist in the executable file of this application program to be identified, then explanation should
The generating process of the executable file of application program to be identified and the executable file of non-legal copy application program
Generating process is the same, thus can determine that this application program to be identified is non-legal copy, otherwise it is determined that this is treated
The application program of identification is legal copy;So, in the case of not having legal application program to compare it is also possible to
Easily identify whether application program to be identified is legal.
Brief description
In order to be illustrated more clearly that the embodiment of the present invention or technical scheme of the prior art, below will be to enforcement
Example or description of the prior art in required use accompanying drawing be briefly described it should be apparent that, below describe
In accompanying drawing be only some embodiments of the present invention, for those of ordinary skill in the art, do not paying
On the premise of going out creative work, other accompanying drawings can also be obtained according to these accompanying drawings.
Fig. 1 is that the present invention is a kind of determines that whether application program is the stream of method one embodiment of legal application program
Journey schematic diagram;
Fig. 2 is that the present invention is a kind of determines that whether application program is another embodiment of method of legal application program
Part schematic flow sheet;
Fig. 3 is the schematic flow sheet of S2 mono- embodiment in Fig. 1;
Fig. 4 is the schematic flow sheet of S20 mono- embodiment in Fig. 3;
Fig. 5 is the schematic flow sheet of S201 mono- embodiment in Fig. 4;
Fig. 6 is the schematic flow sheet of S21 mono- embodiment in Fig. 3;
Fig. 7 is the schematic flow sheet of S2100 mono- embodiment in Fig. 6;
Fig. 8 is that the present invention is a kind of determines that whether application program is the side of device one embodiment of legal application program
Mount structure schematic diagram;
Fig. 9 is the frame structure schematic diagram of acquiring unit one embodiment in Fig. 8;
Figure 10 is the frame structure schematic diagram of judging unit one embodiment in Fig. 8;
Figure 11 is the frame structure schematic diagram of the first judgment sub-unit one embodiment in Figure 10;
Figure 12 is the frame structure schematic diagram of the first judge module one embodiment in Figure 11;
Figure 13 is the frame structure schematic diagram of the second judgment sub-unit one embodiment in Figure 10;
Figure 14 is the frame structure schematic diagram of corresponding main classes name acquiring module one embodiment in Figure 13;
Figure 15 is the structural representation of one embodiment of electronic equipment of the present invention.
Specific embodiment
A kind of to the embodiment of the present invention below in conjunction with the accompanying drawings determine that whether application program is the side of legal application program
Method and device are described in detail.
It will be appreciated that described embodiment is only a part of embodiment of the present invention, rather than whole reality
Apply example.Based on the embodiment in the present invention, those of ordinary skill in the art are not before making creative work
Put all other embodiment being obtained, broadly fall into the scope of protection of the invention.
Referring to Fig. 1, embodiments of the invention provide and a kind of determine that whether application program is the side of legal application program
Method, including:
The executable file of S1, acquisition application program to be identified;
S2, judge whether to contain the inner classes that there is not corresponding main classes in described executable file;
In the present embodiment, for example, main classes X has inner classes Y, it is represented by X $ Y;Wherein, X
It is the main classes of Y, Y is the inner classes of X.
If containing in the described executable file of S3 and there are not the inner classes of corresponding main classes it is determined that described wait to know
Other application program is non-legal copy, otherwise it is determined that described application program to be identified is legal.
In the present embodiment, system environmentss that application program to be identified runs can be Android system it is also possible to
It is other operating system, the present invention is not construed as limiting to this.
The generating process of the executable file of non-legal copy application program, typically first by legal executable file
Decompiling is a kind of file of form, the such as file of smali form, then the file after decompiling is packaged into
With the executable file format identical file before decompiling.During realizing the present invention, invention Crinis Carbonisatus
Now in the middle of this process, because often original can be done with some optimizations, thus causing the loss of some class names.
Provided in an embodiment of the present invention determine that whether application program is the method for legal application program, if to be identified
The executable file of application program in containing there is not the inner classes of corresponding main classes, i.e. this application to be identified
The corresponding main classes of this inner classes that should exist in the executable file of program is in this application program to be identified
Do not exist in executable file, then illustrate the generating process of executable file of this application program to be identified with
The generating process of the executable file of non-legal copy application program is the same, thus can determine that this application journey to be identified
Sequence is non-legal copy, otherwise it is determined that this application program to be identified is legal copy;So, there is no legal answering
It is also possible to easily identify whether application program to be identified is legal in the case of being compared with program.
Alternatively, present invention determine that whether application program is another embodiment of the method for legal application program
In, described application program is operate in the application program of Android operation system;
Wherein, the described executable file obtaining application program to be identified, including:
Obtain the executable file dex file in application program to be identified.
In the present embodiment, dex file is the type of executable file in Android platform.
Alternatively, referring to Fig. 2, present invention determine that whether application program is the another of the method for legal application program
In one embodiment, the described executable file dex file obtaining in application program to be identified, including:
The file of S10, the acquisition apk form of application program to be identified;
S11, by decompressing to the file of described apk form, obtain in described application program to be identified
Executable file dex file.
In the present embodiment, if getting the file of the apk form of application program to be identified, it is right to need
This document is decompressed, such that it is able to obtain executable file classes.dex therein.
Wherein, apk is the abbreviation of AndroidPackage, i.e. Android installation kit.Android sdk
The engineering of compiling is packaged into an installation procedure file, and form is apk.By apk file is passed directly to
In Android simulator or Android phone, execution can be installed.
Alternatively, referring to Fig. 3, present invention determine that whether application program is the another of the method for legal application program
In one embodiment, described judge whether to contain the inner classes that there is not corresponding main classes in described executable file
(S2), including:
S20, judge in described executable file whether there is inner classes;
If there are inner classes in the described executable file of S21, judge each present in described executable file
Whether the corresponding main classes of individual inner classes all exists in described executable file;
If there are inner classes, this inner classes in each inner classes present in the described executable file of S22
Corresponding main classes do not exist in described executable file it is determined that in described executable file contain do not exist
, otherwise there is not corresponding main classes it is determined that not containing in described executable file in the inner classes of corresponding main classes
Inner classes.
In the present embodiment, class is the definition in Object-Oriented Programming Languages to certain object, and it includes
Close the information of object action mode, including title, method, attribute and event.
Another class can be defined in the inside of a class, this species is referred to as nested class, and it has two types,
I.e. static nested class and non-static nested class.Static nested class is using seldom it is most important that non-static nesting
Class, that is to say and be called inner classes.
Alternatively, referring to Fig. 4, present invention determine that whether application program is the another of the method for legal application program
In one embodiment, in the described executable file of described judgement, whether there is inner classes (S20), including:
S200, the name list of the class extracted from described executable file in described executable file;
S201, judge the title with the presence or absence of inner classes in the name list of described class, if exist it is determined that
There are inner classes, otherwise it is determined that there are not inner classes in described executable file in described executable file.
In the present embodiment, by judging in the name list of the class in executable file with the presence or absence of inner classes
Title, can be easy to determine in executable file with the presence or absence of inner classes.
Alternatively, referring to Fig. 5, present invention determine that whether application program is the another of the method for legal application program
In one embodiment, with the presence or absence of the title (S201) of inner classes, bag in the name list of the described class of described judgement
Include:
S2010, judge to whether there is ' the title of X $ Y ' form in the name list of described class;Wherein, institute
State ' X ' and all represent any one or more characters with described ' Y ';
If existing in the name list of the described class of S2011, ' title of X $ Y ' form is it is determined that described class
There is the title of inner classes, otherwise it is determined that there is not inside in the name list of described class in name list
The title of class.
In the present embodiment, because the title of inner classes is ' X $ Y ' form, therefore only need to judge the name of class
Claim in list with the presence or absence of ' title of X $ Y ' form is it is possible to whether there is in determining the name list of class
The title of inner classes:' title of X $ Y ' form, then should the ' title of X $ Y ' form as inside for presence
The title of class.
Alternatively, referring to Fig. 6, present invention determine that whether application program is the another of the method for legal application program
In one embodiment, if there are inner classes in described executable file, judge in described executable file
Whether the corresponding main classes of each inner classes existing all has (S21) in described executable file, including:
The title of the corresponding main classes of each inner classes present in S210, the described executable file of acquisition;
S211, judge each inner classes present in described executable file corresponding main classes title, in institute
State in the name list of class and whether all exist;
If the title of the corresponding main classes of each inner classes present in the described executable file of S212, described
All there is the corresponding master it is determined that each inner classes present in described executable file in the name list of class
Class all exists in described executable file, otherwise it is determined that present in described executable file in each
There are inner classes, the corresponding main classes of this inner classes does not exist in described executable file in category.
In the present embodiment, comprise the title of all classes in executable file in the name list of class, by looking into
Whether have identical with the title of the corresponding main classes of inner classes present in executable file in the name list asking class
Class title, can be easy to determine executable file in the presence or absence of inner classes corresponding main classes.
Alternatively, referring to Fig. 7, present invention determine that whether application program is the another of the method for legal application program
In one embodiment, the described title obtaining the corresponding main classes of each inner classes present in described executable file
(S210), including:
If existing in the name list of the described class of S2100, ' title of X $ Y ' form obtains the name of described class
Claim ' the title of X $ Y ' form present in list;
S2101, from described ' extract the character string of ' X ' part the title of X $ Y ' form, as should
Inner classes ' the title of the corresponding main classes of X $ Y '.
In the present embodiment, inner classes ' in the title of X $ Y ' form, the string representation of ' X ' part is
The title of the corresponding main classes of this inner classes, the title of such as inner classes is
Landroid/graphics/PorterDuff $ Mode ", then the title of the corresponding main classes of this inner classes be exactly
“Landroid/graphics/PorterDuff”.
Referring to Fig. 8, embodiments of the invention provide and a kind of determine that whether application program is the dress of legal application program
Put, including:
Acquiring unit 1, for obtaining the executable file of application program to be identified;
Whether judging unit 2, do not deposit for judging to contain in the executable file that described acquiring unit 1 gets
Inner classes in corresponding main classes;In the present embodiment, for example, main classes X has inner classes Y, is represented by
X$Y;Wherein, X is the main classes of Y, and Y is the inner classes of X.
Determining unit 3, if determine to contain there is not correspondence in described executable file for described judging unit 2
The inner classes of main classes are it is determined that described application program to be identified is non-legal copy, otherwise it is determined that described treat
The application program of identification is legal.
As it was previously stated, the generating process of the executable file of non-legal copy application program, typically first will be legal
Executable file decompiling is a kind of file of form, the such as file of smali form, then by after decompiling
File is packaged into and the executable file format identical file before decompiling.During realizing the present invention,
Inventor finds in the middle of this process, because often original can be done with some optimizations, thus causing some class names
Loss.
Provided in an embodiment of the present invention determine that whether application program is the device of legal application program, if to be identified
The executable file of application program in containing there is not the inner classes of corresponding main classes, i.e. this application to be identified
The corresponding main classes of this inner classes that should exist in the executable file of program is in this application program to be identified
Do not exist in executable file, then illustrate the generating process of executable file of this application program to be identified with
The generating process of the executable file of non-legal copy application program is the same, thus can determine that this application journey to be identified
Sequence is non-legal copy, otherwise it is determined that this application program to be identified is legal copy;So, there is no legal answering
It is also possible to easily identify whether application program to be identified is legal in the case of being compared with program.
Alternatively, present invention determine that whether application program is another embodiment of the device of legal application program
In, described application program is operate in the application program of Android operation system;
Wherein, described acquiring unit, for obtaining the literary composition of the executable file dex in application program to be identified
Part.
In the present embodiment, dex file is the type of executable file in Android platform.
Alternatively, referring to Fig. 9, present invention determine that whether application program is the another of the device of legal application program
In one embodiment, described acquiring unit 1, including:
First acquisition subelement 10, for obtaining the file of the apk form of application program to be identified;
Second acquisition subelement 11, for the described apk by getting to the described first acquisition subelement 10
The file of form is decompressed, and obtains the executable file dex file in described application program to be identified.
In the present embodiment, if getting the file of the apk form of application program to be identified, it is right to need
This document is decompressed, such that it is able to obtain executable file classes.dex therein.
Wherein, apk is the abbreviation of AndroidPackage, i.e. Android installation kit.Android sdk
The engineering of compiling is packaged into an installation procedure file, and form is apk.By apk file is passed directly to
In Android simulator or Android phone, execution can be installed.
Alternatively, referring to Figure 10, present invention determine that whether application program is the device of legal application program
In another embodiment, described judging unit 2, including:
Whether the first judgment sub-unit 20, for judging in the executable file that described acquiring unit 1 gets
There are inner classes;
Second judgment sub-unit 21, if determine in described executable file for described first judgment sub-unit 20
There are inner classes, then judge the corresponding main classes of each inner classes present in described executable file described can
Whether all exist in execution file;
Determination subelement 22, if determine in described executable file exist for described second judgment sub-unit 21
Each inner classes in there are inner classes, the corresponding main classes of this inner classes in described executable file not
Exist and there are not the inner classes of corresponding main classes it is determined that containing in described executable file, otherwise it is determined that
The inner classes that there is not corresponding main classes are not contained in described executable file.
In the present embodiment, class is the definition in Object-Oriented Programming Languages to certain object, and it includes
Close the information of object action mode, including title, method, attribute and event.Can be in the inside of a class
Define another class, this species is referred to as nested class, it has two types, i.e. static nested class and non-static embedding
Set class.Static nested class it is most important that non-static nested class, that is to say and is called inside using seldom
Class.
Alternatively, referring to Figure 11, present invention determine that whether application program is the device of legal application program
In another embodiment, described first judgment sub-unit 21, including:
Extraction module 210, for holding described in extraction from the executable file that described acquiring unit 1 gets
The name list of the class in style of writing part;
First judge module 211, for judging in the name list of class that described extraction module 210 extracts to be
The no title that there are inner classes;
First determining module 212, if determine in the name list of described class for described first judge module 211
There is the title of inner classes it is determined that there are inner classes in described executable file, otherwise it is determined that described
There are not inner classes in executable file.
In the present embodiment, by judging in the name list of the class in executable file with the presence or absence of inner classes
Title, can be easy to determine in executable file with the presence or absence of inner classes.
Alternatively, referring to Figure 12, present invention determine that whether application program is the device of legal application program
In another embodiment, described first judge module 211, including:
Judging submodule 2110, for judging in the name list of class that described extraction module 210 extracts to be
No presence ' the title of X $ Y ' form;Wherein, described ' X ' and described ' Y ' all represent any one
Or multiple character;
Determination sub-module 2111, if deposit determine the name list of described class for described judging submodule 2110 in
' title of X $ Y ' form it is determined that described class name list in there is the title of inner classes, otherwise,
Then determine the title that there are not inner classes in the name list of described class.
In the present embodiment, because the title of inner classes is ' X $ Y ' form, therefore only need to judge the name of class
Claim in list with the presence or absence of ' title of X $ Y ' form is it is possible to whether there is in determining the name list of class
The title of inner classes:' title of X $ Y ' form, then should the ' title of X $ Y ' form as inside for presence
The title of class.
Alternatively, referring to Figure 13, present invention determine that whether application program is the device of legal application program
In another embodiment, described second judgment sub-unit 3, including:
Corresponding main classes name acquiring module 30, for obtaining each inner classes present in described executable file
Corresponding main classes title;
Second judge module 31, for judging that described corresponding main classes name acquiring module 30 can described in getting
The title of the corresponding main classes of each inner classes present in execution file, in the name list of described class whether
All exist;
Second determining module 32, if determine in described executable file exist for described second judge module 31
The corresponding main classes of each inner classes title, all exist it is determined that institute in the name list of described class
The corresponding main classes stating each inner classes present in executable file all exists in described executable file, no
Then it is determined that there are inner classes, this inner classes in each inner classes present in described executable file
Corresponding main classes do not exist in described executable file.
In the present embodiment, comprise the title of all classes in executable file in the name list of class, by looking into
Whether have identical with the title of the corresponding main classes of inner classes present in executable file in the name list asking class
Class title, can be easy to determine executable file in the presence or absence of this inner classes corresponding main classes.
Alternatively, referring to Figure 14, present invention determine that whether application program is the device of legal application program
In another embodiment, described corresponding main classes name acquiring module 30, including:
Acquisition submodule 300, if deposit determine the name list of described class for described determination sub-module 2111 in
' title of X $ Y ' form, obtain described class name list present in the ' title of X $ Y ' form;
Extracting sub-module 301, for ' the title of X $ Y ' form getting from described acquisition submodule 300
In extract the character string of ' X ' part, be this inner classes ' title of the corresponding main classes of X $ Y '.
In the present embodiment, inner classes ' in the title of X $ Y ' form, the string representation of ' X ' part is
The title of the corresponding main classes of this inner classes, the title of such as inner classes is
Landroid/graphics/PorterDuff $ Mode ", then the title of the corresponding main classes of this inner classes be exactly
“Landroid/graphics/PorterDuff”.
The embodiment of the present invention also provides a kind of electronic equipment, and described electronic equipment comprises aforementioned any embodiment institute
The device stated.
Figure 15 is the structural representation of one embodiment of electronic equipment of the present invention, it is possible to achieve Fig. 1-7 of the present invention
The flow process of illustrated embodiment, as shown in figure 15, above-mentioned electronic equipment can include:Housing 151, processor
152nd, memorizer 153, circuit board 154 and power circuit 155, wherein, circuit board 154 is placed in housing
151 interior volume surrounding, processor 152 and memorizer 153 are arranged on circuit board 154;Power circuit
155, for being each circuit of above-mentioned electronic equipment or device is powered;Memorizer 153 is used for storing executable
Program code;Processor 152 by read memorizer 153 in storage executable program code run with
The corresponding program of executable program code, for executing following steps:Obtain application program to be identified can
Execution file;Judge whether to contain the inner classes that there is not corresponding main classes in described executable file;If described
Contain in executable file and there are not the inner classes of corresponding main classes it is determined that described application program to be identified is
Non- legal copy, otherwise it is determined that described application program to be identified is legal.
Processor 152 passes through to run executable journey to the concrete implementation procedure of above-mentioned steps and processor 152
The step that sequence code to execute further, may refer to the description of Fig. 1-7 illustrated embodiment of the present invention, here is not
Repeat again.
Electronic equipment provided in an embodiment of the present invention, if contain in the executable file of application program to be identified
There are not the inner classes of corresponding main classes, should exist in the executable file of this application program to be identified
The corresponding main classes of this inner classes does not exist in the executable file of this application program to be identified, then explanation should
The generating process of the executable file of application program to be identified and the executable file of non-legal copy application program
Generating process is the same, thus can determine that this application program to be identified is non-legal copy, otherwise it is determined that this is treated
The application program of identification is legal copy;So, in the case of not having legal application program to compare it is also possible to
Easily identify whether application program to be identified is legal.
This electronic equipment exists in a variety of forms, including but not limited to:
(1) mobile communication equipment:The feature of this kind equipment is that possess mobile communication function, and with provide speech,
Data communication is main target.This Terminal Type includes:Smart mobile phone (such as iPhone), multimedia handset,
Feature mobile phone, and low-end mobile phone etc..
(2) super mobile personal computer equipment:This kind equipment belongs to the category of personal computer, has calculating and locates
Reason function, typically also possesses mobile Internet access characteristic.This Terminal Type includes:PDA, MID and UMPC set
Standby etc., such as iPad.
(3) portable entertainment device:This kind equipment can show and play content of multimedia.This kind equipment includes:
Audio frequency, video player (such as iPod), handheld device, e-book, and intelligent toy and portable
Formula in-vehicle navigation apparatus.
(4) server:The equipment of the service of calculating is provided, the composition of server include processor, hard disk, internal memory,
System bus etc., server is similar with general computer architecture, but due to needing to provide highly reliable clothes
Business, therefore at aspects such as disposal ability, stability, reliability, safety, extensibility, manageabilitys
Require higher.
(5) other have the electronic installation of data interaction function.
One of ordinary skill in the art will appreciate that realizing all or part of flow process in above-described embodiment method,
Can be by computer program to complete come the hardware to instruct correlation, described program can be stored in a calculating
In machine read/write memory medium, this program is upon execution, it may include as the flow process of the embodiment of above-mentioned each method.
Wherein, described storage medium can for magnetic disc, CD, read-only memory (Read-Only Memory,
) or random access memory (Random Access Memory, RAM) etc. ROM.
The above, the only specific embodiment of the present invention, but protection scope of the present invention is not limited to
This, any those familiar with the art the invention discloses technical scope in, can readily occur in
Change or replacement, all should be included within the scope of the present invention.Therefore, protection scope of the present invention
Should be defined by scope of the claims.
Claims (10)
1. whether a kind of determination application program is the method for legal application program it is characterised in that including:
Obtain the executable file of application program to be identified;
Judge whether to contain the inner classes that there is not corresponding main classes in described executable file;
If containing in described executable file and there are not the inner classes of corresponding main classes it is determined that described to be identified
Application program is non-legal copy, otherwise it is determined that described application program to be identified is legal.
2. according to claim 1 determine that whether application program is the method for legal application program, it is special
Levy and be, described application program is operate in the application program of Android operation system;
Wherein, the described executable file obtaining application program to be identified, including:
Obtain the executable file dex file in application program to be identified.
3. according to claim 2 determine that whether application program is the method for legal application program, it is special
Levy and be, the described executable file dex file obtaining in application program to be identified, including:
Obtain the file of the apk form of application program to be identified;
By decompressing to the file of described apk form, obtain in described application program to be identified can
Execution file dex file.
4. whether the determination application program according to any one of claims 1 to 3 is legal application program
Method it is characterised in that described judge whether to contain in described executable file there is not the interior of corresponding main classes
Category, including:
Judge to whether there is inner classes in described executable file;
If there are inner classes in described executable file, judge present in described executable file in each
Whether the corresponding main classes of category all exists in described executable file;
If there are any one inner classes in each inner classes present in described executable file, this inner classes
Corresponding main classes do not exist in described executable file it is determined that in described executable file contain do not exist
, otherwise there is not corresponding main classes it is determined that not containing in described executable file in the inner classes of corresponding main classes
Inner classes.
5. according to claim 4 determine that whether application program is the method for legal application program, it is special
Levy and be, in the described executable file of described judgement, whether there is inner classes, including:
The name list of the class in described executable file is extracted from described executable file;
Judge in the name list of described class, to whether there is the title of inner classes, if existing it is determined that described can
There are inner classes, otherwise it is determined that there are not inner classes in described executable file in execution file.
6. according to claim 5 determine that whether application program is the method for legal application program, it is special
Levy and be, with the presence or absence of the title of inner classes in the name list of the described class of described judgement, including:
Judge to whether there is ' the title of X $ Y ' form in the name list of described class;Wherein, described ' X '
All represent any one or more characters with described ' Y ';
If existing in the name list of described class, ' title of X $ Y ' form is it is determined that the name column of described class
There is the title of inner classes, otherwise it is determined that there is not the name of inner classes in the name list of described class in table
Claim.
7. whether the determination application program according to claim 5 or 6 is the method for legal application program,
It is characterized in that, if there are inner classes in described executable file, judge in described executable file
Whether the corresponding main classes of each inner classes existing all exists in described executable file, including:
Obtain the title of the corresponding main classes of each inner classes present in described executable file;
Judge the title of the corresponding main classes of each inner classes present in described executable file, in described class
Whether all exist in name list;
If the title of the corresponding main classes of each inner classes present in described executable file, in the name of described class
All exist it is determined that the corresponding main classes of each inner classes present in described executable file is in institute in title list
State in executable file and all exist, otherwise it is determined that in each inner classes present in described executable file
There are inner classes, the corresponding main classes of this inner classes does not exist in described executable file.
8. according to claim 7 determine that whether application program is the method for legal application program, it is special
Levy and be, the described title obtaining the corresponding main classes of each inner classes present in described executable file, bag
Include:
If existing in the name list of described class, ' title of X $ Y ' form obtains the name list of described class
Present in ' the title of X $ Y ' form;
' extract the character string of ' X ' part the title of X $ Y ' form, be this inner classes ' X $ Y ' from described
Corresponding main classes title.
9. whether a kind of determination application program is the device of legal application program it is characterised in that including:
Acquiring unit, for obtaining the executable file of application program to be identified;
Whether judging unit, do not exist for judging to contain in the executable file that described acquiring unit gets
The inner classes of corresponding main classes;
Determining unit, if determine to contain there is not corresponding master in described executable file for described judging unit
The inner classes of class it is determined that described application program to be identified is non-legal copy, otherwise it is determined that described wait to know
Other application program is legal.
10. a kind of electronic equipment is it is characterised in that described electronic equipment includes:Housing 151, processor 152,
Memorizer 153, circuit board 154 and power circuit 155, wherein, circuit board 154 is placed in housing 151 and encloses
The interior volume becoming, processor 152 and memorizer 153 are arranged on circuit board 154;Power circuit 155,
For being each circuit of above-mentioned electronic equipment or device is powered;Memorizer 153 is used for storing executable program
Code;Processor 152 is run by the executable program code of storage in reading memorizer 153 and can hold
The corresponding program of line program code, for executing following steps:
Obtain the executable file of application program to be identified;
Judge whether to contain the inner classes that there is not corresponding main classes in described executable file;
If containing in described executable file and there are not the inner classes of corresponding main classes it is determined that described to be identified
Application program is non-legal copy, otherwise it is determined that described application program to be identified is legal.
Priority Applications (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 |
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 |
Applications Claiming Priority (1)
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 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106469259A true CN106469259A (en) | 2017-03-01 |
CN106469259B CN106469259B (en) | 2019-07-23 |
Family
ID=58050768
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510511426.8A Active 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 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN106469259B (en) |
WO (1) | WO2017028729A1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110609789A (en) * | 2019-08-29 | 2019-12-24 | 烽火通信科技股份有限公司 | Method and system for software License verification |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050039029A1 (en) * | 2002-08-14 | 2005-02-17 | Alexander Shipp | Method of, and system for, heuristically detecting viruses in executable code |
CN103473104A (en) * | 2013-09-24 | 2013-12-25 | 北京大学 | Method for discriminating re-package of application based on keyword context frequency matrix |
EP2693356A2 (en) * | 2012-08-02 | 2014-02-05 | Google Inc. | Detecting pirated applications |
CN103984883A (en) * | 2014-05-21 | 2014-08-13 | 湘潭大学 | Class dependency graph based Android application similarity detection method |
CN104123493A (en) * | 2014-07-31 | 2014-10-29 | 百度在线网络技术(北京)有限公司 | Method and device for detecting safety performance of application program |
CN104424402A (en) * | 2013-08-28 | 2015-03-18 | 卓易畅想(北京)科技有限公司 | Method and device for detecting pirated application program |
Family Cites Families (4)
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 |
CN104657634B (en) * | 2015-02-28 | 2017-11-14 | 百度在线网络技术(北京)有限公司 | The recognition methods of piracy application and device |
-
2015
- 2015-08-19 CN CN201510511426.8A patent/CN106469259B/en active Active
-
2016
- 2016-08-10 WO PCT/CN2016/094449 patent/WO2017028729A1/en active Application Filing
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050039029A1 (en) * | 2002-08-14 | 2005-02-17 | Alexander Shipp | Method of, and system for, heuristically detecting viruses in executable code |
EP2693356A2 (en) * | 2012-08-02 | 2014-02-05 | Google Inc. | Detecting pirated applications |
CN104424402A (en) * | 2013-08-28 | 2015-03-18 | 卓易畅想(北京)科技有限公司 | Method and device for detecting pirated application program |
CN103473104A (en) * | 2013-09-24 | 2013-12-25 | 北京大学 | Method for discriminating re-package of application based on keyword context frequency matrix |
CN103984883A (en) * | 2014-05-21 | 2014-08-13 | 湘潭大学 | Class dependency graph based Android application similarity detection method |
CN104123493A (en) * | 2014-07-31 | 2014-10-29 | 百度在线网络技术(北京)有限公司 | Method and device for detecting safety performance of application program |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110609789A (en) * | 2019-08-29 | 2019-12-24 | 烽火通信科技股份有限公司 | Method and system for software License verification |
Also Published As
Publication number | Publication date |
---|---|
CN106469259B (en) | 2019-07-23 |
WO2017028729A1 (en) | 2017-02-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107341014A (en) | Electronic equipment, the generation method of technical documentation and device | |
CN108427731B (en) | Page code processing method and device, terminal equipment and medium | |
CN104866770B (en) | Sensitive data scanning method and system | |
CN105653949B (en) | A kind of malware detection methods and device | |
CN108416212A (en) | Method for identifying application program and device | |
CN104680065A (en) | Virus detection method, virus detection device and virus detection equipment | |
CN105045928A (en) | To-be-cleaned data display method and device and electronic equipment | |
CN110808065A (en) | Method and device for detecting refrain, electronic equipment and storage medium | |
CN105809471A (en) | Method and device for acquiring user attribute and electronic equipment | |
CN106815000A (en) | A kind of code generating method and device | |
CN104268472A (en) | Method and device for restoring address of function modified by third party dynamic link library | |
CN112784112A (en) | Message checking method and device | |
CN114282212A (en) | Rogue software identification method and device, electronic equipment and storage medium | |
CN106469259A (en) | Method and device for determining whether application program is legal application program or not and electronic equipment | |
CN104750665B (en) | The treating method and apparatus of text information | |
CN111027065B (en) | Leucavirus identification method and device, electronic equipment and storage medium | |
CN108804917B (en) | File detection method and device, electronic equipment and storage medium | |
CN114338102B (en) | Security detection method, security detection device, electronic equipment and storage medium | |
CN109542460A (en) | A kind of method and electronic equipment based on access typescript in the vue for educating operating system | |
CN112036133B (en) | File storage method and device, electronic equipment and storage medium | |
CN110659490B (en) | Malicious sample processing method and device, electronic equipment and storage medium | |
CN109509467B (en) | Code generation method and device | |
CN114491528A (en) | Malicious software detection method, device and equipment | |
CN113779576A (en) | Identification method and device for executable file infected virus and electronic equipment | |
CN106557525A (en) | Method and device for cleaning application program residual file and electronic equipment |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |