CN109543407B - 一种Activity劫持的拦截方法及装置 - Google Patents

一种Activity劫持的拦截方法及装置 Download PDF

Info

Publication number
CN109543407B
CN109543407B CN201811220092.9A CN201811220092A CN109543407B CN 109543407 B CN109543407 B CN 109543407B CN 201811220092 A CN201811220092 A CN 201811220092A CN 109543407 B CN109543407 B CN 109543407B
Authority
CN
China
Prior art keywords
activity
task
target
popup
application program
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
CN201811220092.9A
Other languages
English (en)
Other versions
CN109543407A (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.)
3600 Technology Group Co ltd
Original Assignee
3600 Technology Group 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 3600 Technology Group Co ltd filed Critical 3600 Technology Group Co ltd
Priority to CN201811220092.9A priority Critical patent/CN109543407B/zh
Publication of CN109543407A publication Critical patent/CN109543407A/zh
Application granted granted Critical
Publication of CN109543407B publication Critical patent/CN109543407B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • 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

Abstract

本发明提供了一种Activity劫持的拦截方法及装置。其中,所述方法包括:检测目标应用程序的目标Activity组件是否被其他Activity组件覆盖;若被覆盖,则启动弹框任务,所述弹框任务用于输出一弹窗,所述弹窗中包含用于提示用户所述目标Activity组件被劫持的提示信息。通过本发明的Activity劫持的拦截方法可拦截恶意程序对Activity的劫持,提高应用程序的安全性。

Description

一种Activity劫持的拦截方法及装置
技术领域
本发明涉及信息安全技术领域,具体而言,涉及一种Activity劫持的拦截方法及装置。
背景技术
Activity是Android系统的一种基本组件,负责系统与用户之间的交互操作。由于目前Android系统在市场上占有重要地位,使用量大,因此也催生了大量的恶意程序攻击Android应用来获取不法收益。
其中,手段之一就是Activity劫持,恶意程序通过创建Activity来实现以伪造页面替换真实页面。当用户进入账户密码等关键信息的输入界面的时候,恶意程序将会立即启动骗取用户在恶意程序伪造正在使用的应用程序的页面进行点击、输入,以此盗取用户私有信息,损害用户利益。
这种Activity劫持手段具有很强的隐蔽性,用户使用过程中难以察觉,不能及时对应处理。
发明内容
有鉴于此,本发明的目的在于提供一种Activity劫持的拦截方法及装置,所述方法能够在目标应用程序的目标Activity组件被劫持的时候及时提醒并拦截,提高了应用程序的安全性。
本发明的实施例是这样实现的:
第一方面,本申请通过本申请的一实施例提供如下技术方案:
一种Activity劫持的拦截方法,包括:
检测目标应用程序的目标Activity组件是否被其他Activity组件覆盖;
若被覆盖,则启动弹框任务,所述弹框任务用于输出一弹窗,所述弹窗中包含用于提示用户所述目标Activity组件被劫持的提示信息。
优选地,所述检测目标应用程序的目标Activity组件是否被其他Activity组件覆盖,包括:
判断所述目标Activity组件的onPause方法或onStop方法是否被调用;
当所述目标Activity组件的onPause方法或onStop方法被调用时,确定所述目标Activity组件被其他Activity组件覆盖。
优选地,所述启动弹框任务,包括:
启动延时弹窗任务,所述弹框任务用于延时一预设时间段后输出所述弹窗。
优选地,在所述检测目标应用程序的目标Activity组件是否被其他Activity组件覆盖之前,还包括:
在属于所述目标应用程序的每个Activity组件中添加预设功能代码,所述预设功能代码用于取消所述延时弹窗任务。
优选地,在所述启动弹框任务之后,还包括:
启动所述其他Activity组件,其中,若所述其他Activity组件属于所述目标应用程序,则所述其他Activity组件中携带有所述预设功能代码,所述延时弹窗任务将被所述预设功能代码取消;若所述其他Activity组件不属于所述目标应用程序,则所述延时弹窗任务在延时一预设时间段后输出所述弹窗。
第二方面,本申请通过本申请的一实施例提供如下技术方案:
一种Activity劫持的拦截装置,包括:
检测模块,用于检测目标应用程序的目标Activity组件是否被其他Activity组件覆盖;
弹框启动模块,用于若被覆盖,则启动弹框任务,所述弹框任务用于输出一弹窗,所述弹窗中包含用于提示用户所述目标Activity组件被劫持的提示信息。
优选地,所述检测模块,具体用于:
判断所述目标Activity组件的onPause方法或onStop方法是否被调用;
当所述目标Activity组件的onPause方法或onStop方法被调用时,确定所述目标Activity组件被其他Activity组件覆盖。
优选地,所述弹框启动模块,具体用于:
启动延时弹窗任务,所述弹框任务用于延时一预设时间段后输出所述弹窗。
优选地,还包括:任务构建模块,用于在所述检测目标应用程序的目标Activity组件是否被其他Activity组件覆盖之前,
在属于所述目标应用程序的每个Activity组件中添加预设功能代码,所述预设功能代码用于取消所述延时弹窗任务。
优选地,还包括:弹框控制模块,用于在所述启动弹框任务之后,
启动所述其他Activity组件,其中,若所述其他Activity组件属于所述目标应用程序,则所述其他Activity组件中携带有所述预设功能代码,所述延时弹窗任务将被所述预设功能代码取消;若所述其他Activity组件不属于所述目标应用程序,则所述延时弹窗任务在延时一预设时间段后输出所述弹窗。
第三方面,本申请通过本申请的一实施例提供如下技术方案:
一种电子设备,其特征在于,包括处理器和存储器,所述存储器耦接到所述处理器,所述存储器存储指令,当所述指令由所述处理器执行时使所述电子设备执行第一方面中任一项所述方法的步骤。
第四方面,本申请通过本申请的一实施例提供如下技术方案:
一种可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现第一方面中任一项所述方法的步骤。
本申请实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:
本发明实施例中提供的一种Activity劫持的拦截方法,该方法通过检测目标应用程序的目标Activity组件是否被其他Activity组件覆盖;若被其他Activity组件覆盖,那么目标Activity组件就存在被劫持的可能,此时可启动弹框任务,所述弹框任务用于输出一弹窗,所述弹窗中包含用于提示用户所述目标Activity组件被劫持的提示信息。以此可阻止用户或提醒用户当前操作的界面已经不是之前的目标Activity组件了,目标Activity组件已经被替换为其他Activity组件。通过本方法,可在目标应用程序的目标Activity组件被劫持的时候及时提醒用户并拦截,提高了应用程序的安全性。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本发明第一实施例提供的一种Activity劫持的拦截方法的流程图;
图2为本发明第一实施例提供的Activity组件覆盖检测方法的流程图;
图3为本发明第二实施例提供的一种Activity劫持的拦截装置的功能模块示意图;
图4为本发明第三实施例提供的电子设备的模块框图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
第一实施例
请参照图1,在本实施例中提供一种Activity劫持的拦截方法,可应用于目标应用程序中。其中,所述目标应用程序可安装的平台包括但不限于:手机的Android平台、平板电脑的Android平台以及其他任意电子设备的Android平台。图1示出了该方法的具体流程。该方法包括:
步骤S10:检测目标应用程序的目标Activity组件是否被其他Activity组件覆盖。
步骤S20:若被覆盖,则启动弹框任务,所述弹框任务用于输出一弹窗,所述弹窗中包含用于提示用户所述目标Activity组件被劫持的提示信息。
在步骤S10中,Activity类中定义了7个回调方法,覆盖了Activity生命周期的每一个环节,具体如下:
onCreate():该方法在每一个Activity类都会有,当我们新建一个Activity类时,一定会重写父类的onCreate方法,onCreate方法会在Activity第一次被创建时调用。我们应该在这个方法中完成Activity的初始化操作,比如说加载布局,初始化布局控件,绑定按钮事件等。
onStart():该方法在Activity由不可见变为可见时调用。
onResume():该方法在Activity准备好喝用户交互的时候调用。此时的Activity一定位于返回栈的栈顶,并且处于运行状态。
onPause():该方法在系统准备去启动或者恢复另一个Activity的时候调用。
onStop():该方法在Activity完全不可见的时候调用。它和onPause()方法的主要区别在于,如果启动的新Activity是一个对话框式的activity,那么,onPause()方法会得到执行,而onStop()方法并不会执行。
onDestory():该方法在Activity被销毁之前调用,之后Activity的状态将变为销毁状态。
onRestart():该方法在Activity由停止状态变为运行状态之前调用,也就是Activity被重新启动了。
请参阅图2,检测目标应用程序的目标Activity组件是否被其他Activity组件覆盖的方法具体可通过以下方式进行:
步骤S11:判断所述Activity组件的onPause方法或onStop方法是否被调用。
步骤S12:当所述目标Activity组件的onPause方法或onStop方法被调用时,确定所述目标Activity组件被其他Activity组件覆盖。
在步骤S12中,所述覆盖即指目标应用程序的目标Activity组件进入后台处于不可见状态。
若检测到目标Activity组件被覆盖之后,则可执行步骤S20,启动弹框任务。
在步骤S20中,该弹框任务可用于拦截将目标Activity组件覆盖的其他Activity组件,提醒用户目标Activity组件已经被劫持,阻止用户在其他Activity组件对应的页面上进行操作,避免信息泄漏。
为了进一步的提高拦截的准确性和有效性,避免对目标应用程序本身的Activity组件进行拦截。可将该弹框任务设置为一延时弹窗任务,所述弹框任务用于延时一预设时间段后输出所述弹窗。在预设时间段内对所述的其他Activity组件进行判定,判定所述的其他Activity组件是否为目标应用程序的Activity组件。预设时间可为自定义的任意时间,也可以是目标Activity组件的onPause方法或onStop方法被调用时至另一其他Activity组件的onCreate()方法、onStart()方法或onResume()方法被调用时的间隔时间。
例如,可在步骤S10之前在所述目标应用程序的每个Activity组件中均添加预设功能代码,所述预设功能代码用于取消所述延时弹窗任务。对于Android4.0及以上系统提供了接口类ActivityLifecycleCallbacks。实现该接口类,并通过Application类的registerActivityLifecycleCallbacks方法便可以实现对应用中所有Activity类的生命周期进行回调。对于Android4.0以下的系统,由于没有提供该方式,所以不能通过该方式实现,本方案通过反射调用android.app.ActivityThread类的currentActivityThread方法,获取当前的ActivityThread实例,然后通过替换获取ActivityThread实例中的mInstrumentation成员变量,从而实现对应用中Activity的生命周期回调的拦截。
进一步的,实现延时弹窗任务功能及添加预设功能代码以取消弹框任务的一种可选逻辑如下:
1、目标应用程序实现自己的Application类,并重写onCreate方法,在该onCreate方法中调用延时弹窗任务功能的初始化方法,比如public void init(Application app,HashSet activityList),初始化时传入Application实例和需要加入该延时弹窗任务功能的目标列表。该目标列表中包括目标Activity组件,此外也可包括其他指定应用程序的Activity组件。
2、在init方法中,对于Android4.0及其以上的系统版本,通过实现一个接口类ActivityLifecycleCallbacks,并重写该类的onActivityPaused方法,在该方法中加入延时弹窗任务的逻辑,重写onActivityResumed方法,在该方法中加入取消延时弹窗任务的提示的逻辑。
3、在init方法中,对于Android4.0以下的系统,通过反射获取到原有的currentActivityThread实现中的mInstrumentation成员,重新实现一个Instrumentation的子类,重写Instrumentation类的方法,并在callActivitonOnpause方法中加入延时弹窗任务的逻辑,在callActivityOnResume方法中加入取消延时弹窗任务的逻辑,将currentActivityThread实例中的mInstrumentation替换成上述实现的子类实例,达到拦截目标Activity组件的生命周期的目的。
在目标应用程序的目标Activity组件中添加了预设功能代码之后,当启动弹框任务之后,若启动所述其他Activity组件,则可分为两种实现情况:
1、当所述其他Activity组件属于所述目标应用程序时,则所述其他Activity组件中携带有所述预设功能代码,所述延时弹窗任务将被所述预设功能代码取消;即同一应用程序中的Activity组件之间的覆盖,不使所述延时弹窗任务输出弹窗,可防止错误拦截。
2、当所述其他Activity组件不属于所述目标应用程序时,则所述延时弹窗任务在延时一预设时间段后输出所述弹窗;即不同应用程序之间的Activity组件之间的覆盖,使所述延时弹窗任务输出弹窗,可对非目标应用程序的其他Activity组件进行拦截,提高安全性。
本发明实施例中提供的一种Activity劫持的拦截方法,在该方法中无需开发者重写目标应用程序中所有的Activity组件的onPause和onResume方法,使用简单方便、并且稳定性更高。
本发明实施例中提供的一种Activity劫持的拦截方法,该方法通过检测目标应用程序的目标Activity组件是否被其他Activity组件覆盖;若被其他Activity组件覆盖,那么目标Activity组件就存在被劫持的可能,此时可启动弹框任务,所述弹框任务用于输出一弹窗,所述弹窗中包含用于提示用户所述目标Activity组件被劫持的提示信息。以此可阻止用户或提醒用户当前操作的界面已经不是之前的目标Activity组件了,目标Activity组件已经被替换为其他Activity组件。通过本方法,可在目标应用程序的目标Activity组件被劫持的时候及时提醒用户并拦截,提高了应用程序的安全性。
第二实施例
基于同一发明构思,本实施例中还提供一种Activity劫持的拦截装置。请参阅图3示出了Activity劫持的拦截装置的功能模块图,该装置包括:检测模块601、弹框启动模块602和弹框控制模块603。
检测模块601,用于检测目标应用程序的目标Activity组件是否被其他Activity组件覆盖;
弹框启动模块602,用于若被覆盖,则启动弹框任务,所述弹框任务用于输出一弹窗,所述弹窗中包含用于提示用户所述目标Activity组件被劫持的提示信息。
优选地,所述检测模块601,具体用于:
判断所述目标Activity组件的onPause方法或onStop方法是否被调用。
当所述目标Activity组件的onPause方法或onStop方法被调用时,确定所述目标Activity组件被其他Activity组件覆盖。
优选地,所述弹框启动模块602,具体用于:
启动延时弹窗任务,所述弹框任务用于延时一预设时间段后输出所述弹窗。
优选地,还包括:任务构建模块,用于在所述检测目标应用程序的目标Activity组件是否被其他Activity组件覆盖之前,在属于所述目标应用程序的每个Activity组件中添加预设功能代码,所述预设功能代码用于取消所述延时弹窗任务。
优选地,还包括:弹框控制模块603,用于在所述启动弹框任务之后,启动所述其他Activity组件,其中,若所述其他Activity组件属于所述目标应用程序,则所述其他Activity组件中携带有所述预设功能代码,所述延时弹窗任务将被所述预设功能代码取消;若所述其他Activity组件不属于所述目标应用程序,则所述延时弹窗任务在延时一预设时间段后输出所述弹窗。
第三实施例
基于同一发明构思,本发明第三实施例还提供了一种电子设备,包括处理器和存储器,所述存储器耦接到所述处理器,所述存储器存储指令,当所述指令由所述处理器执行时使所述电子设备执行以下操作:
检测目标应用程序的目标Activity组件是否被其他Activity组件覆盖。
若被覆盖,则启动弹框任务,所述弹框任务用于输出一弹窗,所述弹窗中包含用于提示用户所述目标Activity组件被劫持的提示信息。
需要说明的是,本发明实施例所提供的电子设备中,上述每个步骤的具体实现及产生的技术效果和前述方法实施例相同,为简要描述,本实施例未提及之处(以及该电子设备可执行的其他操作)可参考前述方法实施例中相应内容。
于本发明实施例中,电子设备可以为平板电脑、手机、笔记本电脑、PC(PersonalComputer,个人计算机)等用户终端,或者,电子设备也可以是服务器。
图4示出了一种示例性电子设备500的模块框图。如图4所示,电子设备500包括存储器502、存储控制器504,一个或多个(图中仅示出一个)处理器506、外设接口508、网络模块510、输入输出模块512、显示模块514等。这些组件通过一条或多条通讯总线/信号线516相互通讯。
存储器502可用于存储软件程序以及模块,如本发明实施例中的Activity劫持的拦截方法以及装置对应的程序指令/模块,处理器506通过运行存储在存储器502内的软件程序以及模块,从而执行各种功能应用以及数据处理,如本发明实施例提供的Activity劫持的拦截方法。
存储器502可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。处理器506以及其他可能的组件对存储器502的访问可在存储控制器504的控制下进行。
外设接口508将各种输入/输出装置耦合至处理器506以及存储器502。在一些实施例中,外设接口508,处理器506以及存储控制器504可以在单个芯片中实现。在其他一些实例中,他们可以分别由独立的芯片实现。
网络模块510用于接收以及发送网络信号。上述网络信号可包括无线信号或者有线信号。
输入输出模块512用于提供给用户输入数据实现用户与电子设备的交互。所述输入输出模块512可以是,但不限于,鼠标、键盘和触控屏幕等。
显示模块514在电子设备500与用户之间提供一个交互界面(例如用户操作界面)或用于显示图像数据给用户参考。在本实施例中,所述显示模块514可以是液晶显示器或触控显示器。若为触控显示器,其可为支持单点和多点触控操作的电容式触控屏或电阻式触控屏等。支持单点和多点触控操作是指触控显示器能感应到来自该触控显示器上一个或多个位置处同时产生的触控操作,并将该感应到的触控操作交由处理器进行计算和处理。
可以理解,图4所示的结构仅为示意,电子设备500还可包括比图4中所示更多或者更少的组件,或者具有与图4所示不同的配置。图4中所示的各组件可以采用硬件、软件或其组合实现。
第四实施例
本发明第四实施例提供了一种可读存储介质,具体为一种计算机可读存储介质,本发明第二实施例中的Activity劫持的拦截装置集成的功能模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述第一实施例的应用Activity劫持的拦截方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random AccessMemory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的网关、代理服务器、系统中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
本发明公开了A1.一种Activity劫持的拦截方法,其特征在于,包括:
检测目标应用程序的目标Activity组件是否被其他Activity组件覆盖;
若被覆盖,则启动弹框任务,所述弹框任务用于输出一弹窗,所述弹窗中包含用于提示用户所述目标Activity组件被劫持的提示信息。
A2.如A1所述的方法,其特征在于,所述检测目标应用程序的目标Activity组件是否被其他Activity组件覆盖,包括:
判断所述目标Activity组件的onPause方法或onStop方法是否被调用;
当所述目标Activity组件的onPause方法或onStop方法被调用时,确定所述目标Activity组件被其他Activity组件覆盖。
A3.如A1所述的方法,其特征在于,所述启动弹框任务,包括:
启动延时弹窗任务,所述弹框任务用于延时一预设时间段后输出所述弹窗。
A4.如A3所述的方法,其特征在于,在所述检测目标应用程序的目标Activity组件是否被其他Activity组件覆盖之前,还包括:
在属于所述目标应用程序的每个Activity组件中添加预设功能代码,所述预设功能代码用于取消所述延时弹窗任务。
A5.如A4所述的方法,其特征在于,在所述启动弹框任务之后,还包括:
启动所述其他Activity组件,其中,若所述其他Activity组件属于所述目标应用程序,则所述其他Activity组件中携带有所述预设功能代码,所述延时弹窗任务将被所述预设功能代码取消;若所述其他Activity组件不属于所述目标应用程序,则所述延时弹窗任务在延时一预设时间段后输出所述弹窗。
本发明还公开了B6.一种Activity劫持的拦截装置,其特征在于,包括:
检测模块,用于检测目标应用程序的目标Activity组件是否被其他Activity组件覆盖;
弹框启动模块,用于若被覆盖,则启动弹框任务,所述弹框任务用于输出一弹窗,所述弹窗中包含用于提示用户所述目标Activity组件被劫持的提示信息。
B7.如B6所述的装置,其特征在于,所述检测模块,具体用于:
判断所述目标Activity组件的onPause方法或onStop方法是否被调用;
当所述目标Activity组件的onPause方法或onStop方法被调用时,确定所述目标Activity组件被其他Activity组件覆盖。
B8.如B6所述的装置,其特征在于,所述弹框启动模块,具体用于:
启动延时弹窗任务,所述弹框任务用于延时一预设时间段后输出所述弹窗。
B9.如B8所述的装置,其特征在于,还包括:任务构建模块,用于在所述检测目标应用程序的目标Activity组件是否被其他Activity组件覆盖之前,
在属于所述目标应用程序的每个Activity组件中添加预设功能代码,所述预设功能代码用于取消所述延时弹窗任务。
B10.如B9所述的装置,其特征在于,还包括:弹框控制模块,用于在所述启动弹框任务之后,
启动所述其他Activity组件,其中,若所述其他Activity组件属于所述目标应用程序,则所述其他Activity组件中携带有所述预设功能代码,所述延时弹窗任务将被所述预设功能代码取消;若所述其他Activity组件不属于所述目标应用程序,则所述延时弹窗任务在延时一预设时间段后输出所述弹窗。
本发明还公开了C11.一种电子设备,其特征在于,包括处理器和存储器,所述存储器耦接到所述处理器,所述存储器存储指令,当所述指令由所述处理器执行时使所述电子设备执行权利要求A1-A5中任一项所述方法的步骤。
本发明还公开了D12.一种可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求A1-A5中任一项所述方法的步骤。

Claims (8)

1.一种Activity劫持的拦截方法,其特征在于,包括:
检测目标应用程序的目标Activity组件是否被其他Activity组件覆盖;
若被覆盖,则启动弹框任务,所述弹框任务用于输出一弹窗,所述弹窗中包含用于提示用户所述目标Activity组件被劫持的提示信息;
所述启动弹框任务,包括:
启动延时弹窗任务,所述弹框任务用于延时一预设时间段后输出所述弹窗;
在所述检测目标应用程序的目标Activity组件是否被其他Activity组件覆盖之前,还包括:
在属于所述目标应用程序的每个Activity组件中添加预设功能代码,所述预设功能代码用于取消所述延时弹窗任务。
2.如权利要求1所述的方法,其特征在于,所述检测目标应用程序的目标Activity组件是否被其他Activity组件覆盖,包括:
判断所述目标Activity组件的onPause方法或onStop方法是否被调用;
当所述目标Activity组件的onPause方法或onStop方法被调用时,确定所述目标Activity组件被其他Activity组件覆盖。
3.如权利要求1所述的方法,其特征在于,在所述启动弹框任务之后,还包括:
启动所述其他Activity组件,其中,若所述其他Activity组件属于所述目标应用程序,则所述其他Activity组件中携带有所述预设功能代码,所述延时弹窗任务将被所述预设功能代码取消;若所述其他Activity组件不属于所述目标应用程序,则所述延时弹窗任务在延时一预设时间段后输出所述弹窗。
4.一种Activity劫持的拦截装置,其特征在于,包括:
检测模块,用于检测目标应用程序的目标Activity组件是否被其他Activity组件覆盖;
弹框启动模块,用于若被覆盖,则启动弹框任务,所述弹框任务用于输出一弹窗,所述弹窗中包含用于提示用户所述目标Activity组件被劫持的提示信息;
所述弹框启动模块,具体用于:启动延时弹窗任务,所述弹框任务用于延时一预设时间段后输出所述弹窗;
还包括:任务构建模块,用于在所述检测目标应用程序的目标Activity组件是否被其他Activity组件覆盖之前,
在属于所述目标应用程序的每个Activity组件中添加预设功能代码,所述预设功能代码用于取消所述延时弹窗任务。
5.如权利要求4所述的装置,其特征在于,所述检测模块,具体用于:
判断所述目标Activity组件的onPause方法或onStop方法是否被调用;
当所述目标Activity组件的onPause方法或onStop方法被调用时,确定所述目标Activity组件被其他Activity组件覆盖。
6.如权利要求4所述的装置,其特征在于,还包括:弹框控制模块,用于在所述启动弹框任务之后,
启动所述其他Activity组件,其中,若所述其他Activity组件属于所述目标应用程序,则所述其他Activity组件中携带有所述预设功能代码,所述延时弹窗任务将被所述预设功能代码取消;若所述其他Activity组件不属于所述目标应用程序,则所述延时弹窗任务在延时一预设时间段后输出所述弹窗。
7.一种电子设备,其特征在于,包括处理器和存储器,所述存储器耦接到所述处理器,所述存储器存储指令,当所述指令由所述处理器执行时使所述电子设备执行权利要求1-3中任一项所述方法的步骤。
8.一种可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1-3中任一项所述方法的步骤。
CN201811220092.9A 2018-10-19 2018-10-19 一种Activity劫持的拦截方法及装置 Active CN109543407B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811220092.9A CN109543407B (zh) 2018-10-19 2018-10-19 一种Activity劫持的拦截方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811220092.9A CN109543407B (zh) 2018-10-19 2018-10-19 一种Activity劫持的拦截方法及装置

Publications (2)

Publication Number Publication Date
CN109543407A CN109543407A (zh) 2019-03-29
CN109543407B true CN109543407B (zh) 2024-04-05

Family

ID=65844141

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811220092.9A Active CN109543407B (zh) 2018-10-19 2018-10-19 一种Activity劫持的拦截方法及装置

Country Status (1)

Country Link
CN (1) CN109543407B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111027053A (zh) * 2019-10-28 2020-04-17 深圳市跨越新科技有限公司 一种Android应用程序具有防Activity劫持的检测方法和系统
CN112230924A (zh) * 2020-11-09 2021-01-15 平安普惠企业管理有限公司 弹框提示方法、装置、计算机设备及存储介质

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104182686A (zh) * 2013-05-23 2014-12-03 阿里巴巴集团控股有限公司 一种Android系统Activity劫持风险检测方法及装置
CN104462980A (zh) * 2014-12-30 2015-03-25 北京奇虎科技有限公司 一种应用程序权限管理的方法、装置、系统及移动终端
CN105704149A (zh) * 2016-03-24 2016-06-22 国网江苏省电力公司电力科学研究院 一种电力移动应用安全防护方法
CN106126562A (zh) * 2016-06-15 2016-11-16 广东欧珀移动通信有限公司 一种弹窗拦截方法及终端
WO2017054716A1 (zh) * 2015-09-30 2017-04-06 北京奇虎科技有限公司 识别被劫持浏览器的方法及浏览器
CN106648779A (zh) * 2016-12-26 2017-05-10 竞技世界(北京)网络技术有限公司 一种智能终端悬浮窗权限设置方法
CN106713246A (zh) * 2015-11-17 2017-05-24 中国移动通信集团公司 一种应用程序页面劫持的检测方法、装置及移动终端
CN106951298A (zh) * 2017-04-25 2017-07-14 广州优视网络科技有限公司 一种提升应用启动速度的方法和装置
CN107203369A (zh) * 2016-03-16 2017-09-26 阿里巴巴集团控股有限公司 基于Android的弹框提示方法及装置

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104182686A (zh) * 2013-05-23 2014-12-03 阿里巴巴集团控股有限公司 一种Android系统Activity劫持风险检测方法及装置
CN104462980A (zh) * 2014-12-30 2015-03-25 北京奇虎科技有限公司 一种应用程序权限管理的方法、装置、系统及移动终端
WO2017054716A1 (zh) * 2015-09-30 2017-04-06 北京奇虎科技有限公司 识别被劫持浏览器的方法及浏览器
CN106713246A (zh) * 2015-11-17 2017-05-24 中国移动通信集团公司 一种应用程序页面劫持的检测方法、装置及移动终端
CN107203369A (zh) * 2016-03-16 2017-09-26 阿里巴巴集团控股有限公司 基于Android的弹框提示方法及装置
CN105704149A (zh) * 2016-03-24 2016-06-22 国网江苏省电力公司电力科学研究院 一种电力移动应用安全防护方法
CN106126562A (zh) * 2016-06-15 2016-11-16 广东欧珀移动通信有限公司 一种弹窗拦截方法及终端
CN106648779A (zh) * 2016-12-26 2017-05-10 竞技世界(北京)网络技术有限公司 一种智能终端悬浮窗权限设置方法
CN106951298A (zh) * 2017-04-25 2017-07-14 广州优视网络科技有限公司 一种提升应用启动速度的方法和装置

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
Daoyuan Wu 等.SCLib:A Practical and Lightweight Defense against Component Hijacking in Android Applications.CODASPY'18:Proceedings of the eighth ACM Conference on Data and Application Security and Privacy.2018,299-306. *
XACML的移动应用安全策略及测试方法;曹宛恬 等;计算机科学;第44卷(第11期);134-145 *
基于安全容器的Activity钓鱼劫持防御方案;陈璨璨 等;信息网络安全(第12期);61-66 *
基于测试例生成的Android应用数据竞争验证方法;佘艺 等;计算机科学;第44卷(第11期);27-32 *
电力系统移动应用安全测试技术研究;郭静 等;电力工程技术;第37卷(第04期);102-108 *

Also Published As

Publication number Publication date
CN109543407A (zh) 2019-03-29

Similar Documents

Publication Publication Date Title
US10397262B2 (en) Device, system, and method of detecting overlay malware
WO2019095563A1 (zh) 屏幕水印的显示方法、装置、计算机设备及存储介质
US9354951B2 (en) Method and device for browsing webpage
KR101038898B1 (ko) 악성 팝업 광고로부터의 사용자 보호
US10142290B1 (en) Host-based firewall for distributed computer systems
US20170289193A1 (en) Secure smart terminal and an information processing method
US10649877B2 (en) Macro-script execution control
JP2016534460A (ja) 動的アプリケーションセキュリティ検証
US11347893B2 (en) Methodology to prevent screen capture of sensitive data in mobile apps
US20170243182A1 (en) Method of Visiting Online Banking Website and Browser
US9178746B2 (en) Browser-based fetch of external libraries
US11165780B2 (en) Systems and methods to secure publicly-hosted cloud applications to run only within the context of a trusted client application
EP1512057A1 (en) Trusted user interface for a secure mobile wireless device
US11403394B2 (en) Preventing selective events of a computing environment
CN109543407B (zh) 一种Activity劫持的拦截方法及装置
CN111177727A (zh) 漏洞检测方法及装置
US9021596B2 (en) Correcting workflow security vulnerabilities via static analysis and virtual patching
WO2017147441A1 (en) Sub-execution environment controller
US10366213B2 (en) Protecting an application via an intra-application firewall
CN102446253B (zh) 一种网页木马检测方法及系统
JP2017142792A (ja) ファイル保護方法
CN111447178A (zh) 一种访问控制方法、系统及计算设备
US11314870B1 (en) Auto-containment of potentially vulnerable applications
CN112052454B (zh) 应用的病毒查杀方法、装置、设备及计算机存储介质
CN107316197B (zh) 一种支付保护方法、移动终端和计算机可读存储介质

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
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20240312

Address after: Room 03, 2nd Floor, Building A, No. 20 Haitai Avenue, Huayuan Industrial Zone (Huanwai), Binhai New Area, Tianjin, 300450

Applicant after: 3600 Technology Group Co.,Ltd.

Country or region after: Zhong Guo

Address before: 100088 room 112, block D, 28 new street, new street, Xicheng District, Beijing (Desheng Park)

Applicant before: BEIJING QIHOO TECHNOLOGY Co.,Ltd.

Country or region before: Zhong Guo

GR01 Patent grant
GR01 Patent grant