CN108133123B - 一种应用程序的识别方法及系统 - Google Patents

一种应用程序的识别方法及系统 Download PDF

Info

Publication number
CN108133123B
CN108133123B CN201711346875.7A CN201711346875A CN108133123B CN 108133123 B CN108133123 B CN 108133123B CN 201711346875 A CN201711346875 A CN 201711346875A CN 108133123 B CN108133123 B CN 108133123B
Authority
CN
China
Prior art keywords
application program
interface
information
application
preset
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.)
Active
Application number
CN201711346875.7A
Other languages
English (en)
Other versions
CN108133123A (zh
Inventor
龚蔚
欧少虎
刘金利
郑伟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Lianshang Network Technology Co Ltd
Original Assignee
Shanghai Lianshang Network Technology Co Ltd
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 Shanghai Lianshang Network Technology Co Ltd filed Critical Shanghai Lianshang Network Technology Co Ltd
Priority to CN201711346875.7A priority Critical patent/CN108133123B/zh
Publication of CN108133123A publication Critical patent/CN108133123A/zh
Application granted granted Critical
Publication of CN108133123B publication Critical patent/CN108133123B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • G06F21/121Restricting unauthorised execution of programs
    • G06F21/125Restricting unauthorised execution of programs by manipulating the program code, e.g. source code, compiled code, interpreted code, machine code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3089Monitoring arrangements determined by the means or processing involved in sensing the monitored data, e.g. interfaces, connectors, sensors, probes, agents
    • G06F11/3093Configuration details thereof, e.g. installation, enabling, spatial arrangement of the probes

Abstract

本申请公开了一种应用程序的识别方法及系统,所述方法包括:将所述应用程序包中的代码与预设的接口特征信息进行匹配;若匹配成功,则判定应用程序为目标应用程序;能够解决现有技术中因需要人工下载和分析,导致消耗大量的时间、效率低下的问题。

Description

一种应用程序的识别方法及系统
技术领域
本说明书涉及计算机技术领域,尤其涉及一种应用程序的识别方法及系统。
背景技术
随着手机终端的不断普及、网民规模高速增长以及移动互联的快速发展,各类手机应用如雨后春笋般出现,极大地满足了用户的多种需求。
但随着智能手机市场的进一步扩展,山寨应用程序也随之泛滥,使得手机的安全风险日益扩大。山寨应用程序可能会弹出广告、下载插件、安装APP,窃取用户隐私数据,如短信、通话记录等,甚至消耗资费,如订购一些消费服务、流量消耗等,对手机用户的信息安全带来了极大隐患。
目前对手机应用程序的识别方法主要是通过人工下载应用程序而后对下载的应用程序逐一进行识别,因而会消耗大量的时间、识别效率低下,而且无法大面积覆盖应用市场上的APP;此外,目前的识别方法也无法及时获取新上线的山寨产品。
发明内容
有鉴于此,本说明书实施例提供了一种应用程序的识别方法及系统,用于解决现有技术中因需要人工下载和人工识别,导致消耗大量的时间、识别效率低下的问题。
本说明书实施例采用下述技术方案:
本说明书实施例提供一种应用程序的识别方法,包括:
将应用程序包中的代码与预设的接口特征信息进行匹配;
若匹配成功,则判定应用程序为目标应用程序。
优选地,所述识别方法,还包括:
当应用程序包中的代码与预设的接口特征信息不匹配时,运行所述应用程序并模拟指定操作;
基于所述指定操作抓取接口调用信息;
将抓取到的接口调用信息与预设的接口特征信息进行匹配,若匹配成功,则判定所述应用程序为目标应用程序。
优选地,所述接口特征信息,包含:指定的域名信息或者指定的IP地址。
优选地,基于所述指定操作抓取接口调用信息,包括:通过调用hook系统关键函数监控指定操作并获取所述应用程序调用的接口信息。
优选地,运行所述应用程序并模拟指定操作,包括:在具有hook系统关键函数的终端上运行应用程序,并通过所述终端模拟指定的触发事件。
优选地,所述触发事件包括:点击或者滑动。
优选地,所述识别方法,还包括:根据预设的多个关键词匹配并下载应用程序包。
优选地,所述识别方法,还包括:监控接口调用信息,当接口调用信息包含预设的接口特征信息时抓取该接口调用信息,并基于该接口调用信息确定应用程序为目标应用程序。
优选地,监控接口调用信息,包括:监控预先设定的指定接口的接口调用信息,或者,监控应用程序中所有接口的接口调用信息直到出现预设的接口特征信息。
本说明书实施例还提供一种应用程序的识别系统,包括:
服务器,用于将应用程序包中的代码与预设的接口特征信息进行匹配;若匹配成功,则判定应用程序为目标应用程序。
优选地,所述识别系统,还包括:
第一终端,当所述应用程序包中的代码与预设的接口特征信息不匹配时,运行所述应用程序并模拟指定操作;
第二终端,基于应用程序的指定操作抓取接口调用信息,并发送抓取到的信息至服务器。
优选地,所述接口特征信息,包含:指定的域名信息或者指定的IP地址。
优选地,基于应用程序的指定操作抓取接口调用信息,包括:通过调用hook系统关键函数监控并获取所述应用程序调用的接口信息。
优选地,运行所述应用程序并模拟指定操作,包括:在具有hook系统关键函数的终端上运行应用程序,并通过所述终端模拟指定的触发事件。
优选地,所述触发事件包括:点击或者滑动。
优选地,所述识别系统,还包括:服务器根据预设的多个关键词匹配并下载应用程序包。
优选地,所述识别系统,还包括:服务器监控接口调用信息,当接口调用信息包含预设的接口特征信息时抓取该接口调用信息,并基于该接口调用信息确定应用程序为目标应用程序。
优选地,服务器监控接口调用信息,包括:监控预先设定的指定接口的接口调用信息,或者,监控应用程序中所有接口的接口调用信息直到出现预设的接口特征信息。
本说明书实施例采用的上述至少一个技术方案能够达到以下有益效果:首先对应用程序包进行静态分析,将所述应用程序包中的代码与预设的接口特征信息进行匹配;若匹配成功,则判定应用程序为目标应用程序;若匹配不成功,则可对应用程序包进行动态分析,运行应用程序并模拟指定操作,抓取接口调用信息;将抓取到的接口调用信息与预设的接口特征信息进行匹配,若匹配成功,则判定所述应用程序为目标应用程序;本申请能够实现对应用程序包的自动下载和识别,减少时间消耗,因而大大提高了对应用程序包的识别效率。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本说明书一实施例中应用程序识别方法的流程图;
图2为本说明书一实施例中应用程序识别系统的网络拓扑图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
以下结合附图,详细说明本说明书各实施例提供的技术方案。
本说明书一实施例提供了一种应用程序的识别方法,以解决现有技术因需要人工下载和识别,导致消耗大量的时间、效率低下的问题。
图1为本说明书实施例提供的一种应用程序的识别方法的流程图,该方法如下所示。包括:
步骤S101:将应用程序包中的代码与预设的接口特征信息进行匹配;
其中,所述接口特征信息,包含:指定的域名信息或者指定的IP地址。
例如:为了识别仿冒知名APP产品的山寨应用程序,山寨应用程序可能会盗用知名APP产品的数据接口。由此,可下载疑似山寨应用程序并对其进行自动分析。可在服务器中预先设置接口特征信息,而后通过服务器遍历疑似山寨应用程序的应用程序包中的代码,既是将疑似山寨应用程序包中代码与预设的接口特征信息进行匹配。
其中,所述接口特征信息为所述应用程序与服务器上的数据库之间进行交互的接口程序。所述接口特征信息为预设的包含该知名APP产品域名信息或者IP地址的接口程序。
步骤S102:若匹配成功,则判定应用程序为目标应用程序;
若疑似山寨应用程序包中代码与预设的接口特征信息相匹配,则确定疑似应用程序为山寨应用程序。
本说明书实施例中,首先通过步骤S101和S102对应用程序包进行静态分析。步骤S101和S102的执行主体可以为服务器。静态分析旨在应用程序包未运行的时候,通过代码自动化扫描的方式,扫描并识别出是否调用指定的接口,静态分析能够识别未加固、未加密的应用程序包。
步骤S103:当应用程序包中的代码与预设的接口特征信息不匹配时,运行所述应用程序并模拟指定操作;
例如:对于已加固、已加密的疑似山寨应用程序包,当其应用程序包中的代码与预设的接口特征信息不匹配时,则需继续执行步骤S103对其进行动态分析,运行疑似山寨应用程序并模拟指定操作。
具体地,运行所述应用程序并模拟指定操作,包括:在具有hook系统关键函数的终端上运行应用程序,并通过所述终端模拟指定的触发事件。
例如:在hook系统关键函数定制化ROM的移动终端上运行该疑似山寨应用程序包,并在该移动终端模拟指定的触发事件。如:模拟用户点击。
其中,所述触发事件包括:点击或者滑动。手机上架设的模拟器可设置为对手机上的应用程序进行点击或滑动等操作。
步骤S104:基于所述指定操作抓取接口调用信息;
具体地,基于所述指定操作抓取接口调用信息,包括:通过调用hook系统关键函数监控指定操作并获取所述应用程序调用的接口信息。PC端的抓包平台抓取调用接口的详细信息,并将抓取到的抓取接口调用信息存储到数据库。
步骤S105:将抓取到的接口调用信息与预设的接口特征信息进行匹配,若匹配成功,则判定所述应用程序为目标应用程序。
本说明书实施例中,若静态分析过程未发现应用程序包调用了指定的接口,则可以继续对应用程序包进行动态分析。如图2所示,进行动态分析时,通过adb工具将服务器上的应用程序包安装到手机,并在手机上架设模拟器、在PC端架设抓包平台抓取应用程序包的接口调用信息,从而可对加固、加密的应用程序包实现更细化、更精准分析。将应用程序包安装在hook系统关键函数定制化ROM的手机上,并通过模拟用户点击抓包识别出是否调用预设的接口。其中,手机和PC端运行在同一网段。
本说明书实施例中,所述应用程序的识别方法,还包括:根据预设的多个关键词匹配并下载应用程序包。应用程序包由服务器从应用市场服务器下载。
具体地,下载应用程序包,包括:分析应用市场的协议、根据分析结果下载应用程序包,并对下载的应用程序包进行解包。本说明书实施例中,可以对应用市场中的应用程序进行多关键词匹配,识别与所述应用程序包相关的应用程序产品;而后自动分析应用市场的协议,根据分析结果自动下载相关的应用程序包。
本说明书实施例中,所述应用程序的识别方法,还包括:监控接口调用信息,当接口调用信息包含预设的接口特征信息时抓取该接口调用信息,并基于该接口调用信息确定应用程序为目标应用程序。
具体地,监控接口调用信息,包括:监控预先设定的指定接口的接口调用信息,或者,监控应用程序中所有接口的接口调用信息直到出现预设的接口特征信息。
监控接口调用信息的方法至少包含以下两种模式:预先设定好要监控的指定接口的接口调用信息,当出现这个指定接口的接口特征信息时,即可确定该疑似山寨应用程序为山寨应用程序;或者,监控应用程序中所有接口的接口调用信息直到出现预设的接口特征信息,再确定该疑似山寨应用程序为山寨应用程序。
图2为本说明书实施例提供的一种应用程序识别系统的网络拓扑图,该系统如下所示,包括:
服务器,用于将应用程序包中的代码与预设的接口特征信息进行匹配;若匹配成功,则判定应用程序为目标应用程序。
本说明书实施例中,所述识别系统,还包括:
第一终端,当所述应用程序包中的代码与预设的接口特征信息不匹配时,运行所述应用程序并模拟指定操作;
第二终端,基于应用程序的指定操作抓取接口调用信息,并发送抓取到的信息至服务器。
其中,所述接口特征信息,包含:指定的域名信息或者指定的IP地址。
本说明书实施例中,所述第一终端可以为手机等移动终端;所述第二终端可以为PC端。
本说明书实施例中,基于应用程序的指定操作抓取接口调用信息,包括:通过调用hook系统关键函数监控并获取所述应用程序调用的接口信息。
本说明书实施例中,运行所述应用程序并模拟指定操作,包括:在具有hook系统关键函数的终端上运行应用程序,并通过所述终端模拟指定的触发事件。
本说明书实施例中,所述触发事件包括:点击或者滑动。
本说明书实施例中,所述识别系统,还包括:服务器根据预设的多个关键词匹配并下载应用程序包。
本说明书实施例中,所述识别系统,还包括:服务器监控接口调用信息,当接口调用信息包含预设的接口特征信息时抓取该接口调用信息,并基于该接口调用信息确定应用程序为目标应用程序。
本说明书实施例中,服务器监控接口调用信息,包括:监控预先设定的指定接口的接口调用信息,或者,监控应用程序中所有接口的接口调用信息直到出现预设的接口特征信息。
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device,PLD)(例如现场可编程门阵列(Field Programmable GateArray,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware DescriptionLanguage)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(RubyHardware Description Language)等,目前最普遍使用的是VHDL(Very-High-SpeedIntegrated Circuit Hardware Description Language)与Verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20以及Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (18)

1.一种应用程序的识别方法,其特征在于,包括:
将应用程序包中的代码与预设的接口特征信息进行匹配;
若匹配成功,则判定应用程序为目标应用程序;
其中,所述将应用程序包中的代码与预设的接口特征信息进行匹配,具体包括:
将疑似山寨应用程序包中代码与预设的接口特征信息进行匹配,以便对所述疑似山寨应用程序盗用知名APP产品的数据接口进行识别;所述接口特征信息为预设的包含知名APP产品域名信息或者IP地址的接口程序;
所述将疑似山寨应用程序包中代码与预设的接口特征信息进行匹配,具体为:
遍历疑似山寨应用程序的应用程序包中的代码;
所述若匹配成功,则判定应用程序为目标应用程序,具体包括:
若所述疑似山寨应用程序包中代码与预设的接口特征信息相匹配,则确定所述疑似山寨应用程序为山寨应用程序。
2.根据权利要求1所述的应用程序的识别方法,其特征在于,还包括:
当应用程序包中的代码与预设的接口特征信息不匹配时,运行所述应用程序并模拟指定操作;
基于所述指定操作抓取接口调用信息;
将抓取到的接口调用信息与预设的接口特征信息进行匹配,若匹配成功,则判定所述应用程序为目标应用程序。
3.根据权利要求1或2所述的应用程序的识别方法,其特征在于,所述接口特征信息,包含:指定的域名信息或者指定的IP地址。
4.根据权利要求2所述的应用程序的识别方法,其特征在于,基于所述指定操作抓取接口调用信息,包括:通过调用hook系统关键函数监控指定操作并获取所述应用程序调用的接口信息。
5.根据权利要求2所述的应用程序的识别方法,其特征在于,运行所述应用程序并模拟指定操作,包括:在具有hook系统关键函数的终端上运行应用程序,并通过所述终端模拟指定的触发事件。
6.根据权利要求5所述的应用程序的识别方法,其特征在于,所述触发事件包括:点击或者滑动。
7.根据权利要求1或2所述的应用程序的识别方法,其特征在于,还包括:根据预设的多个关键词匹配并下载应用程序包。
8.根据权利要求2所述的应用程序的识别方法,其特征在于,还包括:监控接口调用信息,当接口调用信息包含预设的接口特征信息时抓取该接口调用信息,并基于该接口调用信息确定应用程序为目标应用程序。
9.根据权利要求8所述的应用程序的识别方法,其特征在于,监控接口调用信息,包括:监控预先设定的指定接口的接口调用信息,或者,监控应用程序中所有接口的接口调用信息直到出现预设的接口特征信息。
10.一种应用程序的识别系统,包括:
服务器,用于将应用程序包中的代码与预设的接口特征信息进行匹配,以便对疑似山寨应用程序盗用知名APP产品的数据接口进行识别;若匹配成功,则判定应用程序为目标应用程序;
其中,所述将应用程序包中的代码与预设的接口特征信息进行匹配,具体包括:
将疑似山寨应用程序包中代码与预设的接口特征信息进行匹配;所述接口特征信息为预设的包含知名APP产品域名信息或者IP地址的接口程序;
所述将疑似山寨应用程序包中代码与预设的接口特征信息进行匹配,具体为:
遍历疑似山寨应用程序的应用程序包中的代码;
所述若匹配成功,则判定应用程序为目标应用程序,具体包括:
若所述疑似山寨应用程序包中代码与预设的接口特征信息相匹配,则确定所述疑似山寨应用程序为山寨应用程序。
11.根据权利要求10所述的应用程序的识别系统,其特征在于,还包括:
第一终端,当所述应用程序包中的代码与预设的接口特征信息不匹配时,运行所述应用程序并模拟指定操作;
第二终端,基于应用程序的指定操作抓取接口调用信息,并发送抓取到的信息至服务器。
12.根据权利要求10或11所述的应用程序的识别系统,其特征在于,所述接口特征信息,包含:指定的域名信息或者指定的IP地址。
13.根据权利要求11所述的应用程序的识别系统,其特征在于,基于应用程序的指定操作抓取接口调用信息,包括:通过调用hook系统关键函数监控并获取所述应用程序调用的接口信息。
14.根据权利要求11所述的应用程序的识别系统,其特征在于,运行所述应用程序并模拟指定操作,包括:在具有hook系统关键函数的终端上运行应用程序,并通过所述终端模拟指定的触发事件。
15.根据权利要求14所述的应用程序的识别系统,其特征在于,所述触发事件包括:点击或者滑动。
16.根据权利要求10或11所述的应用程序的识别系统,其特征在于,还包括:服务器根据预设的多个关键词匹配并下载应用程序包。
17.根据权利要求10或11所述的应用程序的识别系统,其特征在于,还包括:服务器监控接口调用信息,当接口调用信息包含预设的接口特征信息时抓取该接口调用信息,并基于该接口调用信息确定应用程序为目标应用程序。
18.根据权利要求10或11所述的应用程序的识别系统,其特征在于,服务器监控接口调用信息,包括:监控预先设定的指定接口的接口调用信息,或者,监控应用程序中所有接口的接口调用信息直到出现预设的接口特征信息。
CN201711346875.7A 2017-12-15 2017-12-15 一种应用程序的识别方法及系统 Active CN108133123B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711346875.7A CN108133123B (zh) 2017-12-15 2017-12-15 一种应用程序的识别方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711346875.7A CN108133123B (zh) 2017-12-15 2017-12-15 一种应用程序的识别方法及系统

Publications (2)

Publication Number Publication Date
CN108133123A CN108133123A (zh) 2018-06-08
CN108133123B true CN108133123B (zh) 2020-07-31

Family

ID=62390293

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711346875.7A Active CN108133123B (zh) 2017-12-15 2017-12-15 一种应用程序的识别方法及系统

Country Status (1)

Country Link
CN (1) CN108133123B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113434826A (zh) * 2021-07-23 2021-09-24 公安部第三研究所 一种仿冒移动应用的检测方法,系统及相关产品
CN114826615B (zh) * 2022-04-25 2023-08-08 浪潮卓数大数据产业发展有限公司 一种基于手机模拟器的移动端采集方法及系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104573534A (zh) * 2014-12-24 2015-04-29 北京奇虎科技有限公司 一种在移动设备中处理隐私数据的方法和装置
KR20150133038A (ko) * 2014-05-19 2015-11-27 숭실대학교산학협력단 불법 복제 애플리케이션 탐지 방법 및 장치
CN106502879A (zh) * 2015-09-07 2017-03-15 中国移动通信集团公司 一种实现应用程序安全性检测的方法及装置
CN106971106A (zh) * 2017-03-30 2017-07-21 维沃移动通信有限公司 一种识别非法应用程序的方法、移动终端及服务器
CN107222369A (zh) * 2017-07-07 2017-09-29 北京小米移动软件有限公司 应用程序的识别方法、装置、交换装置和存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150133038A (ko) * 2014-05-19 2015-11-27 숭실대학교산학협력단 불법 복제 애플리케이션 탐지 방법 및 장치
CN104573534A (zh) * 2014-12-24 2015-04-29 北京奇虎科技有限公司 一种在移动设备中处理隐私数据的方法和装置
CN106502879A (zh) * 2015-09-07 2017-03-15 中国移动通信集团公司 一种实现应用程序安全性检测的方法及装置
CN106971106A (zh) * 2017-03-30 2017-07-21 维沃移动通信有限公司 一种识别非法应用程序的方法、移动终端及服务器
CN107222369A (zh) * 2017-07-07 2017-09-29 北京小米移动软件有限公司 应用程序的识别方法、装置、交换装置和存储介质

Also Published As

Publication number Publication date
CN108133123A (zh) 2018-06-08

Similar Documents

Publication Publication Date Title
CN108133139B (zh) 一种基于多运行环境行为比对的安卓恶意应用检测系统
US10481964B2 (en) Monitoring activity of software development kits using stack trace analysis
US9183072B1 (en) Error troubleshooting using a correlated knowledge base
CN110007952B (zh) 数据处理方法、装置、设备和机器可读介质
US20150024720A1 (en) Remote Testing Through Third Party Devices
CN111638906B (zh) 一种软件开发工具包sdk接入方法、装置和系统
CN105302711B (zh) 一种应用修复方法、装置及终端
CN103118290A (zh) 程序安装适配性的检测方法、装置及系统
CN111104664B (zh) 一种电子设备的风险识别方法及服务器
US9921827B1 (en) Developing versions of applications based on application fingerprinting
CN108400902B (zh) 一种灰度测试的方法、装置及设备
CN110717536A (zh) 一种生成训练样本的方法及装置
CN105357204A (zh) 生成终端识别信息的方法及装置
CN108133123B (zh) 一种应用程序的识别方法及系统
CN109598526B (zh) 媒体贡献的分析方法及装置
CN113536174A (zh) 一种界面加载方法、装置及设备
CN110046100B (zh) 一种分组测试的方法、电子设备及介质
CN106331858A (zh) 程序安装适配性的检测方法、装置及系统
WO2019047677A1 (zh) 一种应用下载来源的监测方法及装置
CN108037914B (zh) 一种安卓原生系统结合js开发的方法及装置
CN111338655A (zh) 一种安装包分发方法和系统
CN111078435A (zh) 业务处理方法、装置及电子设备
US10242315B2 (en) Finite state machine forming
CN111221651B (zh) 负载均衡配置方法、装置、服务器及可读存储介质
AU2013206622B2 (en) Download management method and device based on Android browser

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