CN104199934A - 针对应用程序的广告进行拦截的方法及装置 - Google Patents
针对应用程序的广告进行拦截的方法及装置 Download PDFInfo
- Publication number
- CN104199934A CN104199934A CN201410453765.0A CN201410453765A CN104199934A CN 104199934 A CN104199934 A CN 104199934A CN 201410453765 A CN201410453765 A CN 201410453765A CN 104199934 A CN104199934 A CN 104199934A
- Authority
- CN
- China
- Prior art keywords
- window
- plug
- application program
- malicious plugins
- pack arrangement
- 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
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/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/554—Detecting local intrusion or implementing counter-measures involving event detection and direct action
-
- 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/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/566—Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
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)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Virology (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种针对应用程序的广告进行拦截的方法及装置,其中,所述方法包括:通过应用程序的回调接口,动态监听所述应用程序的窗口布局变化;当监听到新增窗口时,通过反射机制获取该窗口所属的类信息以及包结构;根据所述窗口所属的类信息以及包结构判断所述窗口是否属于广告插件,若是,利用所述广告插件对应的特征数据对所述窗口进行定向拦截。本发明实施例基于实时监控和准确的特征拦截,可以精确的统计应用程序内广告被拦截的次数,并且可以提供粒度细化到指定广告插件的具体个数。
Description
技术领域
本发明涉及网络安全技术领域,具体涉及一种针对应用程序的广告进行拦截的方法及装置。
背景技术
应用程序内置广告是Android平台上一种广泛的盈利方式,常见的应用广告展现模式包括内嵌广告、通知栏广告以及插屏广告。目前应用开发者通常使用第三方广告商所专门提供的广告插件库来进行广告的动态展示,第三方广告商通过获取用户的多种隐私数据来进行定向的广告投放。随着日益增多的小广告商加入到安卓平台,应用广告从数量和展示形式上已经严重的影响了用户对手机的正常使用,同时在线广告的下载会占用手机的上网流量,频繁的展示也会明显提升手机的耗电量。
目前,大多数手机安全厂商都以拦截手机应用广告作为自身安全产品的一个重要功能点,但是主流的实现方式都存在明显的缺陷。以某互联网公司推出的手机管家和乐安全为例,这两款安全产品都是通过手机中控制域名解析的HOSTS文件来进行广告拦截,通过修改广告插件网络服务器的域名解析地址的方式让广告插件无法在线下载和接收广告推送,从而实现广告拦截的功能。但是该方法存在以下几个缺点:1)修改HOSTS文件需要重新挂载系统分区为可读写,这一操作本身就存在一定的风险,一旦重新挂载的操作中断了操作系统本身对系统分区的IO读写,手机会有很高的重启几率。即使手机没有重启,系统分区处于可写状态也会大大降低系统本身的安全性。2)域名级别的拦截会导致广告插件服务器所在的整个域名上的服务全部无法被访问,而很多大的广告插件商在同一个域名上会同时运行除了广告业务以外的其他业务,例如流量统计、用户体验计划、流媒体服务等等,如果应用本身的功能对这些服务存在依赖,则会导致应用程序自身运行异常。3)很多小的广告插件商在域名解析失败之后,会直接使用IP地址访问备用服务器以绕开整个DNS过程,这种情况下该拦截方式就会实效。4)大部分广告插件在在线抓取内容之后,会使用本地的缓存广告进行展示,或者直接展示全黑色的背景,两种方式都会极大的影响用户体验。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的针对应用程序的广告进行拦截的方法及装置。
依据本发明的一个方面,提供一种针对应用程序的广告进行拦截的方法,包括:通过应用程序的回调接口,动态监听所述应用程序的窗口布局变化;当监听到新增窗口时,通过反射机制获取该窗口所属的类信息以及包结构;根据所述窗口所属的类信息以及包结构判断所述窗口是否属于广告插件或恶意插件,若是,利用所述广告插件或恶意插件对应的特征数据对所述窗口进行定向拦截。
优选的,还包括:采用反射机制从已经实例化的内置插件对象中动态提取展示的数据源接口;通过所述数据源接口获取到窗口所属的类信息以及包结构;根据所述窗口所属的类信息以及包结构判断所述窗口是否属于网络视图形式的广告插件或恶意插件,若是,利用所述网络视图形式的广告插件或恶意插件所对应的特征数据对窗口进行定向拦截。
优选的,还包括:采用反射机制从已经实例化的内置插件对象中动态提取展示的点击事件处理接口;通过所述点击事件处理接口获取到窗口所属的类信息以及包结构;根据所述窗口所属的类信息以及包结构判断所述窗口是否属于图像视图形式的广告插件或恶意插件,若是,利用所述图像视图形式的广告插件或恶意插件所对应的特征数据对窗口进行定向拦截。
优选的,还包括:判断所述窗口所属的包结构与所述应用程序所使用的包结构是否完全分布在两个互相平行且完全不重叠的包结构内,如果是,则进一步精确确定所述窗口为广告插件或恶意插件。
优选的,所述根据所述窗口所属的类信息以及包结构判断所述窗口是否属于广告插件或恶意插件包括:根据所述窗口所属的类信息确定包名称,并根据所述窗口所属的包结构确定包路径;根据所述包路径中的多极目录中每一级目录的包名称是否包含预先搜集的广告厂商名称、插件产品名称来判定所述窗口是属于某个广告插件或恶意插件。
优选的,所述定向拦截是根据特征数据仅对广告插件或恶意插件对应的窗口进行拦截,而对应用程序的其它窗口不作拦截的处理。
优选的,所述利用所述广告插件或恶意插件对应的特征数据对所述窗口进行定向拦截包括:预先在云端先通过学习广告插件样本或恶意插件样本来提取到多款广告插件或恶意插件的通用特征数据;使用这些通用特征数据来对所述应用程序进行扫描,从而判断出所述应用程序里包含哪些已知的广告插件或恶意插件;对扫描确定的广告插件或恶意插件进行拦截。
优选的,所述扫描的方式为针对应用二进制文件中的固定代码和固定字符串进行比对。
优选的,所述窗口包括广告条和/或悬浮窗。
依据本发明的另一个方面,提供一种针对应用程序的广告进行拦截的装置,包括:监听单元,用于通过应用程序的回调接口,动态监听所述应用程序的窗口布局变化;获取单元,用于当监听到新增窗口时,通过反射机制获取该窗口所属的类信息以及包结构;控制单元,用于根据所述窗口所属的类信息以及包结构判断所述窗口是否属于广告插件或恶意插件,若是,利用所述广告插件或恶意插件对应的特征数据对所述窗口进行定向拦截。
优选的,还包括:数据源接口提取单元,用于采用反射机制从已经实例化的内置插件对象中动态提取展示的数据源接口;网络视图数据获取单元,用于通过所述数据源接口获取到窗口所属的类信息以及包结构;网络视图控制单元,用于根据所述窗口所属的类信息以及包结构判断所述窗口是否属于网络视图形式的广告插件或恶意插件,若是,利用所述网络视图形式的广告插件或恶意插件所对应的特征数据对窗口进行定向拦截。
优选的,还包括:点击事件处理接口提取单元,用于采用反射机制从已经实例化的内置插件对象中动态提取展示的点击事件处理接口;图像视图数据获取单元,用于通过所述点击事件处理接口获取到窗口所属的类信息以及包结构;图像视图控制单元,用于根据所述窗口所属的类信息以及包结构判断所述窗口是否属于图像视图形式的广告插件或恶意插件,若是,利用所述图像视图形式的广告插件或恶意插件所对应的特征数据对窗口进行定向拦截。
优选的,还包括:插件精确判定单元,用于判断所述窗口所属的包结构与所述应用程序所使用的包结构是否完全分布在两个互相平行且完全不重叠的包结构内,如果是,则进一步精确确定所述窗口为广告插件或恶意插件。
优选的,所述控制单元具体用于:根据所述窗口所属的类信息确定包名称,并根据所述窗口所属的包结构确定包路径;根据所述包路径中的多极目录中每一级目录的包名称是否包含预先搜集的广告厂商名称、插件产品名称来判定所述窗口是属于某个广告插件或恶意插件。
优选的,所述控制单元用于根据特征数据仅对广告插件或恶意插件对应的窗口进行拦截,而对应用程序的其它窗口不作拦截的处理。
优选的,所述控制单元具体用于:预先在云端先通过学习广告插件样本或恶意插件样本来提取到多款广告插件或恶意插件的通用特征数据;使用这些通用特征数据来对所述应用程序进行扫描,从而判断出所述应用程序里包含哪些已知的广告插件或恶意插件;对扫描确定的广告插件或恶意插件进行拦截。
优选的,所述扫描的方式为针对应用二进制文件中的固定代码和固定字符串进行比对。
优选的,所述窗口包括广告条和/或悬浮窗。
本发明实施例基于实时监控和准确的特征拦截,可以精确的统计应用程序内广告被拦截的次数,并且可以提供粒度细化到指定广告插件的具体个数。该数据可以提供给客户端用以展示实时的拦截效果,大幅提高广告拦截功能展示的强度以及用户的感知度。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了根据本发明一个实施例的针对应用程序的广告进行拦截的方法流程图;
图2示出了根据本发明另一个实施例的针对应用程序的广告进行拦截的方法流程图;以及
图3示出了根据本发明又一个实施例的针对应用程序的广告进行拦截的方法流程图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
为了更加有效和准确的拦截安卓系统的应用程序内的广告,本发明提出了一种基于广告代码特征的广告拦截方法。
参见图1,为本发明实施例提供的针对应用程序的广告进行拦截的方法流程图。
S101:通过应用程序的回调接口,动态监述应用程序的窗口布局变化;
S102:当监听到新增窗口时,通过反射机制获取该窗口所属的类信息以及包结构;
S103:根据窗口所属的类信息以及包结构判断窗口是否属于广告插件,若是,利用广告插件对应的特征数据对窗口进行定向拦截。
可见,本发明实施例基于实时监控和准确的特征拦截,可以精确的统计应用程序内广告被拦截的次数,并且可以提供粒度细化到指定广告插件的具体个数。该数据可以提供给客户端用以展示实时的拦截效果,大幅提高广告拦截功能展示的强度以及用户的感知度。本领域技术人员了解,绝大多数形式的View(视图)一般都是广告插件商编写的代码,类信息就已经包含足够的特征,因此通过上述实施例方式可以对绝大多数形式的广告插件进行识别和拦截。但是,WebView(网络视图)和ImageView(图像视图)是两种比较特殊的广告展现方式,这两种View是系统自带的,广告插件只需要向里面填内容,所以仅依赖View的类信息是无法判断是广告插件的(因为是系统自带类)。
针对WebView(网络视图)和ImageView(图像视图)这两种比较特殊的广告插件,本发明实施例进一步采用反射机制从已经实例化的内置插件对象中动态提取展示的数据源接口(WebViewClient)和点击事件处理接口(ClickerListener),从而实现这两类广告插件的识别和拦截。
因此,参见图2,在本发明另一个实施例中,包括以下步骤:
S201:采用反射机制从已经实例化的内置插件对象中动态提取展示的数据源接口;
S202:通过数据源接口获取到窗口所属的类信息以及包结构;
S203:根据窗口所属的类信息以及包结构判断窗口是否属于网络视图形式的广告插件,若是,利用网络视图形式的广告插件所对应的特征数据对窗口进行定向拦截。
同理,参见图3,在本发明又一个实施例中,包括以下步骤:
S302:采用反射机制从已经实例化的内置插件对象中动态提取展示的点击事件处理接口;
S302:通过点击事件处理接口获取到窗口所属的类信息以及包结构;
S302:根据窗口所属的类信息以及包结构判断窗口是否属于图像视图形式的广告插件,若是,利用图像视图形式的广告插件所对应的特征数据对窗口进行定向拦截。
可见,图1所对应的实施例是采用实时监控机制可针对绝大多数广告插件进行识别和拦截,图2和图3所对应的实施例是采用深层次的特征提取机制针对两类特殊形式的广告插件进行识别和拦截。这两者结合可保证拦截的广度,对目前所知所有类型的广告插件进行有效拦截。
下面对两类拦截方法分别予以详细说明。
(1)实时的监控机制
概括而言,通过在应用程序内的每个Activity(活动)组件中动态注册View树状结构的回调接口,动态监听应用程序内窗口布局的变动,对于任何一个新增展示的广告自窗口进行实时的监控。其中,Activity是安卓系统应用程序的一个核心组件类型,程序界面展示的实体;View树指的是每个应用程序自身的所有窗口View都是以树形结构存放的,是由当前界面的多个视图(控件对象)构成的一个关系树,在大多数操作系统的界面实现里都是采用树形的结构,这样比较容易建立起父子、兄弟的关系描述。动态注册回调接口需要找到整个View树的根节点,根节点有一个固定的结构变化监控器ViewTreeObserver,调用监控器的addOnGlobalLayoutListener可以注册回调以监听整个ViewTree的节点变化。
因此,可以做到一旦应用程序内出现新增的广告条和/或悬浮窗,都能通过反射机制获取该窗口所属的java类信息,同时根据该窗口所属的包结构来对该窗口是否为广告插件进行判定。其中,通过Java的GetClass反射接口可以获取一个View对象所属的类信息,关键的类信息包括类名、类加载器、包名称。反射(Reflection)机制是一种Java语言的特性,指可以用通用的调用接口获取到Java对象内部的成员和方法信息。Java包路径是一个类似多级文件夹的全路径,可以根据多级目录中每一级目录的名称是否包含一些可以收集到的广告厂商名称、插件产品名称来判定这个包路径是属于某个广告插件的。
优选地,还可充分利用广告插件SDK Jar包与应用程序本身所使用的包结构完全分布在两个互相平行且完全不重叠的包结构内这一特点,做到对广告插件的精确识别。其中,SDK是指广告插件开发厂商提供给开发者的一套便于集成的代码包,在Java开发平台上代码包大多以Jar包的形式包装
最后,结合云端在线查询广告包特征的机制,做到针对每一款不同的广告插件都可以使用对应的特征数据进行定向拦截。具体的,是在云端预先通过分析大量广告插件样本来提取到每一款广告插件的通用特征数据,然后使用这些特征数据来对本地的应用程序进行扫描,以判断出本地的应用程序里包含哪些已知的广告插件。扫描的具体方式为针对应用二进制文件中的固定代码和固定字符串进行比对。对于实时监控到的广告插件窗口,可以通过将窗口展示属性设置为gone来达到不影响应用程序原始布局的效果,可极大提升广告拦截的效果和用户体验。
(2)深层次的特征提取
利用反射机制,深层次判断WebView形式和ImageView形式的广告插件。
通过对广告插件的拦截数据分析发现,存在超过半数的广告插件开始采用使用安卓源生的内置控件来进行广告展示,由于源生控件所属的包结构为系统包,从而不能直接根据控件的包结构来直接进行拦截。如前已述的,WebView和ImageView是两种比较特殊的广告展现方式,这两种View是系统自带的,广告插件只需要向里面填内容,所以仅依赖View的类信息就无法判断是广告(因为是系统自带类)。其余的形式View一般都是广告插件自己写的,类信息就已经包含足够的特征,按照方式(1)就可以完成拦截。
针对WebView形式和ImageView形式的的广告插件,本方法采用反射从已经实例化的内置插件对象中动态提取展示的数据源接口WebViewClient和点击事件处理接口ClickerListener,从而跳转得到这两类形式插件的类信息和包结构。其中,内置插件对象是指这些WebView和ImageView已经被实例化后的Java对象。针对WebView对象,它有一个固定的成员类型为WebViewClient,针对ImageView有一个固定的内部成员ClickListener,这两个成员都有固定的Get接口可以获取。
由于广告插件商必须要实现插件点击后跳转到广告信息所对应的展示页,所以即使使用系统控件,也必须用插件包内的数据接口和事件处理接口来处理系统控件的内容展示以及点击事件处理。因此,利用这两者的代码特征,即可对此类广告插件进行准确的判定,然后进行拦截。具体在云端基于数据特征的扫描方式和拦截方法与前述方式(1)类似,此处不赘述。
需要说明的是,除了广告插件,本发明实施例还适用于对恶意插件进行定向拦截。其中,恶意插件是指在用户不知情或违背用户意愿情况下执行某个功能的插件。以上实施例虽然仅以广告插件进行说明,本领域技术人员可以理解,对于恶意插件的处理与其类似。
与上述方法相对应,本发明还提供一种针对应用程序的广告进行拦截的装置。该装置可以通过硬件、软件或软硬件结合方式实现。该装置可以是指终端内部的功能模块,也可以是指终端本身,只要终端包括实现该装置的功能即可。该装置包括:
监听单元,用于通过应用程序的回调接口,动态监听所述应用程序的窗口布局变化;
获取单元,用于当监听到新增窗口时,通过反射机制获取该窗口所属的类信息以及包结构;
控制单元,用于根据所述窗口所属的类信息以及包结构判断所述窗口是否属于广告插件,若是,利用所述广告插件对应的特征数据对所述窗口进行定向拦截。
优选的,该装置还包括:
数据源接口提取单元,用于采用反射机制从已经实例化的内置插件对象中动态提取展示的数据源接口;
网络视图数据获取单元,用于通过所述数据源接口获取到窗口所属的类信息以及包结构;
网络视图控制单元,用于根据所述窗口所属的类信息以及包结构判断所述窗口是否属于网络视图形式的广告插件,若是,利用所述网络视图形式的广告插件所对应的特征数据对窗口进行定向拦截。
优选的,该装置还包括:
点击事件处理接口提取单元,用于采用反射机制从已经实例化的内置插件对象中动态提取展示的点击事件处理接口;
图像视图数据获取单元,用于通过所述点击事件处理接口获取到窗口所属的类信息以及包结构;
图像视图控制单元,用于根据所述窗口所属的类信息以及包结构判断所述窗口是否属于图像视图形式的广告插件,若是,利用所述图像视图形式的广告插件所对应的特征数据对窗口进行定向拦截。
优选的,该装置还包括:
插件精确判定单元,用于判断所述窗口所属的包结构与所述应用程序所使用的包结构是否完全分布在两个互相平行且完全不重叠的包结构内,如果是,则进一步精确确定所述窗口为广告插件。
优选的,所述控制单元具体用于:根据所述窗口所属的类信息确定包名称,并根据所述窗口所属的包结构确定包路径;根据所述包路径中的多极目录中每一级目录的包名称是否包含预先搜集的广告厂商名称、插件产品名称来判定所述窗口是属于某个广告插件。
优选的,所述控制单元具体用于:预先在云端先通过学习广告插件样本来提取到多款广告插件的通用特征数据;使用这些通用特征数据来对所述应用程序进行扫描,从而判断出所述应用程序里包含哪些已知的广告插件;对扫描确定的广告插件进行拦截。
优选的,所述扫描的方式为针对应用二进制文件中的固定代码和固定字符串进行比对。
优选的,所述窗口包括广告条和/或悬浮窗。
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的针对应用程序的广告进行拦截的装置中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
本发明提供以下方案:
A1、一种针对应用程序的广告进行拦截的方法,包括:
通过应用程序的回调接口,动态监听所述应用程序的窗口布局变化;
当监听到新增窗口时,通过反射机制获取该窗口所属的类信息以及包结构;
根据所述窗口所属的类信息以及包结构判断所述窗口是否属于广告插件或恶意插件,若是,利用所述广告插件或恶意插件对应的特征数据对所述窗口进行定向拦截。
A2、如A1所述的方法,还包括:
采用反射机制从已经实例化的内置插件对象中动态提取展示的数据源接口;
通过所述数据源接口获取到窗口所属的类信息以及包结构;
根据所述窗口所属的类信息以及包结构判断所述窗口是否属于网络视图形式的广告插件或恶意插件,若是,利用所述网络视图形式的广告插件或恶意插件所对应的特征数据对窗口进行定向拦截。
A3、如A1所述的方法,还包括:
采用反射机制从已经实例化的内置插件对象中动态提取展示的点击事件处理接口;
通过所述点击事件处理接口获取到窗口所属的类信息以及包结构;
根据所述窗口所属的类信息以及包结构判断所述窗口是否属于图像视图形式的广告插件或恶意插件,若是,利用所述图像视图形式的广告插件或恶意插件所对应的特征数据对窗口进行定向拦截。
A4、如A1所述的方法,还包括:
判断所述窗口所属的包结构与所述应用程序所使用的包结构是否完全分布在两个互相平行且完全不重叠的包结构内,如果是,则进一步精确确定所述窗口为广告插件或恶意插件。
A5、如A1所述的方法,所述根据所述窗口所属的类信息以及包结构判断所述窗口是否属于广告插件或恶意插件包括:
根据所述窗口所属的类信息确定包名称,并根据所述窗口所属的包结构确定包路径;
根据所述包路径中的多极目录中每一级目录的包名称是否包含预先搜集的广告厂商名称、插件产品名称来判定所述窗口是属于某个广告插件或恶意插件。
A6、如A1所述的方法,所述定向拦截是根据特征数据仅对广告插件或恶意插件对应的窗口进行拦截,而对应用程序的其它窗口不作拦截的处理。
A7、如A1所述的方法,所述利用所述广告插件或恶意插件对应的特征数据对所述窗口进行定向拦截包括:
预先在云端先通过学习广告插件样本或恶意插件样本来提取到多款广告插件或恶意插件的通用特征数据;
使用这些通用特征数据来对所述应用程序进行扫描,从而判断出所述应用程序里包含哪些已知的广告插件或恶意插件;
对扫描确定的广告插件或恶意插件进行拦截。
A8、如A7所述的方法,所述扫描的方式为针对应用二进制文件中的固定代码和固定字符串进行比对。
A9、如A1所述的方法,所述窗口包括广告条和/或悬浮窗。
B10、一种针对应用程序的广告进行拦截的装置,包括:
监听单元,用于通过应用程序的回调接口,动态监听所述应用程序的窗口布局变化;
获取单元,用于当监听到新增窗口时,通过反射机制获取该窗口所属的类信息以及包结构;
控制单元,用于根据所述窗口所属的类信息以及包结构判断所述窗口是否属于广告插件或恶意插件,若是,利用所述广告插件或恶意插件对应的特征数据对所述窗口进行定向拦截。
B11、如B10所述的装置,还包括:
数据源接口提取单元,用于采用反射机制从已经实例化的内置插件对象中动态提取展示的数据源接口;
网络视图数据获取单元,用于通过所述数据源接口获取到窗口所属的类信息以及包结构;
网络视图控制单元,用于根据所述窗口所属的类信息以及包结构判断所述窗口是否属于网络视图形式的广告插件或恶意插件,若是,利用所述网络视图形式的广告插件或恶意插件所对应的特征数据对窗口进行定向拦截。
B12、如B10所述的装置,还包括:
点击事件处理接口提取单元,用于采用反射机制从已经实例化的内置插件对象中动态提取展示的点击事件处理接口;
图像视图数据获取单元,用于通过所述点击事件处理接口获取到窗口所属的类信息以及包结构;
图像视图控制单元,用于根据所述窗口所属的类信息以及包结构判断所述窗口是否属于图像视图形式的广告插件或恶意插件,若是,利用所述图像视图形式的广告插件或恶意插件所对应的特征数据对窗口进行定向拦截。
B13、如B10所述的装置,还包括:
插件精确判定单元,用于判断所述窗口所属的包结构与所述应用程序所使用的包结构是否完全分布在两个互相平行且完全不重叠的包结构内,如果是,则进一步精确确定所述窗口为广告插件或恶意插件。
B14、如B10所述的装置,所述控制单元具体用于:根据所述窗口所属的类信息确定包名称,并根据所述窗口所属的包结构确定包路径;根据所述包路径中的多极目录中每一级目录的包名称是否包含预先搜集的广告厂商名称、插件产品名称来判定所述窗口是属于某个广告插件或恶意插件。
B15、如B10所述的装置,所述控制单元用于根据特征数据仅对广告插件或恶意插件对应的窗口进行拦截,而对应用程序的其它窗口不作拦截的处理。
B16、如B10所述的装置,所述控制单元具体用于:预先在云端先通过学习广告插件样本或恶意插件样本来提取到多款广告插件或恶意插件的通用特征数据;使用这些通用特征数据来对所述应用程序进行扫描,从而判断出所述应用程序里包含哪些已知的广告插件或恶意插件;对扫描确定的广告插件或恶意插件进行拦截。
B17、如B16所述的装置,所述扫描的方式为针对应用二进制文件中的固定代码和固定字符串进行比对。
B18、如B10所述的装置,所述窗口包括广告条和/或悬浮窗。
Claims (10)
1.一种针对应用程序的广告进行拦截的方法,其特征在于,包括:
通过应用程序的回调接口,动态监听所述应用程序的窗口布局变化;
当监听到新增窗口时,通过反射机制获取该窗口所属的类信息以及包结构;
根据所述窗口所属的类信息以及包结构判断所述窗口是否属于广告插件或恶意插件,若是,利用所述广告插件或恶意插件对应的特征数据对所述窗口进行定向拦截。
2.如权利要求1所述的方法,其特征在于,还包括:
采用反射机制从已经实例化的内置插件对象中动态提取展示的数据源接口;
通过所述数据源接口获取到窗口所属的类信息以及包结构;
根据所述窗口所属的类信息以及包结构判断所述窗口是否属于网络视图形式的广告插件或恶意插件,若是,利用所述网络视图形式的广告插件或恶意插件所对应的特征数据对窗口进行定向拦截。
3.如权利要求1所述的方法,其特征在于,还包括:
采用反射机制从已经实例化的内置插件对象中动态提取展示的点击事件处理接口;
通过所述点击事件处理接口获取到窗口所属的类信息以及包结构;
根据所述窗口所属的类信息以及包结构判断所述窗口是否属于图像视图形式的广告插件或恶意插件,若是,利用所述图像视图形式的广告插件或恶意插件所对应的特征数据对窗口进行定向拦截。
4.如权利要求1所述的方法,其特征在于,还包括:
判断所述窗口所属的包结构与所述应用程序所使用的包结构是否完全分布在两个互相平行且完全不重叠的包结构内,如果是,则进一步精确确定所述窗口为广告插件或恶意插件。
5.如权利要求1所述的方法,其特征在于,所述根据所述窗口所属的类信息以及包结构判断所述窗口是否属于广告插件或恶意插件包括:
根据所述窗口所属的类信息确定包名称,并根据所述窗口所属的包结构确定包路径;
根据所述包路径中的多极目录中每一级目录的包名称是否包含预先搜集的广告厂商名称、插件产品名称来判定所述窗口是属于某个广告插件或恶意插件。
6.如权利要求1所述的方法,其特征在于,所述定向拦截是根据特征数据仅对广告插件或恶意插件对应的窗口进行拦截,而对应用程序的其它窗口不作拦截的处理。
7.如权利要求1所述的方法,其特征在于,所述利用所述广告插件或恶意插件对应的特征数据对所述窗口进行定向拦截包括:
预先在云端先通过学习广告插件样本或恶意插件样本来提取到多款广告插件或恶意插件的通用特征数据;
使用这些通用特征数据来对所述应用程序进行扫描,从而判断出所述应用程序里包含哪些已知的广告插件或恶意插件;
对扫描确定的广告插件或恶意插件进行拦截。
8.如权利要求7所述的方法,其特征在于,所述扫描的方式为针对应用二进制文件中的固定代码和固定字符串进行比对。
9.如权利要求1所述的方法,其特征在于,所述窗口包括广告条和/或悬浮窗。
10.一种针对应用程序的广告进行拦截的装置,其特征在于,包括:
监听单元,用于通过应用程序的回调接口,动态监听所述应用程序的窗口布局变化;
获取单元,用于当监听到新增窗口时,通过反射机制获取该窗口所属的类信息以及包结构;
控制单元,用于根据所述窗口所属的类信息以及包结构判断所述窗口是否属于广告插件或恶意插件,若是,利用所述广告插件或恶意插件对应的特征数据对所述窗口进行定向拦截。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410453765.0A CN104199934B (zh) | 2014-09-05 | 2014-09-05 | 针对应用程序的广告进行拦截的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410453765.0A CN104199934B (zh) | 2014-09-05 | 2014-09-05 | 针对应用程序的广告进行拦截的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104199934A true CN104199934A (zh) | 2014-12-10 |
CN104199934B CN104199934B (zh) | 2017-07-04 |
Family
ID=52085227
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410453765.0A Active CN104199934B (zh) | 2014-09-05 | 2014-09-05 | 针对应用程序的广告进行拦截的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104199934B (zh) |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104463642A (zh) * | 2014-12-29 | 2015-03-25 | 北京奇虎科技有限公司 | 一种进行广告过滤处理的方法、装置和浏览器客户端 |
CN104881601A (zh) * | 2015-06-17 | 2015-09-02 | 北京奇虎科技有限公司 | 悬浮窗显示设置、控制方法和装置 |
CN105512558A (zh) * | 2016-01-07 | 2016-04-20 | 北京邮电大学 | 一种基于反编译模块特征的android广告插件检测方法 |
CN105550007A (zh) * | 2016-02-01 | 2016-05-04 | 广东欧珀移动通信有限公司 | 用于移动终端的控制方法、装置和移动终端 |
CN106528148A (zh) * | 2016-11-04 | 2017-03-22 | 广东欧珀移动通信有限公司 | 界面跳转方法、界面跳转系统、及终端设备 |
CN106529326A (zh) * | 2016-09-30 | 2017-03-22 | 华勤通讯技术有限公司 | 未知信息的处理方法及处理模块 |
CN106850813A (zh) * | 2017-02-14 | 2017-06-13 | 合网络技术(北京)有限公司 | 网络服务地址切换方法及装置 |
CN106909546A (zh) * | 2015-12-22 | 2017-06-30 | 北京奇虎科技有限公司 | 一种数据处理方法和装置 |
CN106909262A (zh) * | 2015-12-22 | 2017-06-30 | 北京奇虎科技有限公司 | 一种数据处理方法和装置 |
CN106909544A (zh) * | 2015-12-22 | 2017-06-30 | 北京奇虎科技有限公司 | 一种数据处理方法和装置 |
CN109725799A (zh) * | 2017-10-30 | 2019-05-07 | Tcl集团股份有限公司 | 一种广告显示的控制方法、装置及智能终端 |
US10467408B1 (en) | 2019-03-19 | 2019-11-05 | Five Media Marketing Limited | Automatic security scanning of advertisements during runtime of software applications |
CN110875876A (zh) * | 2018-09-04 | 2020-03-10 | Oppo广东移动通信有限公司 | 电子红包识别方法、电子红包识别装置及移动终端 |
CN110880999A (zh) * | 2018-09-05 | 2020-03-13 | Oppo广东移动通信有限公司 | 一种电子红包识别方法、装置及终端设备 |
CN110881001A (zh) * | 2018-09-06 | 2020-03-13 | Oppo广东移动通信有限公司 | 一种电子红包检测方法、系统及终端设备 |
US10678923B1 (en) | 2019-07-10 | 2020-06-09 | Five Media Marketing Limited | Security management of advertisements at online advertising networks and online advertising exchanges |
US11025669B2 (en) | 2018-08-17 | 2021-06-01 | Five Media Marketing Limited | Detection and prevention of automatic redirects of main HTML document from within nested sub-document |
US11128644B2 (en) | 2019-03-19 | 2021-09-21 | Five Media Marketing Limited | Automatic security scanning of advertisements during runtime of software applications |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103019719A (zh) * | 2012-12-14 | 2013-04-03 | 北京奇虎科技有限公司 | 一种弹窗拦截装置和方法 |
CN103093148A (zh) * | 2012-12-28 | 2013-05-08 | 广东欧珀移动通信有限公司 | 一种恶意广告的检测方法、系统及设备 |
CN103150513A (zh) * | 2013-03-20 | 2013-06-12 | 北京奇虎科技有限公司 | 拦截应用程序中的植入信息的方法及装置 |
CN103595547A (zh) * | 2013-11-15 | 2014-02-19 | 北京奇虎科技有限公司 | 智能设备的广播拦截方法和装置 |
CN103685136A (zh) * | 2012-08-30 | 2014-03-26 | 腾讯科技(深圳)有限公司 | 一种弹出窗口的拦截方法和装置 |
CN103886088A (zh) * | 2014-03-28 | 2014-06-25 | 北京金山网络科技有限公司 | 一种拦截网页中的广告的方法及装置 |
US20140237109A1 (en) * | 2013-02-17 | 2014-08-21 | Onavo Mobile Ltd. | Techniques for determining a mobile application download attribution |
CN104007964A (zh) * | 2014-05-06 | 2014-08-27 | 珠海市君天电子科技有限公司 | 应用程序中广告管理的方法和装置 |
-
2014
- 2014-09-05 CN CN201410453765.0A patent/CN104199934B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103685136A (zh) * | 2012-08-30 | 2014-03-26 | 腾讯科技(深圳)有限公司 | 一种弹出窗口的拦截方法和装置 |
CN103019719A (zh) * | 2012-12-14 | 2013-04-03 | 北京奇虎科技有限公司 | 一种弹窗拦截装置和方法 |
CN103093148A (zh) * | 2012-12-28 | 2013-05-08 | 广东欧珀移动通信有限公司 | 一种恶意广告的检测方法、系统及设备 |
US20140237109A1 (en) * | 2013-02-17 | 2014-08-21 | Onavo Mobile Ltd. | Techniques for determining a mobile application download attribution |
CN103150513A (zh) * | 2013-03-20 | 2013-06-12 | 北京奇虎科技有限公司 | 拦截应用程序中的植入信息的方法及装置 |
CN103595547A (zh) * | 2013-11-15 | 2014-02-19 | 北京奇虎科技有限公司 | 智能设备的广播拦截方法和装置 |
CN103886088A (zh) * | 2014-03-28 | 2014-06-25 | 北京金山网络科技有限公司 | 一种拦截网页中的广告的方法及装置 |
CN104007964A (zh) * | 2014-05-06 | 2014-08-27 | 珠海市君天电子科技有限公司 | 应用程序中广告管理的方法和装置 |
Non-Patent Citations (1)
Title |
---|
杨鹏: ""基于Android的移动Widget研究与实现"", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104463642A (zh) * | 2014-12-29 | 2015-03-25 | 北京奇虎科技有限公司 | 一种进行广告过滤处理的方法、装置和浏览器客户端 |
CN104881601A (zh) * | 2015-06-17 | 2015-09-02 | 北京奇虎科技有限公司 | 悬浮窗显示设置、控制方法和装置 |
CN106909262A (zh) * | 2015-12-22 | 2017-06-30 | 北京奇虎科技有限公司 | 一种数据处理方法和装置 |
CN106909544A (zh) * | 2015-12-22 | 2017-06-30 | 北京奇虎科技有限公司 | 一种数据处理方法和装置 |
CN106909546A (zh) * | 2015-12-22 | 2017-06-30 | 北京奇虎科技有限公司 | 一种数据处理方法和装置 |
CN105512558A (zh) * | 2016-01-07 | 2016-04-20 | 北京邮电大学 | 一种基于反编译模块特征的android广告插件检测方法 |
CN105550007A (zh) * | 2016-02-01 | 2016-05-04 | 广东欧珀移动通信有限公司 | 用于移动终端的控制方法、装置和移动终端 |
CN105550007B (zh) * | 2016-02-01 | 2019-02-05 | Oppo广东移动通信有限公司 | 用于移动终端的控制方法、装置和移动终端 |
CN106529326A (zh) * | 2016-09-30 | 2017-03-22 | 华勤通讯技术有限公司 | 未知信息的处理方法及处理模块 |
CN106528148A (zh) * | 2016-11-04 | 2017-03-22 | 广东欧珀移动通信有限公司 | 界面跳转方法、界面跳转系统、及终端设备 |
CN106850813A (zh) * | 2017-02-14 | 2017-06-13 | 合网络技术(北京)有限公司 | 网络服务地址切换方法及装置 |
CN109725799A (zh) * | 2017-10-30 | 2019-05-07 | Tcl集团股份有限公司 | 一种广告显示的控制方法、装置及智能终端 |
US11025669B2 (en) | 2018-08-17 | 2021-06-01 | Five Media Marketing Limited | Detection and prevention of automatic redirects of main HTML document from within nested sub-document |
CN110875876A (zh) * | 2018-09-04 | 2020-03-10 | Oppo广东移动通信有限公司 | 电子红包识别方法、电子红包识别装置及移动终端 |
CN110880999A (zh) * | 2018-09-05 | 2020-03-13 | Oppo广东移动通信有限公司 | 一种电子红包识别方法、装置及终端设备 |
CN110881001A (zh) * | 2018-09-06 | 2020-03-13 | Oppo广东移动通信有限公司 | 一种电子红包检测方法、系统及终端设备 |
CN110881001B (zh) * | 2018-09-06 | 2022-06-03 | Oppo广东移动通信有限公司 | 一种电子红包检测方法、系统及终端设备 |
US10467408B1 (en) | 2019-03-19 | 2019-11-05 | Five Media Marketing Limited | Automatic security scanning of advertisements during runtime of software applications |
US11128644B2 (en) | 2019-03-19 | 2021-09-21 | Five Media Marketing Limited | Automatic security scanning of advertisements during runtime of software applications |
US10678923B1 (en) | 2019-07-10 | 2020-06-09 | Five Media Marketing Limited | Security management of advertisements at online advertising networks and online advertising exchanges |
US11762997B2 (en) | 2019-07-10 | 2023-09-19 | Five Media Marketing Limited | Security management of advertisements at online advertising networks and online advertising exchanges |
Also Published As
Publication number | Publication date |
---|---|
CN104199934B (zh) | 2017-07-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104199934A (zh) | 针对应用程序的广告进行拦截的方法及装置 | |
US10701030B2 (en) | Real-time monitoring of web page code | |
Papadogiannakis et al. | User tracking in the post-cookie era: How websites bypass gdpr consent to track users | |
US20190295127A1 (en) | Real-time monitoring of ads inserted in real-time into a web page | |
Miramirkhani et al. | Dial one for scam: A large-scale analysis of technical support scams | |
US9374386B2 (en) | Application malware filtering for advertising networks | |
US10834102B2 (en) | Client-side attack detection in web applications | |
US20180211047A1 (en) | Automated intelligence graph construction and countermeasure deployment | |
US9503502B1 (en) | Feedback mechanisms providing contextual information | |
US11232479B2 (en) | Methods and systems to evaluate and determine degree of pretense in online advertisement | |
CN105262760A (zh) | 一种防止恶意访问登录/注册接口的行为的方法和装置 | |
US11948169B1 (en) | Methods and systems for detecting fraudulent advertisements in pay-per-call advertising | |
CN103150513A (zh) | 拦截应用程序中的植入信息的方法及装置 | |
CN103491543A (zh) | 通过无线终端检测恶意网址的方法、无线终端 | |
CN108134812B (zh) | 数据处理方法和装置 | |
US20170345015A1 (en) | Service request management in cloud computing systems | |
US20190377572A1 (en) | Monitoring of Media Displayed by Third-Party Components | |
US10291492B2 (en) | Systems and methods for discovering sources of online content | |
CN110704097A (zh) | 一种数据收集方法、装置及电子设备和存储介质 | |
CN103617390A (zh) | 一种恶意网页判断方法、装置和系统 | |
US20170345052A1 (en) | Method and system for identifying anomalous content requests | |
Wilson et al. | A heuristic indication and warning staging model for detection and assessment of biological events | |
Bahl et al. | Vulnerability disclosure and cybersecurity awareness campaigns on twitter during COVID‐19 | |
CN104572914A (zh) | 双核浏览器中进行广告拦截的方法和装置 | |
US11487877B2 (en) | Identifying malicious creatives to supply side platforms (SSP) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20220706 Address after: Room 801, 8th floor, No. 104, floors 1-19, building 2, yard 6, Jiuxianqiao Road, Chaoyang District, Beijing 100015 Patentee after: BEIJING QIHOO TECHNOLOGY Co.,Ltd. Address before: 100088 room 112, block D, 28 new street, new street, Xicheng District, Beijing (Desheng Park) Patentee before: BEIJING QIHOO TECHNOLOGY Co.,Ltd. Patentee before: Qizhi software (Beijing) Co.,Ltd. |
|
TR01 | Transfer of patent right |