WO2020019520A1 - 应用程序获取方法及装置 - Google Patents

应用程序获取方法及装置 Download PDF

Info

Publication number
WO2020019520A1
WO2020019520A1 PCT/CN2018/108886 CN2018108886W WO2020019520A1 WO 2020019520 A1 WO2020019520 A1 WO 2020019520A1 CN 2018108886 W CN2018108886 W CN 2018108886W WO 2020019520 A1 WO2020019520 A1 WO 2020019520A1
Authority
WO
WIPO (PCT)
Prior art keywords
target
application
program
preset
search expression
Prior art date
Application number
PCT/CN2018/108886
Other languages
English (en)
French (fr)
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 WO2020019520A1 publication Critical patent/WO2020019520A1/zh

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/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/554Detecting local intrusion or implementing counter-measures involving event detection and direct action
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/566Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Definitions

  • the present application relates to the technical field of data processing, and in particular, to a method and a device for obtaining an application program.
  • the embodiments of the present application provide a method and a device for obtaining an application program, which can improve accuracy when obtaining an application program.
  • a first aspect of the embodiments of the present application provides a method for obtaining an application, where the method includes:
  • a second aspect of the embodiments of the present application provides an application program acquisition apparatus, where the apparatus includes an acquisition unit, an extraction unit, a generation unit, and a search unit, where:
  • An obtaining unit configured to determine a reference application from a target electronic device
  • An extraction unit configured to perform feature extraction on the reference application to obtain target feature data
  • a generating unit configured to generate a search expression according to the target characteristic data, where the search expression is applied to at least one application platform;
  • a search unit is configured to perform a search in the at least one application platform according to the search expression to obtain a target application program.
  • a third aspect of the embodiments of the present application provides a terminal, including a processor, an input device, an output device, and a memory.
  • the processor, the input device, the output device, and the memory are connected to each other.
  • the memory is used to store a computer program
  • the computer program includes program instructions, and the processor is configured to call the program instructions to execute the step instructions as described in the first aspect of the embodiments of the present application.
  • a fourth aspect of the embodiments of the present application provides a computer-readable storage medium, where the computer-readable storage medium stores a computer program for electronic data exchange, wherein the computer program causes a computer to execute a computer program as described in the first embodiment of the application.
  • a fifth aspect of the embodiments of the present application provides a computer program product, wherein the computer program product includes a non-transitory computer-readable storage medium storing a computer program, and the computer program is operable to cause a computer to execute the implementation of the present application. Some or all of the steps described in the first aspect of the example.
  • the computer program product can be a software installation package.
  • a reference application program is obtained from a target electronic device, feature extraction is performed on the reference application program to obtain target feature data, and a search expression is generated according to the target feature data, and the search expression is applied to at least one An application platform performs a search in the at least one application platform according to the search expression to obtain a target application program. Therefore, the application program can be searched from multiple platforms, thereby improving the application acquisition time to a certain extent. accuracy.
  • FIG. 1 is a schematic diagram of an application search system according to an embodiment of the present application.
  • FIG. 2 is a schematic flowchart of a method for obtaining an application program according to an embodiment of the present application
  • FIG. 3 is a schematic flowchart of another method for obtaining an application program according to an embodiment of the present application.
  • FIG. 4 is a schematic flowchart of another method for obtaining an application program according to an embodiment of the present application.
  • FIG. 5 is a schematic flowchart of another method for obtaining an application program according to an embodiment of the present application.
  • FIG. 6 is a schematic structural diagram of a terminal according to an embodiment of the present application.
  • FIG. 7 is a schematic structural diagram of an application program obtaining apparatus according to an embodiment of the present application.
  • the electronic device involved in the embodiments of the present application may include various handheld devices with wireless communication functions, vehicle-mounted devices, wearable devices, computing devices, or other processing devices connected to a wireless modem, and various forms of user equipment (user equipment) equipment, UE), mobile station (MS), terminal device (terminal), and so on.
  • user equipment user equipment
  • MS mobile station
  • terminal terminal
  • electronic devices the devices mentioned above are collectively referred to as electronic devices.
  • FIG. 1 is a schematic diagram of an application search system according to an embodiment of the present application.
  • the application search system includes a server 101 and an electronic device 102.
  • the target electronic device 103 is any one of the electronic devices 102.
  • the method for obtaining an application may include: the server 101 obtains a reference application from the target electronic device 103.
  • Programs, reference applications may be applications with preset features. Preset features may be features that threaten electronic devices, such as replication features of virus software, etc.
  • Preset features may also be features related to life, such as Takeaway, shopping, etc .; the server 101 performs feature extraction on the reference application to obtain the target feature data.
  • the method of feature extraction can be decompiling the reference application and then performing feature extraction to obtain the target feature data.
  • the server 101 is extracting the target feature
  • a search expression is generated according to the target characteristic data, and the search expression can be applied to at least one application platform.
  • the application platform can be, for example, an Android application platform, an Apple Operating System (IOS) platform, or the like; a server. 101 according to the search form Type search in the at least one application platform to obtain the target application.
  • the target application is obtained. Compared with the inability to comprehensively obtain the application that meets the characteristics in the existing solution, the application acquisition can be improved to a certain extent. accuracy.
  • FIG. 2 is a schematic flowchart of a method for obtaining an application program according to an embodiment of the present application. As shown in Figure 2, the method for obtaining an application includes steps 201-204, as follows:
  • the target electronic device may be an electronic device used by a user, or may be an electronic device in an application search system.
  • a possible method for obtaining a reference application program from a target electronic device includes steps A1-A3, which are as follows:
  • A1. Determine whether the installed application program on the target electronic device has a preset characteristic according to a preset time interval
  • the preset time interval can be set randomly by the server or by the administrator of the server.
  • the range of the preset time interval can be a value between 1-24 hours, of course There may be other setting methods, which are not specifically limited here.
  • the preset feature may be, for example, a feature that threatens the electronic device, such as a replication feature of virus software, and the preset feature may also be a feature related to life, such as takeaway, shopping, and the like.
  • illegally occupying the memory resources can be understood as forcibly occupying the memory resources of the system without the permission of the target electronic device system.
  • a possible method for obtaining target characteristic data includes steps B1-B3, which are as follows:
  • B1 Decompile an execution file of the reference application to obtain first metadata of the reference application
  • the method for decompiling the execution file of the reference application program may be: performing syntax analysis and semantic analysis on the execution file of the reference application program, wherein the installation file package is a shelled installation package, which can be directly executed.
  • the execution file generates an intermediate code according to the execution file; generates a control flowchart according to the intermediate code; analyzes the control flow of the execution file according to the control flowchart to obtain the first metadata.
  • a decompilation tool can also be used to decompile the execution file.
  • the decompilation tool can be, for example, ReFox, Brillig, and the like.
  • the characteristic data identifier may be, for example, an application name and a dynamic library name, for example, the characteristic data identifier is AppFileName, appname, name, etc., and the dynamic library name identifier is: dynamic, .so, etc.
  • the target characteristic data may be, for example, at least one of the following data: a character string, a class name, a method name, a loaded dynamic library, a list of installation package files, a variable name, and a Uniform Resource Locator (URL) ), Internet Protocol address (Internet Protocol Address, IP address), mailbox and other categories; string can be test, forward, etc., class name can be password, Certificate, Authority (CA), etc., method name can be Method1, method2 Etc.
  • a character string a class name, a method name, a loaded dynamic library, a list of installation package files, a variable name, and a Uniform Resource Locator (URL) ), Internet Protocol address (Internet Protocol Address, IP address), mailbox and other categories
  • string can be test, forward, etc.
  • class name can be password, Certificate, Authority (CA), etc.
  • method name can be Method1, method2 Etc.
  • the loaded dynamic library can be, for example, dlopen, dlsym, dlerror, or a custom dynamic library, such as libsubstrate.so, libsubstrate.so, libSubstrateJNI.so, libSubstrateRun.so, etc.
  • the list of installation package files can be Skype , QQ, etc.
  • the variable names can be testNum, prttest, etc.
  • a possible method for generating a search expression may include steps C1-C2, as follows:
  • multiple sub search expressions can be generated according to a preset sub search expression generation formula, as follows:
  • f is a sub-search expression
  • a is a search expression identifier
  • b is a platform identifier
  • c is a matching point
  • d is target feature data.
  • the sub-search expression generated based on the search expression may specifically be: Sag.i.AppFileName ("test"),
  • “Sag” is a search expression identifier; "i” represents an iOS platform; "AppFileName” is a matching point, AppFileName is a search app installation package file name; "test” is a search target string.
  • C2 Perform a logical operation on the multiple sub search expressions to obtain a search expression.
  • logical operations include and, or, or, not.
  • multiple logical operations can be included at the same time, such as including both and, not, Can also be and, or.
  • the first sub-search expression is Sag.i.AppFileName * ("test”)
  • the second sub-search expression is Sag.a.Class (“password”)
  • its logical expression is and.
  • the above search expression can be specifically understood as: an application that searches for two conditions that satisfy a file name with a "test" string in the iOS platform and a class with a "password” string in the Android platform.
  • the search scope of the application is improved, and the accuracy of searching the application can be improved.
  • the target application is a virus program.
  • steps D1-D7 may be further included as follows:
  • the way to obtain the field for propagation may be to extract the code of the function for propagation from the second metadata, where the code for the function for propagation has a memory read field and an infection parasitic field .
  • the infection parasitic field of the virus program is analyzed, and a transmission mechanism is obtained from the infection parasitic field.
  • One possible method may be, for example: parsing the code of the infected parasitic field, and extracting the infection-triggered conditions in the code, such as the statement at the beginning of an if or switch statement.
  • the judgment condition in the if statement is, for example, a certain character, which may specifically be " caves ", etc., or trigger conditions such as time trigger.
  • the preset rule may be, for example, modifying an infection triggering condition in the code of the parasitic infection field.
  • the judgment condition in the if statement is a character
  • the character may be modified to trigger the trigger condition in the system.
  • the minimum probability can be, for example, a probability below 0.001.
  • the harmless virus program only occupies the memory resources or covers the memory resources without causing damage to the system of the electronic device.
  • the target virus program When the target virus program is run, respond to the target virus program in a random response response mode, where the random response is a response with a probability of 10%, and a probability of 90% does not respond;
  • the target virus program is actively run.
  • the target virus program occupies system resources or calls other applications, and upon receiving the target virus requests the resources, forcibly occupies or calls them. In other applications, they respond to resource requests, forcibly occupy, or call other applications in a random response manner.
  • the random response is to respond with a probability of 10%, and not to respond with a probability of 90%.
  • the method is not specifically limited.
  • the remaining memory resource is less than a preset threshold, allocate the preset memory resource to the target virus program, where the preset memory resource is a resource of a preset percentage of the memory resource requested by the target virus program.
  • the preset threshold may be a value less than 50%, for example, the remaining memory resources are 25%, 30%, etc. of the total memory resources.
  • the preset percentage may be a value between 70% and 90%, for example, it may be 71%, 76%, and the like.
  • the target virus program can be paralyzed to a certain extent, thereby destroying the destructiveness of the target virus, and thus can Increase the safety of the target electronic device to a certain extent.
  • the method for obtaining an application program may further include steps E1-E2, as follows:
  • the identity information may include an ID card number, a mobile phone number, a user file, and the like.
  • the user file includes the user's operating habits and user information on the target application.
  • the user file may include: the user file may include a user's operating habits for operating the target software, and the operating habits may be, for example, when will the user use the target application, how often the target application is used, and what are the main uses of the target application The time period, the purpose for which the user uses the target application, and the location where the target application is placed (the installation path of the target application, the position of the application icon of the target application in the electronic device), etc .; the user file may also include the configuration information of the target application settings For example, specifically setting the target application when using the target application, taking Skype as an example, when the user uses Skype to make a call, the volume setting, voice category (for example, male voice, female voice, etc.), and text information for communication, text information Fonts, font colors, font sizes, etc .; user files can also include downloads.
  • File contents include file name, file icon, file source, file size, download file.
  • Time time spent downloading files The average download speed download file used, the maximum download speed when downloading files, minimum download speed when downloading files.
  • the target application If it is detected that the target application obtains the identity information of the user, the target application is prevented from obtaining the identity information of the user, and an alert message is issued to the user.
  • the manner of sending the alarm information may be, for example, voice prompts, sending text prompts to the user, and the like.
  • the possibility of the user's identity information being stolen without the user's knowledge can be reduced to a certain extent. Furthermore, the possibility of receiving harassing information after the user information is stolen can be reduced, and the security of the user information can be improved.
  • the method for obtaining an application program further includes steps F1-F3, as follows:
  • F1 Receive a target user file for a user using a target application program sent by a target electronic device;
  • the target file is used as an example to describe the target file icon.
  • Obtaining the matching degree between the target user file and the preset user file may include steps F21-F23, as follows:
  • F21 Split the target file icon and the preset standard file icon into a matrix of n * n rectangular figures, each rectangular figure having a matrix coordinate, where the matrix is a matrix of n * n, n is an odd number greater than 2;
  • the area of the rectangular figures obtained after the splitting may be the same or different. If the area of the rectangular graphic obtained after splitting is different, one possible splitting method is: extract the area where the key content of the target file icon is located, and when splitting the area, the split density is greater than the non-key content The split density of the area in which the rectangle graphic area of the key content area is smaller than the rectangle area of the non-key content area.
  • the key content may be, for example, an area with an iconic meaning in the icon, and the area with the iconic meaning may be an area capable of highlighting the characteristics of the icon, such as a special-shaped area in a Google icon.
  • the matching degree in the first matching degree set may further include a matching degree in a region where the key content of the target file icon is located.
  • a method for determining an illegal user may be: if each matching degree in the first matching degree set is greater than the first preset matching degree, and the number of the second matching degree set greater than the second preset matching degree is greater than the preset
  • the threshold is set, it is determined that the user is an illegal user, wherein the first preset matching degree is greater than the second preset matching degree, wherein the illegal user is a user who generally uses the target electronic device other than the target electronic device It may be a user of a target electronic device or the like.
  • the value range of the first preset matching degree may be 0.95-1.00, for example, 0.96, 0.97, etc.
  • the value range of the second preset matching degree may be 0.80-0.95, for example, 0.85, 0.90 and so on.
  • the preset threshold may be, for example, a value between 0.8 and 0.85 of the total number of matching degrees in the second matching degree.
  • the matching degree of each rectangular shape is obtained.
  • the matching degree is divided into a first matching degree set and a second matching degree set.
  • the matching degrees in the first matching degree set are all greater than the first preset matching degree and the similarity in the second matching degree set is greater than the second preset matching degree.
  • FIG. 3 is a schematic flowchart of another method for obtaining an application program according to an embodiment of the present application.
  • the method for obtaining an application includes steps 301-309, as follows:
  • first obtain a reference application on the target electronic device and then perform feature extraction on the reference application to obtain target feature data, generate a search expression based on the target feature data, and apply the search expression to at least one application platform.
  • the search is performed according to the search expression to obtain the target application, which can improve the accuracy and practicality of the application acquisition to a certain extent compared with the existing solution and the existing solution that cannot comprehensively obtain the application that meets the characteristics. Sex.
  • FIG. 4 is a schematic flowchart of another method for obtaining an application according to an embodiment of the present application.
  • the method for obtaining an application includes steps 401-411, as follows:
  • the remaining memory resource is less than a preset threshold, allocate the preset memory resource to the target virus program, where the preset memory resource is a resource of a preset percentage of the memory resource requested by the target virus program.
  • the target application after obtaining the target application, if the target application is a virus program, modify the propagation mechanism of the virus program to obtain the target virus program, and then run the target virus program and respond in a random response manner. If the target virus program requests memory resources, the resource allocation is performed in a preset manner.
  • the virus program can be modified while the virus program is running, so that the virus program can be paralyzed to a certain extent, and the implantation of the virus program is considered to be a virus infection
  • a virus program requests a memory resource, its memory resource is restricted, so that it cannot obtain the required memory resource, thereby reducing the harm of the virus program and improving the security of the target electronic device to a certain extent.
  • FIG. 5 is a schematic flowchart of another method for obtaining an application according to an embodiment of the present application.
  • the method for obtaining an application includes steps 501-506, which are as follows:
  • the target application obtains the identity information of the user, prevent the target application from obtaining the identity information of the user, and issue an alert message to the user.
  • the identity information of the user can be stolen to a certain extent without the user's knowledge
  • the possibility of receiving harassing information after the user information has been stolen, and can also improve the security of user information.
  • FIG. 6 is a schematic structural diagram of a terminal according to an embodiment of the present application.
  • the terminal includes a processor, an input device, an output device, and a memory.
  • An input device, an output device, and a memory are connected to each other, where the memory is used to store a computer program, the computer program includes program instructions, the processor is configured to call the program instructions, and the program includes a program configured to execute the following Step instructions
  • a reference application program is obtained from a target electronic device, feature extraction is performed on the reference application program to obtain target feature data, and a search expression is generated according to the target feature data, and the search expression is applied to at least one application
  • the platform searches according to the search expression in the at least one application platform to obtain a target application. Therefore, the application can be searched from multiple platforms, thereby improving the accuracy of the application acquisition to a certain extent. Sex.
  • the instructions in the program are specifically used to perform the following steps: decompiling the reference application to obtain the The first metadata of the reference application is described; a plurality of sentences including feature data identifiers are extracted from the first metadata; and target feature data is extracted from the plurality of sentences including feature data identifiers.
  • the instructions in the program are further specifically configured to perform the following steps: generating multiple sub-search expressions according to a preset search expression generation method Performing a logical operation on the plurality of sub-search expressions to obtain a search expression.
  • the instructions in the program are further specifically used to perform the following steps: generating multiple sub search expressions according to the following formula,
  • f is a sub-search expression
  • a is a search expression identifier
  • b is a platform identifier
  • c is a matching point
  • d is target feature data.
  • the instructions in the program are further specifically used to perform the following steps: judging whether the installed application program on the target electronic device has a preset according to a preset interval Characteristics; if the installed application has preset characteristics, determine whether the installed application illegally occupies the memory resources of the target electronic device when running; if it is determined that the memory resources are illegally occupied, The installed application is determined as a reference application.
  • the instructions in the program are further specifically configured to perform the following steps: obtaining the second metadata of the virus program; obtaining the fields in the virus program for propagation from the second metadata Obtaining a propagation mechanism of the virus program according to the field of propagation; modifying the propagation mechanism according to a preset rule to obtain a target virus program, the target virus program being a harmless virus program; when running When the target virus program responds to the target virus program in a random response, the random response is a response with a 10% probability and a 90% probability of not responding; When the virus program responds, if the target virus program requests a memory resource, obtain the remaining memory resource of the target electronic device; if the remaining memory resource is less than a preset threshold, allocate a preset memory resource to the target virus program, The preset memory resource is a preset percentage of the memory resource requested by the target virus program.
  • the instructions in the program are further specifically configured to perform the following steps: detecting whether the target application obtains the identity information of the user; if it is detected that the target application obtains the identity information of the user, preventing all The target application obtains the user's identity information and sends an alert message to the user.
  • FIG. 7 is a schematic structural diagram of an application program obtaining apparatus according to an embodiment of the present application.
  • the application program acquiring apparatus includes an acquiring unit 701, an extracting unit 702, a generating unit 703, and a searching unit 704, where:
  • An obtaining unit 701, configured to determine a reference application from a target electronic device
  • An extraction unit 702 configured to perform feature extraction on the reference application to obtain target feature data
  • a generating unit 703, configured to generate a search expression according to the target characteristic data, where the search expression is applied to at least one application platform;
  • the search unit 704 is configured to perform a search in the at least one application platform according to the search expression to obtain a target application program.
  • a reference application program is obtained from a target electronic device, feature extraction is performed on the reference application program to obtain target feature data, and a search expression is generated according to the target feature data, and the search expression is applied to at least one An application platform performs a search in the at least one application platform according to the search expression to obtain a target application program. Therefore, the application program can be searched from multiple platforms, thereby improving the application acquisition time to a certain extent. accuracy.
  • the extraction unit 702 is specifically configured to perform the following steps: decompile the reference application to obtain the reference application First metadata of the program; extracting a plurality of sentences including feature data identifiers from the first metadata; and extracting target feature data from the plurality of sentences including feature data identifiers.
  • the generating unit 703 is specifically configured to perform the following steps: generate multiple sub-search expressions according to a preset search expression generation method; and Perform logical operations on multiple sub-search expressions to obtain search expressions.
  • the generating unit 703 is further specifically configured to perform the following steps: generating multiple sub search expressions according to the following formula,
  • f is a sub-search expression
  • a is a search expression identifier
  • b is a platform identifier
  • c is a matching point
  • d is target feature data.
  • the obtaining unit 701 is further specifically configured to perform the following steps: determine whether the installed application program on the target electronic device has a preset feature according to a preset time interval; If the installed application has a preset feature, it is determined whether the installed application is illegally occupying the memory resource of the target electronic device when running; if it is determined that the memory resource is illegally occupied, the Installed applications are identified as reference applications.
  • the application program obtaining device is further specifically configured to perform the following steps: obtaining second metadata of the virus program; obtaining a field in the virus program for propagation from the second metadata; and The transmitted field obtains a propagation mechanism of the virus program; the propagation mechanism is modified according to a preset rule to obtain a target virus program, and the target virus program is an innocent virus program; when running the When the target virus program responds to the target virus program according to a random response, the random response is a response with a probability of 10% and a non-response of 90%; When responding, if the target virus program requests a memory resource, obtaining the remaining memory resource of the target electronic device; if the remaining memory resource is less than a preset threshold, allocating a preset memory resource to the target virus program, the The preset memory resource is a preset percentage of the memory resource requested by the target virus program.
  • the application program acquiring device is further specifically configured to perform the following steps: detecting whether the target application program obtains the user's identity information; and if the target application program is detected to obtain the user's identity information, blocking the target The application obtains the identity information of the user, and sends an alert message to the user.
  • An embodiment of the present application further provides a computer-readable medium, where the computer-readable medium stores a computer program for electronic data exchange, and the computer program enables a computer to execute any one of the application programs described in the foregoing method embodiments to obtain Part or all of the steps of a method.
  • An embodiment of the present application further provides a computer program product, where the computer program product includes a non-transitory computer-readable storage medium storing a computer program, and the computer program enables a computer to execute any application described in the foregoing method embodiments. Part of or all steps of a program acquisition method.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Stored Programmes (AREA)

Abstract

一种应用程序获取方法,该方法包括:从目标电子装置获取参考应用程序(201);对所述参考应用程序进行特征提取,得到目标特征数据(202);根据所述目标特征数据生成搜索表达式,所述搜索表达式应用于至少一个应用平台(203);根据所述搜索表达式在所述至少一个应用平台中进行搜索,得到目标应用程序(204)。该方法能够提升获取应用程序时的准确性。

Description

应用程序获取方法及装置
本申请要求于2018年07月27日提交中国专利局、申请号为2018108416564、申请名称为“应用程序获取方法及装置”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及数据处理技术领域,具体涉及一种应用程序获取方法及装置。
背景技术
随着电子技术的不断发展,电子装置(例如手机、平板电脑等)等迅速的渗入到了社会生活的方方面面。在电子装置中存在大量的应用程序,在一些实际的场景中,应用程序搜索系统需要对符合特征的应用程序进行监控和分析,现有的对应用程序进行搜索的规则搜索引擎中,在对应用程序进行搜索时,不能全面的获取符合特征的应用程序,导致了获取应用程序时的准确性较低。
发明内容
本申请实施例提供一种应用程序获取方法及装置,能够提升获取应用程序时的准确性。
本申请实施例的第一方面提供了一种应用程序获取方法,所述方法包括:
从目标电子装置确定参考应用程序;
对所述参考应用程序进行特征提取,得到目标特征数据;
根据所述目标特征数据生成搜索表达式,所述搜索表达式应用于至少一个应用平台;
根据所述搜索表达式在所述至少一个应用平台中进行搜索,得到目标应用程序。
本申请实施例的第二方面提供了一种应用程序获取装置,所述装置包括获取单元、提取单元、生成单元和搜索单元,其中,
获取单元,用于从目标电子装置确定参考应用程序;
提取单元,用于对所述参考应用程序进行特征提取,得到目标特征数据;
生成单元,用于根据所述目标特征数据生成搜索表达式,所述搜索表达式应用于至少一个应用平台;
搜索单元,用于根据所述搜索表达式在所述至少一个应用平台中进行搜索,得到目标应用程序。
本申请实施例的第三方面提供一种终端,包括处理器、输入设备、输出设备和存储器,所述处理器、输入设备、输出设备和存储器相互连接,其中,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行如本申请实施例第一方面中所描述的步骤指令。
本申请实施例的第四方面提供了一种计算机可读存储介质,其中,上述计算机可读存储介质存储用于电子数据交换的计算机程序,其中,上述计算机程序使得计算机执行如本申请实施例第一方面中所描述的部分或全部步骤。
本申请实施例的第五方面提供了一种计算机程序产品,其中,上述计算机程序产品包 括存储了计算机程序的非瞬时性计算机可读存储介质,上述计算机程序可操作来使计算机执行如本申请实施例第一方面中所描述的部分或全部步骤。该计算机程序产品可以为一个软件安装包。
实施本申请实施例,至少具有如下有益效果:
通过本申请实施例,从目标电子装置获取参考应用程序,对所述参考应用程序进行特征提取,得到目标特征数据,根据所述目标特征数据生成搜索表达式,所述搜索表达式应用于至少一个应用平台,根据所述搜索表达式在所述至少一个应用平台中进行搜索,得到目标应用程序,因此,能够从多平台中对应用程序进行搜索,从而能在一定程度上提升应用程序获取时的准确性。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供了一种应用程序搜索系统的示意图;
图2为本申请实施例提供了一种应用程序获取方法的流程示意图;
图3为本申请实施例提供了另一种应用程序获取方法的流程示意图;
图4为本申请实施例提供了另一种应用程序获取方法的流程示意图;
图5为本申请实施例提供了另一种应用程序获取方法的流程示意图;
图6为本申请实施例提供的一种终端的结构示意图;
图7为本申请实施例提供了一种应用程序获取装置的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例所涉及到的电子装置可以包括各种具有无线通信功能的手持设备、车载设备、可穿戴设备、计算设备或连接到无线调制解调器的其他处理设备,以及各种形式的用户设备(user equipment,UE),移动台(mobile station,MS),终端设备(terminal device)等等。为方便描述,上面提到的设备统称为电子装置。
为了更好的理解本申请实施例提供的应用程序获取方法,下面首先对应用程序获取方所应用的应用程序搜索系统进行简要介绍。请参阅图1,图1为本申请实施例提供了一种应用程序搜索系统的示意图。如图1所示,应用程序搜索系统包括服务器101和电子装置102,其中,目标电子装置103为电子装置102中的任意一个,应用程序获取方法可包括:服务器101从目标电子装置103获取参考应用程序,参考应用程序可以是具有预设特征的应用程序,预设特征例如可以是对电子装置具有威胁的特征,如病毒软件的复制特征等, 预设特征也可以是与生活相关的特征,例如外卖、购物等;服务器101对参考应用程序进行特征提取,得到目标特征数据,特征提取的方式可以采用对参考应用程序进行反编译,然后进行特征提取得到目标特征数据;服务器101在提取到目标特征数据后,根据目标特征数据生成搜索表达式,该搜索表达式可以应用在至少一个应用平台,应用平台例如可以是安卓(Android)应用平台、苹果操作系统(iPhone Operating System,IOS)平台等;服务器101根据搜索表达式在上述至少一个应用平台进行搜索,得到目标应用程序。通过生成搜索表达式,在多个应用平台对目标应用程序进行搜索,得到目标应用程序,相对于现有方案中不能全面的获取符合特征的应用程序,能够在一定程度上提升应用程序获取时的准确性。
请参阅图2,图2为本申请实施例提供了一种应用程序获取方法的流程示意图。如图2所示,应用程序获取方法包括步骤201-204,具体如下:
201、从目标电子装置确定参考应用程序。
可选的,目标电子装置可以为用户使用的电子装置,也可以是应用搜索系统中的电子装置。
一种可能的从目标电子装置获取参考应用程序的方法包括步骤A1-A3,具体如下:
A1、根据预设时间间隔判断目标电子装置上已安装的应用程序是否具有预设特征;
其中,预设时间间隔可以由服务器随机设定,也可以由服务器的管理员进行设定,服务器随机设定时,预设时间间隔的范围例如可以是1-24小时之间的值,当然还可以具有其它设定方式,此处不作具体限定。
可选的,预设特征例如可以是对电子装置具有威胁的特征,如病毒软件的复制特征等,预设特征也可以是与生活相关的特征,例如外卖、购物等。
A2、若所述已安装的应用程序具有预设特征,则判断所述已安装的应用程序在运行时是否对目标电子装置的内存资源进行非法占用;
其中,对内存资源进行非法占用可以理解为未经过目标电子装置系统的许可而强制占用系统的内存资源。
A3、若判断出对内存资源非法占用,则将所述已安装的应用程序确定为参考应用程序。
202、对所述参考应用程序进行特征提取,得到目标特征数据。
可选的,一种可能的得到目标特征数据的方法包括步骤B1-B3,具体如下:
B1、对所述参考应用程序的执行文件进行反编译,得到所述参考应用程序的第一元数据;
其中,对参考应用程序的执行文件进行反编译的方法可以为:对参考应用程序的执行文件进行句法分析和语义分析,其中,该安装文件包为脱壳后的安装包,即为可以直接执行的执行文件,根据执行文件生成中间代码;根据中间代码生成控制流程图;根据所述控制流程图对执行文件的控制流进行分析,得到所述第一元数据。当然还可以采用反编译工具对执行文件进行反编译,反编译工具例如可以是ReFox、Brillig等。
B2、从所述第一元数据中提取多个包括特征数据标识的语句;
可选的,特征数据标识例如可以是:以应用名和动态库名为例进行说明,特征数据标识为AppFileName、appname、name等,动态库名的标识为:dynamic、.so等。
B3、从所述多个包括特征数据标识的语句中提取目标特征数据。
可选的,目标特征数据例如可以是以下数据中的至少一种:字符串、类名、方法名、加载的动态库、安装包文件列表、变量名、统一资源定位符(Uniform Resource Locator,URL)、互联网协议地址(Internet Protocol Address,IP地址)、邮箱等类别;字符串例如可以是test、forward等,类名例如可以是password、Certificate Authority(CA)等,方法名例如可以是Method1、method2等,加载的动态库例如可以是dlopen、dlsym、dlerror也可以是自定义的动态库,例如:libsubstrate.so,libsubstrate.so,libSubstrateJNI.so,libSubstrateRun.so等,安装包文件列表例如可以是Skype、QQ等,变量名例如可以是testNum、prttest等。
203、根据所述目标特征数据生成搜索表达式,所述搜索表达式应用于至少一个应用平台。
可选的,一种可能的生成搜索表达式的方法可包括步骤C1-C2,具体如下:
C1、根据预设的搜索表达式生成方法生成多个子搜索表达式;
其中,可以根据预设的子搜索表达式生成公式生成多个子搜索表达式,具体如下:
f=a.b.c(“d”),
其中,f为子搜索表达式,a为搜索表达式标识,b为平台标识,c为匹配点,d为目标特征数据。
一个可能的实例中,根据搜索表达式生成子搜索表达式具体可以为:Sag.i.AppFileName("test"),
其中,“Sag”为搜索表达式标识;“i”代表iOS平台;“AppFileName”为匹配点,AppFileName为搜索App安装包文件名;"test"为搜索目标字符串。
可选的,除“AppFileName”之外,还可以具有如下匹配点:DyLib:动态库;(iOS)AppFileName:App安装包文件名;AppFileSHA1:App安装包文件SHA1;AppFileSHA256:App安装包文件SHA256;AppFileMD5:App安装包文件MD5;DataFileName:Data数据目录文件名;(iOS)DataFileSHA1:Data数据目录文件SHA1;(iOS)DataFileSHA256:Data数据目录文件SHA256;(iOS)DataFileMD5:Data数据目录文件MD5;(iOS)String:字符串;Method:方法名;Class:类名;PrivateVar:私有变量名;(iOS)PublicVa:公有变量名;URL:URL;IP:网络地址:Email:邮箱;Phone:手机号码;CertSHA1:开发者证书指纹(Android);CertIssuer:开发者证书颁发者;(Android)CertSubject:开发者证书主体,(iOS)用于标识iOS平台,(Android)用于标识Android平台。
C2、将所述多个子搜索表达式进行逻辑运算,得到搜索表达式。
可选的,逻辑运算包括与(and)、或(or)、非(not),通过逻辑运算对多个子搜索表达式进行运算时,可同时包括多个逻辑运算,例如同时包括and、not,也可以是and、or等。
一种可能的通过多个子搜索表达式通过逻辑运算得到搜索表达式的示例为:Sag.i.AppFileName*(“test”)and Sag.a.Class(“password”)。
其中,第一子搜索表达式为Sag.i.AppFileName*(“test”),第二子搜索表达式为Sag.a.Class(“password”),其逻辑运算式为and。上述搜索表达式具体可以理解为:搜索同时满足iOS平台中带有“test”字符串的文件名的、Android平台带有“password”字符 串的类的两个条件的应用。
通过将多个子搜索表达式通过逻辑运算后得到搜索表达式,提升了对应用程序的搜索范围,从而能够提升对应用程序进行搜索时的准确性。
204、根据所述搜索表达式在所述至少一个应用平台中进行搜索,得到目标应用程序。
可选的,目标应用程序为病毒程序。在一个可能的实例中,在得到目标应用程序后,还可以包括步骤D1-D7,具体如下:
D1、获取所述病毒程序的第二元数据;
可选的,获取第二元数据的方法,可参照步骤B1的方法,此处不再赘述。
D2、从所述第二元数据中获取所述病毒程序中用于传播的字段;
可选的,获取用于传播的字段的方式可以为,提取第二元数据中,用于传播的函数的代码,其中,用于传播的函数的代码中具有内存读取字段,以及感染寄生字段。
D3、根据所述传播的字段,获取所述病毒程序的传播机制;
可选的,分析该病毒程序的感染寄生字段,从感染寄生字段中获取传播机制。一种可能的方法例如可以是:解析感染寄生字段的代码,提取代码中感染触发的条件,例如if、switch语句开头的语句等,if语句中的判断条件例如是某种字符,具体可以是“caves”等,也可以是以时间触发等触发条件。
D4、按照预设的规则对所述传播机制进行修改,以得到目标病毒程序,所述目标病毒程序为无害型病毒程序;
可选的,预设的规则例如可以是,修改寄生感染字段的代码中用于感染触发的条件,例如,if语句中的判断条件为字符时,可以修改该字符,将触发条件修改为系统中,不存在的触发条件,或者是以极小概率出现的触发条件,极小概率例如可以是0.001以下的概率。
可选的,无害型病毒程序为仅对内存资源进行占用,或者覆盖内存资源,不会对电子装置的系统造成损害。
D5、当运行所述目标病毒程序时,对所述目标病毒程序按照随机响应的响应方式进行响应,所述随机响应为按照百分之10的概率响应,百分之90的概率不响应;
可选的,对目标病毒程序进行主动运行,在运行目标病毒程序时,目标病毒程序会对系统的资源进行占用或者调用其它应用程序,则在收到目标病毒对资源进行请求、强行占用或调用其它应用程序时,按照随机响应的方式对其发出的资源请求、强行占用或者调用其它应用程序进行响应,随机响应为按照百分之10的概率响应,百分之90的概率不响应。
可选的,还可以按照固定响应的方式进行响应,例如,在10次请求或强行占用中,仅响应第一次和第六次,其余情况下均不响应,当然还可应采用其它的响应方式,具体不做限定。
D6、在对所述目标病毒程序进行响应时,若所述目标病毒程序请求内存资源,则获取目标电子装置的剩余内存资源;
D7、若所述剩余内存资源小于预设阈值,则分配预设内存资源给所述目标病毒程序,所述预设内存资源为所述目标病毒程序请求占用的内存资源的预设百分比的资源。
其中,预设阈值例如可以是小于50%的值,例如:剩余内存资源为总内存资源的25%、 30%等。预设百分比可以为70%-90%之间的值,例如可以是71%、76%等。
通过,在目标电子装置的剩余内存资源小于预设阈值时,对目标病毒分配少于其请求的内存资源,能够在一定程度上麻痹目标病毒程序,从而破坏掉目标病毒的破坏性,进而能一定程度上提升目标电子装置的安全性。
在一个可能的示例中,应用程序获取方法还可包括步骤E1-E2,具体如下:
E1、检测目标应用程序是否获取用户的身份信息;
可选的,身份信息可包括身份证号码、手机号码、用户文件等。用户文件包括用户对目标应用的操作习惯、用户信息等。具体的,用户文件可包括:用户文件可包括用户对目标软件进行操作的操作习惯,操作习惯例如可以是,用户在何时会使用目标应用,使用目标应用的频率,使用目标应用主要集中在哪些时间段,用户使用目标应用的用途以及将目标应用放置的位置(目标应用的安装路径、目标应用的应用图标在电子装置中的位置)等;用户文件还可以包括用户对目标应用设置的配置信息,例如,具体使用目标应用时对目标应用的设置,以Skype为例,用户在使用Skype进行通话时的音量设置,语音类别(例如,男声,女声等),使用文本信息进行交流时,文本信息的字体、字体颜色、字体大小等;用户文件还可以包括下载内容,以下载软件为例,使用下载软件下载的文件的内容,文件内容包括文件名称、文件图标、文件来源、文件大小、下载文件的时间、下载文件所用的时长、下载文件所用的平均下载速度、下载文件时的最大下载速度、下载文件时的最小下载速度等。
E2、若检测到所述目标应用程序获取所述用户的身份信息,则阻止所述目标应用程序获取用户的身份信息,并向所述用户发出告警信息。
可选的,发出告警信息的方式例如可以是通过语音提示,向用户发送文字提示等。
通过检测目标应用程序是否获取用户的身份信息,并在目标应用程序获取用户的身份信息后向用户发出告警信息,能够一定程度上减少用户身份信息在用户不知情的情况下被窃取的可能性,进而能够减少在用户信息被窃取后接收到骚扰信息的可能性,也能提升用户信息的安全性。
在一个可能的实例中,应用程序获取方法还包括步骤F1-F3,具体如下:
F1、接收目标电子装置发送的用户使用目标应用程序的目标用户文件;
F2、将所述目标用户文件与预设的用户文件进行比对,得到所述目标用户文件与所述预设的用户文件之间的匹配度;
可选的,此处以目标文件为目标文件图标为例进行说明。得到目标用户文件与预设的用户文件之间的匹配度可包括步骤F21-F23,具体如下:
F21、将所述目标文件图标以及预设的标准文件图标以矩阵的形式拆分为n*n个矩形图形,每个矩形图形具有一个矩阵坐标,其中,所述矩阵为n*n的矩阵,n为大于2的奇数;
可选的,其中以矩阵的形式拆分为n*n个矩形图形时,拆分后得到的矩形图形的面积可以是相同的,也可以是不同的。若拆分后得到的矩形图形的面积不同,则一种可能的拆分方式为:提取目标文件图标的关键内容所在的区域,在对该区域进行拆分时,其拆分密度大于非关键内容所在区域的拆分密度,即关键内容所在区域的矩形图形的面积小于非关键内容所在区域的矩形面积。其中,关键内容例如可以是图标中具有标志性意义的区域等, 标志性意义的区域可以为能够凸显图标特色的区域,例如谷歌图标中的特殊形状的区域。
F22、将所述目标文件图标与预设的标准文件图标中的矩形图形按照对应的坐标位置进行比对,得到n*n个匹配度;
F23、将目标文件图标中矩阵坐标为(1,1),(1,n),(n/2+0.5,1),(n/2+0.5,x),(x,n/2+0.5)以及(n,n)的矩形图形与预设的标准文件图标中对应坐标位置的图形进行比对,得到的匹配度作为第一相似度集合,将第一匹配度集合之外的匹配度作为第二匹配度集合,其中,x的取值范围为[1,n],匹配度例如可以是相似度等;
可选的,第一匹配度集合中的匹配度还可以包括目标文件图标的关键内容所在区域的匹配度。
F3、若所述匹配度处于预设匹配度范围,则确定出所述用户为非法用户。
一种确定出非法用户的方法可以为:若第一匹配度集合中每个匹配度均大于第一预设匹配度,且第二匹配度集合中大于第二预设匹配度的个数大于预设阈值时,则确定出该用户为非法用户,其中,第一预设匹配度大于第二预设匹配度,其中,非法用户为通常使用目标电子装置以外的用户,通常使用目标电子装置的用户可以为目标电子装置的使用者等。
可选的,第一预设匹配度的取值范围可以为0.95-1.00,例如可以是0.96、0.97等,第二预设匹配度的取值范围可以为0.80-0.95,例如可以是,0.85、0.90等。预设阈值例如可以是第二匹配度中匹配度总数的0.8到匹配度总数0.85之间的数值。
通过将目标文件图标拆分为n*n个矩形图形,然后将矩形图形分别与标准文件图标在拆分后相同坐标位置的矩形图形进行比对,得到每个矩形图形的匹配度,让后将匹配度划分为第一匹配度集合和第二匹配度集合,在第一匹配度集合中的匹配度全部大于第一预设匹配度且第二匹配度集合中的相似度大于第二预设匹配度的个数大于预设阈值时,确定出该用户为非法用户,能够在一定程度上提升判别用户是否为非法用户的准确性。
请参阅图3,图3为本申请实施例提供了另一种应用程序获取方法的流程示意图。如图3所示,应用程序获取方法包括步骤301-309,具体如下:
301、根据预设时间间隔判断目标电子装置上已安装的应用程序是否具有预设特征;
302、若所述已安装的应用程序具有预设特征,则判断所述已安装的应用程序在运行时是否对目标电子装置的内存资源进行非法占用;
303、若判断出对内存资源非法占用,则将所述已安装的应用程序确定为参考应用程序;
304、对所述参考应用程序的执行文件进行反编译,得到所述参考应用程序的第一元数据;
305、从所述第一元数据中提取多个包括特征数据标识的语句;
306、从所述多个包括特征数据标识的语句中提取目标特征数据;
307、根据预设的搜索表达式生成方法生成多个子搜索表达式;
308、将所述多个子搜索表达式进行逻辑运算,得到搜索表达式,所述搜索表达式应用于至少一个应用平台;
309、根据所述搜索表达式在所述至少一个应用平台中进行搜索,得到目标应用程序。
本示例中,通过在目标电子装置上首先获取到参考应用程序,然后对参考应用程序进行特征提取,得到目标特征数据,根据目标特征数据生成搜索表达式,搜索表达式应用于 至少一个应用平台,根据搜索表达式进行搜索,得到目标应用程序,从而相对于现有方案中相对于现有方案中不能全面的获取符合特征的应用程序,能够在一定程度上提升应用程序获取时的准确性以及实用性。
请参阅图4,图4为本申请实施例提供了另一种应用程序获取方法的流程示意图。如图4所示,应用程序获取方法包括步骤401-411,具体如下:
401、从目标电子装置确定参考应用程序;
402、对所述参考应用程序进行特征提取,得到目标特征数据;
403、根据所述目标特征数据生成搜索表达式,所述搜索表达式应用于至少一个应用平台;
404、根据所述搜索表达式在所述至少一个应用平台中进行搜索,得到目标应用程序,搜索目标应用程序包括病毒程序;
405、获取所述病毒程序的第二元数据;
406、从所述第二元数据中获取所述病毒程序中用于传播的字段;
407、根据所述传播的字段,获取所述病毒程序的传播机制;
408、按照预设的规则对所述传播机制进行修改,以得到目标病毒程序,所述目标病毒程序为无害型病毒程序;
409、当运行所述目标病毒程序时,对所述目标病毒程序按照随机响应的响应方式进行响应,所述随机响应为按照百分之10的概率响应,百分之90的概率不响应;
410、在对所述目标病毒程序进行响应时,若所述目标病毒程序请求内存资源,则获取目标电子装置的剩余内存资源;
411、若所述剩余内存资源小于预设阈值,则分配预设内存资源给所述目标病毒程序,所述预设内存资源为所述目标病毒程序请求占用的内存资源的预设百分比的资源。
本示例中,在获取到目标应用程序后,若目标应用程序为病毒程序,则修改该病毒程序的传播机制得到目标病毒程序,然后对目标病毒程序进行运行,并按照随机响应的方式进行响应,若目标病毒程序请求内存资源,则按照预设的方式进行资源分配,能够在病毒程序运行时,对病毒程序进行修改,从而能够一定程度上麻痹病毒程序,让病毒程序的植入这认为病毒植入成功,在病毒程序请求内存资源时,限制其内存资源,从而使之不能获得所需的内存资源,从而降低了病毒程序的危害,能够一定程度上提升目标电子装置的安全性。
请参阅图5,图5为本申请实施例提供了另一种应用程序获取方法的流程示意图。如图5所示,应用程序获取方法包括步骤501-506,具体如下:
501、从目标电子装置确定参考应用程序;
502、对所述参考应用程序进行特征提取,得到目标特征数据;
503、根据所述目标特征数据生成搜索表达式,所述搜索表达式应用于至少一个应用平台;
504、根据所述搜索表达式在所述至少一个应用平台中进行搜索,得到目标应用程序;
505、检测目标应用程序是否获取用户的身份信息;
506、若检测到所述目标应用程序获取所述用户的身份信息,则阻止所述目标应用程序 获取用户的身份信息,并向所述用户发出告警信息。
本示例中,通过检测目标应用程序是否获取用户的身份信息,并在目标应用程序获取用户的身份信息后向用户发出告警信息,能够一定程度上减少用户身份信息在用户不知情的情况下被窃取的可能性,进而能够减少在用户信息被窃取后接收到骚扰信息的可能性,也能提升用户信息的安全性。
与上述实施例一致的,请参阅图6,图6为本申请实施例提供的一种终端的结构示意图,如图所示,包括处理器、输入设备、输出设备和存储器,所述处理器、输入设备、输出设备和存储器相互连接,其中,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,上述程序包括用于执行以下步骤的指令;
从目标电子装置获取参考应用程序;
对所述参考应用程序进行特征提取,得到目标特征数据;
根据所述目标特征数据生成搜索表达式,所述搜索表达式应用于至少一个应用平台;
根据所述搜索表达式在所述至少一个应用平台中进行搜索,得到目标应用程序。
通过本实施例,从目标电子装置获取参考应用程序,对所述参考应用程序进行特征提取,得到目标特征数据,根据所述目标特征数据生成搜索表达式,所述搜索表达式应用于至少一个应用平台,根据所述搜索表达式在所述至少一个应用平台中进行搜索,得到目标应用程序,因此,能够从多平台中对应用程序进行搜索,从而能在一定程度上提升应用程序获取时的准确性。
一个可能的实例中,在所述对所述参考应用程序进行特征提取,得到目标特征数据方面,所述程序中的指令具体用于执行如下步骤:对所述参考应用程序进行反编译,得到所述参考应用程序的第一元数据;从所述第一元数据中提取多个包括特征数据标识的语句;从所述多个包括特征数据标识的语句中提取目标特征数据。
一个可能的实例中,在所述根据所述目标特征数据生成搜索表达式方面,所述程序中的指令还具体用于执行如下步骤:根据预设的搜索表达式生成方法生成多个子搜索表达式;将所述多个子搜索表达式进行逻辑运算,得到搜索表达式。
一个可能的实例中,在根据预设的搜索表达式生成方法生成多个子搜索表达式方面,所述程序中的指令还具体用于执行如下步骤:根据如下公式生成多个子搜索表达式,
f=a.b.c(“d”),
其中,f为子搜索表达式,a为搜索表达式标识,b为平台标识,c为匹配点,d为目标特征数据。
一个可能的实例中,在从目标电子装置获取参考应用程序方面,所述程序中的指令还具体用于执行如下步骤:根据预设时间间隔判断目标电子装置上已安装的应用程序是否具有预设特征;若所述已安装的应用程序具有预设特征,则判断所述已安装的应用程序在运行时是否对目标电子装置的内存资源进行非法占用;若判断出对内存资源非法占用,则将所述已安装的应用程序确定为参考应用程序。
一个可能的实例中,所述程序中的指令还具体用于执行如下步骤:获取所述病毒程序的第二元数据;从所述第二元数据中获取所述病毒程序中用于传播的字段;根据所述传播 的字段,获取所述病毒程序的传播机制;按照预设的规则对所述传播机制进行修改,以得到目标病毒程序,所述目标病毒程序为无害型病毒程序;当运行所述目标病毒程序时,对所述目标病毒程序按照随机响应的响应方式进行响应,所述随机响应为按照百分之10的概率响应,百分之90的概率不响应;在对所述目标病毒程序进行响应时,若所述目标病毒程序请求内存资源,则获取目标电子装置的剩余内存资源;若所述剩余内存资源小于预设阈值,则分配预设内存资源给所述目标病毒程序,所述预设内存资源为所述目标病毒程序请求占用的内存资源的预设百分比的资源。
一个可能的实例中,所述程序中的指令还具体用于执行如下步骤:检测目标应用程序是否获取用户的身份信息;若检测到所述目标应用程序获取所述用户的身份信息,则阻止所述目标应用程序获取用户的身份信息,并向所述用户发出告警信息。
与上述一致的,请参阅图7,图7为本申请实施例提供了一种应用程序获取装置的结构示意图。应用程序获取装置包括获取单元701、提取单元702、生成单元703和搜索单元704,其中,
获取单元701,用于从目标电子装置确定参考应用程序;
提取单元702,用于对所述参考应用程序进行特征提取,得到目标特征数据;
生成单元703,用于根据所述目标特征数据生成搜索表达式,所述搜索表达式应用于至少一个应用平台;
搜索单元704,用于根据所述搜索表达式在所述至少一个应用平台中进行搜索,得到目标应用程序。
通过本申请实施例,从目标电子装置获取参考应用程序,对所述参考应用程序进行特征提取,得到目标特征数据,根据所述目标特征数据生成搜索表达式,所述搜索表达式应用于至少一个应用平台,根据所述搜索表达式在所述至少一个应用平台中进行搜索,得到目标应用程序,因此,能够从多平台中对应用程序进行搜索,从而能在一定程度上提升应用程序获取时的准确性。
可选的,在所述对所述参考应用程序进行特征提取,得到目标特征数据方面,所述提取单元702具体用于执行如下步骤:对所述参考应用程序进行反编译,得到所述参考应用程序的第一元数据;从所述第一元数据中提取多个包括特征数据标识的语句;从所述多个包括特征数据标识的语句中提取目标特征数据。
可选的,在所述根据所述目标特征数据生成搜索表达式方面,所述生成单元703具体用于执行如下步骤:根据预设的搜索表达式生成方法生成多个子搜索表达式;将所述多个子搜索表达式进行逻辑运算,得到搜索表达式。
可选的,在根据预设的搜索表达式生成方法生成多个子搜索表达式方面,所述生成单元703还具体用于执行如下步骤:根据如下公式生成多个子搜索表达式,
f=a.b.c(“d”),
其中,f为子搜索表达式,a为搜索表达式标识,b为平台标识,c为匹配点,d为目标特征数据。
可选的,在从目标电子装置获取参考应用程序方面,所述获取单元701还具体用于执行如下步骤:根据预设时间间隔判断目标电子装置上已安装的应用程序是否具有预设特征; 若所述已安装的应用程序具有预设特征,则判断所述已安装的应用程序在运行时是否对目标电子装置的内存资源进行非法占用;若判断出对内存资源非法占用,则将所述已安装的应用程序确定为参考应用程序。
可选的,所述应用程序获取装置还具体用于执行如下步骤:获取所述病毒程序的第二元数据;从所述第二元数据中获取所述病毒程序中用于传播的字段;根据所述传播的字段,获取所述病毒程序的传播机制;按照预设的规则对所述传播机制进行修改,以得到目标病毒程序,所述目标病毒程序为无害型病毒程序;当运行所述目标病毒程序时,对所述目标病毒程序按照随机响应的响应方式进行响应,所述随机响应为按照百分之10的概率响应,百分之90的概率不响应;在对所述目标病毒程序进行响应时,若所述目标病毒程序请求内存资源,则获取目标电子装置的剩余内存资源;若所述剩余内存资源小于预设阈值,则分配预设内存资源给所述目标病毒程序,所述预设内存资源为所述目标病毒程序请求占用的内存资源的预设百分比的资源。
可选的,所述应用程序获取装置还具体用于执行如下步骤:检测目标应用程序是否获取用户的身份信息;若检测到所述目标应用程序获取所述用户的身份信息,则阻止所述目标应用程序获取用户的身份信息,并向所述用户发出告警信息。
本申请实施例还提供一种计算机可读介质,其中,该计算机可读介质存储用于电子数据交换的计算机程序,该计算机程序使得计算机执行如上述方法实施例中记载的任何一种应用程序获取方法的部分或全部步骤。
本申请实施例还提供一种计算机程序产品,所述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,该计算机程序使得计算机执行如上述方法实施例中记载的任何一种应用程序获取方法的部分或全部步骤。
以上对本申请实施例进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
以上所揭露的仅为本申请较佳实施例而已,当然不能以此来限定本申请之权利范围,因此依本申请权利要求所作的等同变化,仍属本申请所涵盖的范围。

Claims (20)

  1. 一种应用程序获取方法,其特征在于,所述方法包括:
    从目标电子装置确定参考应用程序;
    对所述参考应用程序进行特征提取,得到目标特征数据;
    根据所述目标特征数据生成搜索表达式,所述搜索表达式应用于至少一个应用平台;
    根据所述搜索表达式在所述至少一个应用平台中进行搜索,得到目标应用程序。
  2. 根据权利要求1所述的方法,其特征在于,所述对所述参考应用程序进行特征提取,得到目标特征数据,包括:
    对所述参考应用程序的执行文件进行反编译,得到所述参考应用程序的第一元数据;
    从所述第一元数据中提取多个包括特征数据标识的语句;
    从所述多个包括特征数据标识的语句中提取目标特征数据。
  3. 根据权利要求1或2所述的方法,其特征在于,所述根据所述目标特征数据生成搜索表达式,包括:
    根据预设的搜索表达式生成方法生成多个子搜索表达式;
    将所述多个子搜索表达式进行逻辑运算,得到搜索表达式。
  4. 根据权利要求3所述的方法,其特征在于,所述根据预设的搜索表达式生成方法生成多个子搜索表达式,包括:根据如下公式生成多个子搜索表达式,
    f=a.b.c(“d”),
    其中,f为子搜索表达式,a为搜索表达式标识,b为平台标识,c为匹配点,d为目标特征数据。
  5. 根据权利要求1所述的方法,其特征在于,所述从目标电子装置获取参考应用程序,包括:
    根据预设时间间隔判断目标电子装置上已安装的应用程序是否具有预设特征;
    若所述已安装的应用程序具有预设特征,则判断所述已安装的应用程序在运行时是否对目标电子装置的内存资源进行非法占用;
    若判断出对内存资源非法占用,则将所述已安装的应用程序确定为参考应用程序。
  6. 根据权利要求4或5所述的方法,其特征在于,所述目标应用程序包括病毒程序,所述方法还包括:
    获取所述病毒程序的第二元数据;
    从所述第二元数据中获取所述病毒程序中用于传播的字段;
    根据所述传播的字段,获取所述病毒程序的传播机制;
    按照预设的规则对所述传播机制进行修改,以得到目标病毒程序,所述目标病毒程序为无害型病毒程序;
    当运行所述目标病毒程序时,对所述目标病毒程序按照随机响应的响应方式进行响应,所述随机响应为按照百分之10的概率响应,百分之90的概率不响应;
    在对所述目标病毒程序进行响应时,若所述目标病毒程序请求内存资源,则获取目标电子装置的剩余内存资源;
    若所述剩余内存资源小于预设阈值,则分配预设内存资源给所述目标病毒程序,所述预设内存资源为所述目标病毒程序请求占用的内存资源的预设百分比的资源。
  7. 根据权利要求1至6任一项所述的方法,其特征在于,所述方法还包括:
    检测目标应用程序是否获取用户的身份信息;
    若检测到所述目标应用程序获取所述用户的身份信息,则阻止所述目标应用程序获取用户的身份信息,并向所述用户发出告警信息。
  8. 一种应用程序获取装置,其特征在于,所述装置包括:
    获取单元,用于从目标电子装置确定参考应用程序;
    提取单元,用于对所述参考应用程序进行特征提取,得到目标特征数据;
    生成单元,用于根据所述目标特征数据生成搜索表达式,所述搜索表达式应用于至少一个应用平台;
    搜索单元,用于根据所述搜索表达式在所述至少一个应用平台中进行搜索,得到目标应用程序。
  9. 根据权利要求8所述的装置,其特征在于,所述提取单元具体用于:
    对所述参考应用程序的执行文件进行反编译,得到所述参考应用程序的第一元数据;
    从所述第一元数据中提取多个包括特征数据标识的语句;
    从所述多个包括特征数据标识的语句中提取目标特征数据。
  10. 根据权利要求8或9所述的装置,其特征在于,所述生成单元具体用于:
    根据预设的搜索表达式生成方法生成多个子搜索表达式;
    将所述多个子搜索表达式进行逻辑运算,得到搜索表达式。
  11. 根据权利要求10所述的装置,其特征在于,所述生成单元还具体用于:
    根据如下公式生成多个子搜索表达式,
    f=a.b.c(“d”),
    其中,f为子搜索表达式,a为搜索表达式标识,b为平台标识,c为匹配点,d为目标特征数据。
  12. 根据权利要求8所述的装置,其特征在于,所述获取单元具体用于:
    根据预设时间间隔判断目标电子装置上已安装的应用程序是否具有预设特征;
    若所述已安装的应用程序具有预设特征,则判断所述已安装的应用程序在运行时是否对目标电子装置的内存资源进行非法占用;
    若判断出对内存资源非法占用,则将所述已安装的应用程序确定为参考应用程序。
  13. 根据权利要求11或12所述的装置,其特征在于,所述应用程序获取装置还具体用于:
    获取所述病毒程序的第二元数据;
    从所述第二元数据中获取所述病毒程序中用于传播的字段;
    根据所述传播的字段,获取所述病毒程序的传播机制;
    按照预设的规则对所述传播机制进行修改,以得到目标病毒程序,所述目标病毒程序为无害型病毒程序;
    当运行所述目标病毒程序时,对所述目标病毒程序按照随机响应的响应方式进行响应, 所述随机响应为按照百分之10的概率响应,百分之90的概率不响应;
    在对所述目标病毒程序进行响应时,若所述目标病毒程序请求内存资源,则获取目标电子装置的剩余内存资源;
    若所述剩余内存资源小于预设阈值,则分配预设内存资源给所述目标病毒程序,所述预设内存资源为所述目标病毒程序请求占用的内存资源的预设百分比的资源。
  14. 根据权利要求13所述的装置,其特征在于,所述应用程序获取装置还具体用于:
    检测目标应用程序是否获取用户的身份信息;
    若检测到所述目标应用程序获取所述用户的身份信息,则阻止所述目标应用程序获取用户的身份信息,并向所述用户发出告警信息。
  15. 一种终端,其特征在于,包括处理器、输入设备、输出设备和存储器,所述处理器、输入设备、输出设备和存储器相互连接,其中,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,所述处理器用于执行:
    从目标电子装置确定参考应用程序;
    对所述参考应用程序进行特征提取,得到目标特征数据;
    根据所述目标特征数据生成搜索表达式,所述搜索表达式应用于至少一个应用平台;
    根据所述搜索表达式在所述至少一个应用平台中进行搜索,得到目标应用程序。
  16. 根据权利要求15所述的终端,其特征在于,在所述对所述参考应用程序进行特征提取,得到目标特征数据方面,所述处理器还用于执行:
    对所述参考应用程序进行反编译,得到所述参考应用程序的第一元数据;从所述第一元数据中提取多个包括特征数据标识的语句;从所述多个包括特征数据标识的语句中提取目标特征数据。
  17. 根据权利要求15或16所述的终端,其特征在于,在所述根据所述目标特征数据生成搜索表达式方面,所述处理器还用于执行:
    根据预设的搜索表达式生成方法生成多个子搜索表达式;
    将所述多个子搜索表达式进行逻辑运算,得到搜索表达式。
  18. 根据权利要求17所述的终端,其特征在于,在所述根据预设的搜索表达式生成方法生成多个子搜索表达式方面,所述处理器还用于执行:根据如下公式生成多个子搜索表达式,
    f=a.b.c(“d”),
    其中,f为子搜索表达式,a为搜索表达式标识,b为平台标识,c为匹配点,d为目标特征数据。
  19. 根据权利要求15所述的终端,其特征在于,在所述从目标电子装置获取参考应用程序方面,所述处理器还用于执行:
    根据预设时间间隔判断目标电子装置上已安装的应用程序是否具有预设特征;
    若所述已安装的应用程序具有预设特征,则判断所述已安装的应用程序在运行时是否对目标电子装置的内存资源进行非法占用;
    若判断出对内存资源非法占用,则将所述已安装的应用程序确定为参考应用程序。
  20. 一种计算机可读存储介质,其特征在于,所述计算机可读介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行如权利要求1-7任一项所述的方法。
PCT/CN2018/108886 2018-07-27 2018-09-29 应用程序获取方法及装置 WO2020019520A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201810841656.4 2018-07-27
CN201810841656.4A CN109145589B (zh) 2018-07-27 2018-07-27 应用程序获取方法及装置

Publications (1)

Publication Number Publication Date
WO2020019520A1 true WO2020019520A1 (zh) 2020-01-30

Family

ID=64798256

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2018/108886 WO2020019520A1 (zh) 2018-07-27 2018-09-29 应用程序获取方法及装置

Country Status (2)

Country Link
CN (1) CN109145589B (zh)
WO (1) WO2020019520A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113391848A (zh) * 2020-03-13 2021-09-14 深圳市路通网络技术有限公司 应用程序智能适配方法、装置、设备、介质

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111081240B (zh) * 2019-11-18 2022-06-17 北京小米移动软件有限公司 语音点餐的方法、装置、系统及计算机可读存储介质
CN111447298A (zh) * 2020-03-24 2020-07-24 北京字节跳动网络技术有限公司 应用程序中的网络地址的获取方法、装置、设备及介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103473509A (zh) * 2013-09-30 2013-12-25 清华大学 Android平台恶意软件自动检测方法
CN104700030A (zh) * 2013-12-04 2015-06-10 腾讯科技(深圳)有限公司 一种病毒数据查找方法、装置及服务器
CN104794397A (zh) * 2014-01-22 2015-07-22 腾讯科技(深圳)有限公司 病毒检测方法和装置
CN106951780A (zh) * 2017-02-08 2017-07-14 中国科学院信息工程研究所 重打包恶意应用的静态检测方法和装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103761482B (zh) * 2014-01-23 2018-08-07 珠海市君天电子科技有限公司 一种病毒程序检测的方法及病毒程序检测装置
CN104102516A (zh) * 2014-07-21 2014-10-15 北京金山安全软件有限公司 一种应用程序卸载方法及装置
CN107491480A (zh) * 2017-07-10 2017-12-19 北京奇安信科技有限公司 一种搜索结果显示处理方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103473509A (zh) * 2013-09-30 2013-12-25 清华大学 Android平台恶意软件自动检测方法
CN104700030A (zh) * 2013-12-04 2015-06-10 腾讯科技(深圳)有限公司 一种病毒数据查找方法、装置及服务器
CN104794397A (zh) * 2014-01-22 2015-07-22 腾讯科技(深圳)有限公司 病毒检测方法和装置
CN106951780A (zh) * 2017-02-08 2017-07-14 中国科学院信息工程研究所 重打包恶意应用的静态检测方法和装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113391848A (zh) * 2020-03-13 2021-09-14 深圳市路通网络技术有限公司 应用程序智能适配方法、装置、设备、介质

Also Published As

Publication number Publication date
CN109145589A (zh) 2019-01-04
CN109145589B (zh) 2023-04-07

Similar Documents

Publication Publication Date Title
US11188650B2 (en) Detection of malware using feature hashing
US9596257B2 (en) Detection and prevention of installation of malicious mobile applications
US10484419B1 (en) Classifying software modules based on fingerprinting code fragments
CN109768992B (zh) 网页恶意扫描处理方法及装置、终端设备、可读存储介质
US11068583B2 (en) Management of login information affected by a data breach
CN109189496B (zh) 应用程序的动态库信息获取方法及装置
CN108090351B (zh) 用于处理请求消息的方法和装置
WO2020019520A1 (zh) 应用程序获取方法及装置
WO2012107255A1 (en) Detecting a trojan horse
US10243977B1 (en) Automatically detecting a malicious file using name mangling strings
WO2017084451A1 (zh) 识别恶意软件的方法和装置
CN112084497A (zh) 嵌入式Linux系统恶意程序检测方法及装置
CN109547426B (zh) 业务响应方法及服务器
CN108898014B (zh) 一种病毒查杀方法、服务器及电子设备
JP2017534097A (ja) 二次元コードの解析方法および装置、コンピュータ読み取り可能な記憶媒体、コンピュータプログラム製品および端末機器
CN109492399B (zh) 风险文件检测方法、装置及计算机设备
CN108470126B (zh) 数据处理方法、装置及存储介质
CN113158169A (zh) 一种基于Hadoop集群的验证方法、装置、存储介质及电子设备
CN109284590B (zh) 访问行为安全防护的方法、设备、存储介质及装置
CN112395603A (zh) 基于指令执行序列特征的漏洞攻击识别方法、装置及计算机设备
CN111131271A (zh) 安全防御方法、装置、电子设备及计算机可读存储介质
WO2022217953A1 (zh) 数据脱敏方法及设备
US11363020B2 (en) Method, device and storage medium for forwarding messages
US11436331B2 (en) Similarity hash for android executables
CN110222526B (zh) 安全防外发的方法及装置

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

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 11/05/2021)

122 Ep: pct application non-entry in european phase

Ref document number: 18928077

Country of ref document: EP

Kind code of ref document: A1