CN104462952A - 一种禁止应用自启动的方法及装置 - Google Patents

一种禁止应用自启动的方法及装置 Download PDF

Info

Publication number
CN104462952A
CN104462952A CN201410855681.XA CN201410855681A CN104462952A CN 104462952 A CN104462952 A CN 104462952A CN 201410855681 A CN201410855681 A CN 201410855681A CN 104462952 A CN104462952 A CN 104462952A
Authority
CN
China
Prior art keywords
application
starting
self
package name
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.)
Granted
Application number
CN201410855681.XA
Other languages
English (en)
Other versions
CN104462952B (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.)
Beijing Qihoo Technology Co Ltd
Original Assignee
Beijing Qihoo Technology Co Ltd
Qizhi Software Beijing 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 Beijing Qihoo Technology Co Ltd, Qizhi Software Beijing Co Ltd filed Critical Beijing Qihoo Technology Co Ltd
Priority to CN201410855681.XA priority Critical patent/CN104462952B/zh
Publication of CN104462952A publication Critical patent/CN104462952A/zh
Application granted granted Critical
Publication of CN104462952B publication Critical patent/CN104462952B/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/51Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本发明提供一种禁止应用自启动的方法,包括如下步骤:监控本机应用程序的启动行为;拦截活动管理服务进程中用于执行该应用程序启动的执行函数,获取该应用的包名;当该应用包名非预设数据记录中的允许项时,终止该应用程序的启动行为。相应的,本发明还提供一种禁止应用自启动的装置。本发明可以禁止应用的自启动行为以及顽固自启动行为,从而减少移动终端的耗电,同时提高运行速度。

Description

一种禁止应用自启动的方法及装置
技术领域
本发明涉及移动设备的应用自启动控制技术,具体而言,本发明涉及一种禁止应用自启动的方法及装置。
背景技术
应用自启动,是指Android***上应用在非用户主动运行的情况下自行启动的行为。现在很多厂商为谋取APP商业化让其APP时刻在它需要自启的时刻自启,以谋求自己的利益。
自启分为常规自启和顽固自启,当用户通过自启管理软件关闭顽固自启应用时,顽固自启应用会立刻想办法进行自我修复,虽然目前有许多自启管理的安全软件,但仅能禁止通过broadcast receiver方式自启动的应用,不能禁止service、provider的自启动以及顽固自启动的应用,而这些应用过多会造成用户的手机耗电快,卡顿,频繁弹窗广告等现象。本发明提供禁止自启的方案,不仅可以禁止通过broadcast receiver方式的自启动应用,还能够有效精确地禁止service、provider的自启动以及顽固自启动的应用。
发明内容
本发明的目的旨在解决应用自启动的问题,特别是解决应用的顽固自启动行为。
本发明提供一种禁止自启动的方法,包括以下步骤:
监控本机应用程序的启动行为;
拦截活动管理服务进程中用于执行该应用程序启动的执行函数,获取该应用的包名;
当该应用包名非预设数据记录中的允许项时,终止该应用程序的启动行为。
具体的,所述数据记录以数据库的形式予以表征,该数据库具有应用包名与是否允许该应用包名所对应的应用程序启动的状态项之间的映射关系。
较佳的,所述数据记录既包含允许自启动的应用的记录,又包含禁止自启动的应用的记录;
或者,仅仅包含禁止自启动的应用的记录。
进一步的,所述数据记录还包括用于记录反复自启动应用信息的顽固自启日志。
较佳的,所述方法还提供一个用户界面,用于显示顽固自启日志记录的信息。
进一步的,所述终止应用程序启动的方法还包括强制切断顽固自启动应用的被唤醒路径。
一种禁止应用自启动的装置,包括:
监控单元:用于监控机型应用程序的启动行为;
拦截单元:拦截活动管理服务进程中用于执行该应用程序启动的执行函数,获取该应用的包名;
禁止单元:当该应用包名非预设数据记录中的允许项时,终止该应用程序的启动行为。
具体的,所述数据记录以数据库的形式予以表征,该数据库具有应用包名与是否允许该应用包名所对应的应用程序启动的状态项之间的映射关系。
进一步的,所述装置还包括一个顽固自启日志生成单元,生成记录反复自启动应用信息的日志。
进一步的,所述装置还包括唤醒路径切断单元,用于切断顽固自启动应用的被唤醒路径。
相比现有技术,本发明提供的方案有以下优点:
1、本发明提供一种禁止应用自启动方法,通过拦截应用启动时的ActivityManagerService调用的成员函数startProcessLocked(),获取该应用的包名、pid、uid等信息,通过应用包名确定用户禁止自启动的应用,终止所述应用的进程,实现禁止自启动。
2、本发明对反复自启的应用记录一个顽固自启日志,通过切断所述顽固自启动应用被其友盟应用程序唤醒的路径,可以实现精确禁止被唤醒的应用自启动行为。
3、本发明提供一个数据记录,以数据库的形式予以表征,该数据库具有应用包名与是否允许该应用包名所对应的应用程序启动的状态项之间的映射关系,可以通过该映射关系确定被用户禁止的应用,与拦截到的应用包名对比,快速确定拦截到的应用是否为被禁止的应用。
4、本发明生成用于记录反复自启动的应用信息的顽固自启日志,并将该顽固自启日志以界面的形式呈现给用户,由用户参照列出的应用信息选择禁止的应用,展示给用户更加友好交互界面,实现最优化禁止自启动。
本发明附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为一种禁止应用自启动的方法流程图
图2为一种禁止应用自启动的装置原理框图
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
本技术领域技术人员可以理解,这里所使用的“终端”、“终端设备”既包括无线信号接收器的设备,其仅具备无发射能力的无线信号接收器的设备,又包括接收和发射硬件的设备,其具有能够在双向通信链路上,执行双向通信的接收和发射硬件的设备。这种设备可以包括:蜂窝或其他通信设备,其具有单线路显示器或多线路显示器或没有多线路显示器的蜂窝或其他通信设备;PCS(Personal Communications Service,个人通信***),其可以组合语音、数据处理、传真和/或数据通信能力;PDA(PersonalDigital Assistant,个人数字助理),其可以包括射频接收器、寻呼机、互联网/内联网访问、网络浏览器、记事本、日历和/或GPS(Global PositioningSystem,全球定位***)接收器;常规膝上型和/或掌上型计算机或其他设备,其具有和/或包括射频接收器的常规膝上型和/或掌上型计算机或其他设备。这里所使用的“终端”、“终端设备”可以是便携式、可运输、安装在交通工具(航空、海运和/或陆地)中的,或者适合于和/或配置为在本地运行,和/或以分布形式,运行在地球和/或空间的任何其他位置运行。这里所使用的“终端”、“终端设备”还可以是通信终端、上网终端、音乐/视频播放终端,例如可以是PDA、MID(Mobile Internet Device,移动互联网设备)和/或具有音乐/视频播放功能的移动电话,也可以是智能电视、机顶盒等设备。
本技术领域技术人员可以理解,这里所使用的远端网络设备,其包括但不限于计算机、网络主机、单个网络服务器、多个网络服务器集或多个服务器构成的云。在此,云由基于云计算(Cloud Computing)的大量计算机或网络服务器构成,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个超级虚拟计算机。本发明的实施例中,远端网络设备、终端设备与WNS服务器之间可通过任何通信方式实现通信,包括但不限于,基于3GPP、LTE、WIMAX的移动通信、基于TCP/IP、UDP协议的计算机网络通信以及基于蓝牙、红外传输标准的近距无线传输方式。
本发明的有关方法和装置,是基于Android操作***实现的。为了实现本发明所述方案的功能,需要获取Android操作***的Root权限。
Root是指Linux***中的Root账户,该账户可以操作***中的所有对象,类似于Windows***中的Administrator账户。获取Root权限可以进行诸如备份***、修改***的内部程序、获取文件目录、静默安装应用程序、卸载应用程序等操作。针对Android***的移动设备进行Root权限的获取,可以通过向移动设备植入SU和superuser.apk两个文件实现,SU文件放入手机的/system/bin目录下,superuser.apk文件放入/system/app目录下,两者运行时相互配合实现有效的Root权限管理。
上述获取Root权限的方法为本领域的公知技术,现实中移动终端可以通过多种方式实现Root,部分厂商也为用户开放了***Root权限或为获取Root权限提供了便利手段。因此,不应将Root权限的获取方式视为影响本发明实施的必要构件。
以Android***为应用平台,移动设备中的应用自启方式主要有以下三种方式:
1、通过broadcast receiver组件实现自启
broadcast receiver是Android***中接受并响应广播通知的一类组件,不包含任何用户界面,但可以启动一个activity或service响应它们收到的信息,或者用NotificationManager通知用户。注册广播接收者有两种方式:动态注册和静态注册。
通过广播实现自启是目前最普遍的也是使用最多的应用自启方式。当目标应用采用静态注册的方式通过对指定的广播在配置文件AndroidManifest.xml中注册广播组件,在配置文件中添加代码如下所示:
由此,配置文件中注册了名称为Broadcast Receiver的广播组件,当***启动时,会发送一条***广播给所有应用,该广播名称为android.intent.action.BOOT_COMPLETED,注册了systemReceiver组件的应用就会接收到这条广播,在移动设备开始时自动运行起来,实现自启动。
2、通过service组件实现自启
Service是Android***的服务组件,没有用户界面,是运行在后台的应用,无法与用户直接进行交互,必须由用户或其他程序显示启动,它的优先级较高,比处于前台的应用优先级低,但是比后台的其他应用优先级高,可以分为本地service和远程service。
本地service就是和当前应用在同一个进程中的service,彼此之间拥有共同的内存区域,可以方便和简单地共享某些数据;
远程service主要是不同进程之间的service访问,通过AIDL工具使不同进程之间可以使用一般方法共享数据。
应用通过服务service实现自启动的方式,需要先在配置文件AndroidManifest.xml中注册服务,否则***无法找到service。添加代码如下:
<!--注册服务>
<service android:name=”.MyService”>
然后启动该注册服务,启动服务的方式有两种:
一、通过startService()启动
应用程序通过startService()启动一个service时,这个service将处于启动状态,一旦启动,该service就可以在后台一直运行下去,即使启动它的应用程序已经退出。
二、通过bindService()启动
bindService是绑定service服务,执行service服务中的逻辑流程。客户端建立一个与service的连接,并使用此连接与service进行通话,通过Context.bindService()方法绑定服务,Context.unbindService()方法关闭服务。这种模式下的service开始于调用Context.StartService(),停止于Context.stopService()。不管调用多少次StartService(),只需调用一次stopService()就可以停止service。
应用程序可以启动service实现自启,也可以通过绑定service实现自启,由其他应用通过service唤醒。
3、通过content provider组件实现自启
content provider是Android***中的组件之一,是Android***提供的共享数据的机制,通过提供标准的数据访问接口,使得应用程序可以通过content provider访问其他应用程序的一些私有数据。共享的数据可以是存储在文件***中、SQLite数据库中或其他的一些媒体中。
应用程序创建自己的Content Provider,为其他应用程序提供信息共享服务。当其他应用需要调用该provider时,该应用程序就会被其他应用调起来,从而实现自启。具体步骤为:每个Content Provider在配置文件AndroidManifest.xml中注册自己,在配置文件中添加的代码如下所示:
<provider android:name=”.SomeProvider”
android:authorities=”com.your-company.SomeProvider”/>
由此,注册了由SomeProvider提供的Content Provider,并为其授权,授权的基础URI为”com.your-company.SomeProvider”,根据该授权信息***可以准确定位到具体的Content Provider,从而使访问者能够获取到指定的信息。将应用的启动事件作为授权的URI,当其他应用访问该URI时,所述应用就会自动被调起,实现自启动。
请参阅图1,本发明提供一种可以禁止以上所述三种方式的自启动应用的方法,具体实施方式如下所述:
S11、监控本机应用程序的启动行为
本发明采用公知技术Hook函数实现对应用的自启动行为的监控,首先获取移动设备的***root权限,向***注册一个通信服务进程,该服务进程通过Android***提供的Binder通信机制,与其监控的应用服务进程之间建立C/S架构的通信管道。
其中Hook技术,是一种用于改变API执行结果的技术,是Windows消息处理机制的一个平台,应用程序可以在这个平台上面设置自己的子进程,用于监视指定窗口的某种消息,所述监视窗口可以是其他进程创建的。当消息到达时,在目标窗口处理函数之前处理它。Hook,译为钩子,实际是一个处理消息的程序段,通过***调用挂入***,当特定的消息发出时,在没有到达目的窗口前,钩子函数就先捕获该消息,可以对该消息进行加工,也可以不作处理直接放行,还可以强制结束消息的传递。
API Hook包括两种方式,一种是基于PE文件的导入表,一种是修改前5个字节直接JMP的inline Hook。其中,第一种方式的原理是PE文件有个导入表,代表该模块调用了哪些外部API,模块被加载到内存后,PE加载器会修改该导入表,将地址改为外部API重新定位后的真实地址,直接将里面的地址改为新函数的地址,就可以完成对相应API的Hook;第二种方式的原理是解析函数开头的指令,并将该些指令复制到数组保存,替换所述指令,由新函数处理完毕再执行保存的原指令,调回取指令之后的地址执行。
具体而言,获取***的Root权限,向***服务进程注入监控模块,具体步骤为:
首先,暂停***服务进程;
然后,将修改后的***服务进程的库文件覆盖原库文件;其中,修改后的库文件中的函数包含监控模块的功能代码、jar包、.so文件等。从而将监控模块注入***的服务进程,监控***中其他应用的服务进程。
其次,当应用启动时调用ActivityManagerService,监控模块中的钩子函数监控目标进程的初始化函数,钩子函数监控到组件调用指令,是指监控到目标应用进程中该组件调用指令(函数)的入口点,这时组件调用指令虽有运行的特征,但未有执行该组件调用指令内部功能的事实发生。钩子函数在其入口点挂钩,对地址指针进行修改,使目标应用进程转入新的地址,执行钩子函数本身,钩子函数完成处理后再转向挂钩的入口点执行原来的指令,也可以不进行任何处理直接释放该进程,或者可以直接强制杀死该进程,从而实现对目标应用的监控与控制。
S12、拦截活动管理服务进程中用于执行该应用程序启动的执行函数,获取该应用的包名
在Android***中,ActivityManagerService负责管理应用程序的创建,运行在独立的进程SystemServer中,当***要在一个新的进程中启动一个Activity或Service时,为应用创建一个新的进程,ActivityManagerService调用成员函数startProcessLocked()为应用程序启动一个新的进程。成员函数startProcessLocked()定义在frameworks/base/services/java/com/android/server/am/ActivityManagerService.java文件中,该函数方法实现的部分代码如下所示:
拦截上述startProcessLocked()函数,获取自启动应用的包信息app.info,得到应用包名app.info.packagename、uid、pid等信息。
可以通过抓取日志信息获取应用进程的相关信息,具体实施方式可以为:自定义服务watchservice,在watchservice.onStart函数中建立新的logcat进程,重写onStart函数用于响应服务启动、创建动作,Hook***的日志信息。具体代码如下:
mLogcat=safeExec(“logcat-c”);
mLogcat=safeExec(“logcat–v raw ActivityManager:I*:S”);
然后对mLogcat进程输出信息进行监控,将其重定向,按行提取日志信息并对日志信息分析处理,具体为:
is=mLogcat.getInputStream();
isr=new InputStreamReader(is);
reader=new BufferedReader(isr,0x400);
提取流信息并进行解析,得到应用程序的包名、pid、uid、应用程序的启动方式,其中如果该应用由其他应用唤醒启动,则还包括执行调用的应用包名,以及两个应用之间的调用路径等信息。
S13、当该应用包名非预设数据记录中的允许项时,终止该应用程序的启动行为
将拦截获取的自启动应用包名分别与数据记录中的应用包名进行对比,判断所述被拦截的自启动应用包名是否为数据记录中被禁止的应用包名。具体过程为注入***中的服务进程对数据记录中的信息进行扫描,获取被设置为禁止状态的应用包名,将拦截到的应用包名分别与所述被设置为禁止状态的应用包名一一对比,如果拦截到的应用包名为数据记录中的被禁止项,则禁止该应用自启动,否则不禁止该应用自启动。
其中,所述数据记录以数据库的形式予以表征,具有应用包名与是否允许该应用包名所对应的应用程序启动的状态项之间的映射关系,既包含允许自启动的应用的记录,又包含禁止自启动的应用的记录,或者仅仅包含禁止自启动的应用的记录;包括应用包名、启动次数、状态项等信息。
对获取的禁止自启动应用包名进行禁止,具体实施方式为:当所述拦截获取的自启动应用包名存在于所述数据库中,且该应用自启动行为通过broadcast receiver方式实现,则执行Process.killProcess(pid)函数结束应用的进程,禁止该应用的自启动行为。
此外,本发明还记录一个顽固自启动日志,记录反复自启动的应用,不包括***的自启动应用。所述顽固自启日志记录反复自启动应用的应用包名、启动次数、禁止该应用自启动的用户统计比例、状态项等。其中,应用包名通过拦截应用启动时的活动管理服务ActivityManagerService进程中的执行函数startProcessLocked()获取。
反复自启动的应用启动方式一般为通过service或content provider启动,由于broadcast receiver是通过接收***发送的广播实现自启,不同于通过service或content provider而相互调用启动,自启动应用程序被调用它的应用程序反复唤醒调起,调用它的应用处于激活状态就会唤醒与它有调用关系的应用程序,实现被调用应用程序的自启动。通过broadcastreceiver自启动的应用进程可以一次被杀掉,一般不会出现反复自启动。而通过service或content provider方式自启动的应用可能是由友盟应用或者同系应用通过调用唤醒自启动,造成某些应用的顽固自启动,故而所述顽固自启动日志一般记录由上述启动方式引起的自启动应用信息。
启动次数可以通过监控应用调用的onResume和onPause方法的次数统计,调用一次onResume和onPause方法记录为一次应用启动,通过注入***的服务进程统计应用的自启动次数。
禁止该应用自启动的用户统计比例由云端服务器统计并推送给注入***中的后台服务进程,所述后台服务进程向远程服务器发送顽固自启的应用包名,由服务器与预先记录的应用被禁止的用户比例统计表一一匹配,将匹配得到的结果推送到所述后台服务进程,并记录到顽固自启日志中。
将顽固自启日志以界面的形式展示给用户,用户可以根据提示的应用启动信息选择要禁止的应用,如果该应用的状态项设为禁止状态,则注入的后台服务进程会根据所设应用的状态项禁止该应用的自启。例如友盟应用,即应用之间相互写入友盟SDK,通过互相调用实现自启动;以及通过service唤醒自启的同系应用,将应用进程启动的相关信息转发到注入***的service进程里,service进程判断启动的应用包名,被启动的应用包名,分析应用之间的唤醒路径;当用户将该应用的状态项设为禁止状态时,注入***的service进程会通过调用forcestopPackage()函数切断应用之间的相互启动路径,强制关闭被启动的应用进程。
需要注意,对于相互唤醒启动的应用只禁止通过service方式启动的应用,对于provider方式的应用不禁止,因为provider传递的是数据信息,如果禁止会影响正常数据的传输,故不禁止该种形式的自启动应用。此外,当一个应用在一个预设的时间阈值内多次重启,如1秒钟之内重启三次,则判断该应用为***应用,对***应用的自启动行为不禁止,否则容易引起耗电。
相应的,参见图2,本发明还提供一种禁止应用自启动的装置,包括监控单元11、拦截单元12、禁止单元13。此外,还包括顽固自启日志生成单元14和唤醒路径切断单元15。其中,
监控单元11用于监控移动终端应用的自启动行为,通过注入***一个服务进程,hook函数对应用启动时的执行函数挂钩,钩子函数在其入口点挂钩,对地址指针进行修改,使目标应用进程转入新的地址,执行钩子函数本身,钩子函数完成处理后再转向挂钩的入口点执行原来的指令,也可以不进行任何处理直接释放该进程,或者可以直接强制杀死该进程,从而实现对目标应用的监控。
拦截单元12用于拦截自启动应用的执行函数,获取其包名;当hook的应用进程启动时,对ActivityManagerService创建应用进程时执行的成员函数startProcessLocked()进行拦截,获取拦截应用的启动方式、应用包名等信息。
禁止单元13用于禁止用户选择禁止的应用自启动行为。将拦截到的应用包名与数据记录中的禁止应用包名一一对比,如果为数据记录中的禁止项则通过执行Process.killProcess(pid)函数结束应用的进程,禁止该应用自启动。同时由顽固日志生成单元14生成的顽固自启日志,用于记录反复自启动的应用。将顽固日志信息以界面的形式展示给用户,由用户选择禁止的顽固自启应用。对用户选择禁止的应用,由唤醒路径切断单元15将应用进程启动的相关信息转发到注入***的service进程里,service进程判断启动应用的应用包名,被启动应用的应用包名,分析应用之间的唤醒路径,通过调用forcestopPackage()函数切断相互启动的路径,强制关闭被启动应用的进程,禁止该应用的自启动行为。
以上所述仅是本发明的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (10)

1.一种禁止应用自启动的方法,其特征在于,包括以下步骤:
监控本机应用程序的启动行为;
拦截活动管理服务进程中用于执行该应用程序启动的执行函数,获取该应用的包名;
当该应用包名非预设数据记录中的允许项时,终止该应用程序的启动行为。
2.根据权利要求1所述的一种禁止应用自启动的方法,其特征在于,所述数据记录以数据库的形式予以表征,该数据库具有应用包名与是否允许该应用包名所对应的应用程序启动的状态项之间的映射关系。
3.根据权利要求2所述的一种禁止应用自启动的方法,其特征在于,所述数据记录既包含允许自启动的应用的记录,又包含禁止自启动的应用的记录;
或者,仅仅包含禁止自启动的应用的记录。
4.根据权利要求1至3任意一项所述的一种禁止应用自启动的方法,其特征在于,所述数据记录还包括用于记录反复自启动应用信息的顽固自启日志。
5.根据权利要求2所述的一种禁止应用自启动的方法,其特征在于,所述方法还提供一个用户界面,用于显示顽固自启日志记录的信息。
6.根据权利要求1所述的一种禁止应用自启动的方法,其特征在于,所述终止应用程序启动的方法还包括强制切断顽固自启动应用的被唤醒路径。
7.一种禁止应用自启动的装置,其特征在于,包括:
监控单元:用于监控机型应用程序的启动行为;
拦截单元:拦截活动管理服务进程中用于执行该应用程序启动的执行函数,获取该应用的包名;
禁止单元:当该应用包名非预设数据记录中的允许项时,终止该应用程序的启动行为。
8.根据权利要求7所述的一种禁止应用自启动的装置,其特征在于,所述数据记录以数据库的形式予以表征,该数据库具有应用包名与是否允许该应用包名所对应的应用程序启动的状态项之间的映射关系。
9.根据权利要求7所述的一种禁止应用自启动的装置,其特征在于,所述装置还包括一个顽固自启日志生成单元,生成记录反复自启动应用信息的日志。
10.根据权利要求7所述的一种禁止应用自启动的装置,其特征在于,所述装置还包括唤醒路径切断单元,用于切断顽固自启动应用的被唤醒路径。
CN201410855681.XA 2014-12-31 2014-12-31 一种禁止应用自启动的方法及装置 Active CN104462952B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410855681.XA CN104462952B (zh) 2014-12-31 2014-12-31 一种禁止应用自启动的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410855681.XA CN104462952B (zh) 2014-12-31 2014-12-31 一种禁止应用自启动的方法及装置

Publications (2)

Publication Number Publication Date
CN104462952A true CN104462952A (zh) 2015-03-25
CN104462952B CN104462952B (zh) 2017-11-10

Family

ID=52908977

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410855681.XA Active CN104462952B (zh) 2014-12-31 2014-12-31 一种禁止应用自启动的方法及装置

Country Status (1)

Country Link
CN (1) CN104462952B (zh)

Cited By (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104991803A (zh) * 2015-07-10 2015-10-21 上海斐讯数据通信技术有限公司 对android应用程序在特定条件下自启动的管控***及方法
CN104994481A (zh) * 2015-07-10 2015-10-21 上海斐讯数据通信技术有限公司 一种Android***中应用程序之间广播消息的收发方法及***
CN105159771A (zh) * 2015-09-21 2015-12-16 北京奇虎科技有限公司 处理应用间链式启动的方法及装置
CN105204908A (zh) * 2015-09-30 2015-12-30 北京金山安全软件有限公司 一种应用程序停包方法、装置及电子设备
CN105516487A (zh) * 2015-12-04 2016-04-20 上海斐讯数据通信技术有限公司 广播接收方法、***及设备
CN105607722A (zh) * 2015-12-18 2016-05-25 北京金山安全软件有限公司 一种省电方法、装置及电子设备
CN105653364A (zh) * 2015-12-30 2016-06-08 广东欧珀移动通信有限公司 应用进程管理方法及应用进程管理装置
CN105677533A (zh) * 2015-12-30 2016-06-15 广东欧珀移动通信有限公司 应用进程监控方法及应用进程监控装置
CN105700916A (zh) * 2015-12-30 2016-06-22 广东欧珀移动通信有限公司 应用进程启动方法及应用进程启动装置
CN105786570A (zh) * 2016-02-29 2016-07-20 周奇 程序开机自启动管理方法及装置
CN105808257A (zh) * 2016-03-08 2016-07-27 杭州朗和科技有限公司 一种应用弹窗识别方法和装置
CN106095478A (zh) * 2016-05-31 2016-11-09 刘华英 模式控制方法及***
CN106095517A (zh) * 2016-06-28 2016-11-09 宇龙计算机通信科技(深圳)有限公司 一种终端应用程序运行的方法及装置
CN106126562A (zh) * 2016-06-15 2016-11-16 广东欧珀移动通信有限公司 一种弹窗拦截方法及终端
CN106127030A (zh) * 2016-06-22 2016-11-16 广东欧珀移动通信有限公司 一种界面控制方法和装置
CN106155704A (zh) * 2016-08-05 2016-11-23 硕诺科技(深圳)有限公司 一种阻止应用程序相互唤醒的方法和***
CN106203075A (zh) * 2016-07-19 2016-12-07 北京珠穆朗玛移动通信有限公司 一种防止应用程序互唤醒的方法及装置
CN106203067A (zh) * 2016-06-22 2016-12-07 广东欧珀移动通信有限公司 一种应用程序的清理方法及装置
CN106203068A (zh) * 2016-06-22 2016-12-07 广东欧珀移动通信有限公司 一种终端应用的控制方法及装置
CN106372493A (zh) * 2016-08-30 2017-02-01 广州视源电子科技股份有限公司 解锁方法及装置
CN106598434A (zh) * 2016-12-19 2017-04-26 深圳天珑无线科技有限公司 一种启动器应用的处理方法和终端
CN106708697A (zh) * 2016-09-29 2017-05-24 腾讯科技(深圳)有限公司 检测用户使用应用程序的方法和装置
CN106817414A (zh) * 2017-01-12 2017-06-09 硕诺科技(深圳)有限公司 一种阻断安卓***中应用相互唤醒启动的方法
CN106844532A (zh) * 2016-12-29 2017-06-13 北京奇虎科技有限公司 一种应用程序获取方法和装置以及一种终端设备
CN106909413A (zh) * 2015-12-23 2017-06-30 北京奇虎科技有限公司 一种数据处理方法和装置
CN106909834A (zh) * 2015-12-23 2017-06-30 北京奇虎科技有限公司 一种数据处理方法和装置
CN107038358A (zh) * 2017-04-20 2017-08-11 北京奇虎科技有限公司 一种自启动处理方法和装置及移动终端
CN107247507A (zh) * 2017-04-26 2017-10-13 努比亚技术有限公司 防止应用自启动控制方法及终端、计算机可读存储介质
CN107343311A (zh) * 2017-06-19 2017-11-10 北京小米移动软件有限公司 推送控制方法及装置
CN107831886A (zh) * 2017-11-21 2018-03-23 广东欧珀移动通信有限公司 关联启动应用的管控方法、装置、存储介质及智能终端
CN107944258A (zh) * 2017-11-21 2018-04-20 广东欧珀移动通信有限公司 以服务方式启动应用的控制方法、装置、存储介质及终端
CN107944257A (zh) * 2017-11-21 2018-04-20 广东欧珀移动通信有限公司 以服务方式启动应用的控制方法、装置、存储介质及终端
CN108650702A (zh) * 2015-08-25 2018-10-12 广东欧珀移动通信有限公司 一种广播信息的处理方法及用户终端
CN108769106A (zh) * 2018-04-12 2018-11-06 网宿科技股份有限公司 应用包名的获取方法、数据包的传输方法及终端设备
CN109144676A (zh) * 2017-06-15 2019-01-04 阿里巴巴集团控股有限公司 一种应用程序的自启动检测方法、装置及服务器
CN110324715A (zh) * 2019-07-04 2019-10-11 深圳市康冠技术有限公司 应用管理方法、装置及计算机可读存储介质
CN110888683A (zh) * 2018-08-16 2020-03-17 腾讯科技(深圳)有限公司 操作***的性能优化方法、装置及可读介质
WO2020093284A1 (zh) * 2018-11-07 2020-05-14 深圳市欢太科技有限公司 应用信息处理方法、计算机可读存储介质和电子设备
WO2020103032A1 (zh) * 2018-11-21 2020-05-28 深圳市欢太科技有限公司 进程运行控制方法、装置、存储介质及电子设备
CN112738631A (zh) * 2020-12-24 2021-04-30 深圳创维-Rgb电子有限公司 基于智能电视的开机处理方法、装置、终端设备及介质
CN113158164A (zh) * 2021-05-20 2021-07-23 读书郎教育科技有限公司 一种Android学生平板管控应用的方法
CN113157377A (zh) * 2021-05-20 2021-07-23 读书郎教育科技有限公司 一种Android***实现对应用部分管控的方法及设备
EP3923135A1 (en) * 2020-06-12 2021-12-15 Beijing Xiaomi Mobile Software Co., Ltd. Method and device for processing information, and storage medium
CN116048325A (zh) * 2022-06-30 2023-05-02 荣耀终端有限公司 一种应用异常行为的处理方法、电子设备及存储介质
CN116048647A (zh) * 2022-07-15 2023-05-02 荣耀终端有限公司 一种控制后台应用自启动的方法及电子设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101620529A (zh) * 2008-07-03 2010-01-06 联想(北京)有限公司 拦截弹出窗口的方法和***
CN103279706A (zh) * 2013-06-07 2013-09-04 北京奇虎科技有限公司 拦截在移动终端中安装安卓应用程序的方法和装置
CN104077521A (zh) * 2013-03-25 2014-10-01 联想(北京)有限公司 信息处理方法和装置
CN104123162A (zh) * 2014-07-29 2014-10-29 北京奇虎科技有限公司 控制应用程序自启的方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101620529A (zh) * 2008-07-03 2010-01-06 联想(北京)有限公司 拦截弹出窗口的方法和***
CN104077521A (zh) * 2013-03-25 2014-10-01 联想(北京)有限公司 信息处理方法和装置
CN103279706A (zh) * 2013-06-07 2013-09-04 北京奇虎科技有限公司 拦截在移动终端中安装安卓应用程序的方法和装置
CN104123162A (zh) * 2014-07-29 2014-10-29 北京奇虎科技有限公司 控制应用程序自启的方法及装置

Cited By (64)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104994481A (zh) * 2015-07-10 2015-10-21 上海斐讯数据通信技术有限公司 一种Android***中应用程序之间广播消息的收发方法及***
CN104991803A (zh) * 2015-07-10 2015-10-21 上海斐讯数据通信技术有限公司 对android应用程序在特定条件下自启动的管控***及方法
CN104991803B (zh) * 2015-07-10 2018-04-06 上海斐讯数据通信技术有限公司 对android应用程序在特定条件下自启动的管控***及方法
CN104994481B (zh) * 2015-07-10 2018-09-28 上海斐讯数据通信技术有限公司 一种Android***中应用程序之间广播消息的收发方法及***
CN108650702A (zh) * 2015-08-25 2018-10-12 广东欧珀移动通信有限公司 一种广播信息的处理方法及用户终端
CN108650702B (zh) * 2015-08-25 2021-06-15 Oppo广东移动通信有限公司 一种广播信息的处理方法及用户终端
CN105159771A (zh) * 2015-09-21 2015-12-16 北京奇虎科技有限公司 处理应用间链式启动的方法及装置
CN105204908A (zh) * 2015-09-30 2015-12-30 北京金山安全软件有限公司 一种应用程序停包方法、装置及电子设备
CN105204908B (zh) * 2015-09-30 2019-06-14 北京金山安全软件有限公司 一种应用程序停包方法、装置及电子设备
CN105516487A (zh) * 2015-12-04 2016-04-20 上海斐讯数据通信技术有限公司 广播接收方法、***及设备
CN105516487B (zh) * 2015-12-04 2019-07-16 上海斐讯数据通信技术有限公司 广播接收方法、***及设备
CN105607722A (zh) * 2015-12-18 2016-05-25 北京金山安全软件有限公司 一种省电方法、装置及电子设备
CN106909413A (zh) * 2015-12-23 2017-06-30 北京奇虎科技有限公司 一种数据处理方法和装置
CN106909834A (zh) * 2015-12-23 2017-06-30 北京奇虎科技有限公司 一种数据处理方法和装置
CN105653364B (zh) * 2015-12-30 2019-04-16 Oppo广东移动通信有限公司 应用进程管理方法及应用进程管理装置
CN105700916B (zh) * 2015-12-30 2019-06-14 Oppo广东移动通信有限公司 应用进程启动方法及应用进程启动装置
CN105677533B (zh) * 2015-12-30 2018-12-11 广东欧珀移动通信有限公司 应用进程监控方法及应用进程监控装置
CN105700916A (zh) * 2015-12-30 2016-06-22 广东欧珀移动通信有限公司 应用进程启动方法及应用进程启动装置
CN105677533A (zh) * 2015-12-30 2016-06-15 广东欧珀移动通信有限公司 应用进程监控方法及应用进程监控装置
CN105653364A (zh) * 2015-12-30 2016-06-08 广东欧珀移动通信有限公司 应用进程管理方法及应用进程管理装置
CN105786570A (zh) * 2016-02-29 2016-07-20 周奇 程序开机自启动管理方法及装置
CN105808257A (zh) * 2016-03-08 2016-07-27 杭州朗和科技有限公司 一种应用弹窗识别方法和装置
CN106095478A (zh) * 2016-05-31 2016-11-09 刘华英 模式控制方法及***
CN106126562B (zh) * 2016-06-15 2018-09-04 广东欧珀移动通信有限公司 一种弹窗拦截方法及终端
CN106126562A (zh) * 2016-06-15 2016-11-16 广东欧珀移动通信有限公司 一种弹窗拦截方法及终端
CN106127030A (zh) * 2016-06-22 2016-11-16 广东欧珀移动通信有限公司 一种界面控制方法和装置
CN106203068A (zh) * 2016-06-22 2016-12-07 广东欧珀移动通信有限公司 一种终端应用的控制方法及装置
CN106203067A (zh) * 2016-06-22 2016-12-07 广东欧珀移动通信有限公司 一种应用程序的清理方法及装置
CN106095517A (zh) * 2016-06-28 2016-11-09 宇龙计算机通信科技(深圳)有限公司 一种终端应用程序运行的方法及装置
CN106203075A (zh) * 2016-07-19 2016-12-07 北京珠穆朗玛移动通信有限公司 一种防止应用程序互唤醒的方法及装置
CN106155704A (zh) * 2016-08-05 2016-11-23 硕诺科技(深圳)有限公司 一种阻止应用程序相互唤醒的方法和***
CN106372493A (zh) * 2016-08-30 2017-02-01 广州视源电子科技股份有限公司 解锁方法及装置
CN106708697A (zh) * 2016-09-29 2017-05-24 腾讯科技(深圳)有限公司 检测用户使用应用程序的方法和装置
CN106598434A (zh) * 2016-12-19 2017-04-26 深圳天珑无线科技有限公司 一种启动器应用的处理方法和终端
CN106844532B (zh) * 2016-12-29 2020-12-11 北京奇虎科技有限公司 一种应用程序获取方法和装置以及一种终端设备
WO2018121266A1 (zh) * 2016-12-29 2018-07-05 北京奇虎科技有限公司 一种应用程序获取方法和装置以及一种终端设备
CN106844532A (zh) * 2016-12-29 2017-06-13 北京奇虎科技有限公司 一种应用程序获取方法和装置以及一种终端设备
CN106817414A (zh) * 2017-01-12 2017-06-09 硕诺科技(深圳)有限公司 一种阻断安卓***中应用相互唤醒启动的方法
CN107038358B (zh) * 2017-04-20 2020-12-25 北京安云世纪科技有限公司 一种自启动处理方法和装置及移动终端
CN107038358A (zh) * 2017-04-20 2017-08-11 北京奇虎科技有限公司 一种自启动处理方法和装置及移动终端
CN107247507A (zh) * 2017-04-26 2017-10-13 努比亚技术有限公司 防止应用自启动控制方法及终端、计算机可读存储介质
CN109144676B (zh) * 2017-06-15 2022-05-17 阿里巴巴集团控股有限公司 一种应用程序的自启动检测方法、装置及服务器
CN109144676A (zh) * 2017-06-15 2019-01-04 阿里巴巴集团控股有限公司 一种应用程序的自启动检测方法、装置及服务器
CN107343311A (zh) * 2017-06-19 2017-11-10 北京小米移动软件有限公司 推送控制方法及装置
CN107944257A (zh) * 2017-11-21 2018-04-20 广东欧珀移动通信有限公司 以服务方式启动应用的控制方法、装置、存储介质及终端
CN107944258A (zh) * 2017-11-21 2018-04-20 广东欧珀移动通信有限公司 以服务方式启动应用的控制方法、装置、存储介质及终端
CN107831886A (zh) * 2017-11-21 2018-03-23 广东欧珀移动通信有限公司 关联启动应用的管控方法、装置、存储介质及智能终端
CN108769106A (zh) * 2018-04-12 2018-11-06 网宿科技股份有限公司 应用包名的获取方法、数据包的传输方法及终端设备
CN108769106B (zh) * 2018-04-12 2021-06-01 网宿科技股份有限公司 应用包名的获取方法、数据包的传输方法及终端设备
CN110888683B (zh) * 2018-08-16 2022-05-06 腾讯科技(深圳)有限公司 操作***的性能优化方法、装置及可读介质
CN110888683A (zh) * 2018-08-16 2020-03-17 腾讯科技(深圳)有限公司 操作***的性能优化方法、装置及可读介质
CN112771469A (zh) * 2018-11-07 2021-05-07 深圳市欢太科技有限公司 应用信息处理方法、计算机可读存储介质和电子设备
WO2020093284A1 (zh) * 2018-11-07 2020-05-14 深圳市欢太科技有限公司 应用信息处理方法、计算机可读存储介质和电子设备
CN112771469B (zh) * 2018-11-07 2023-12-05 深圳市欢太科技有限公司 应用信息处理方法、计算机可读存储介质和电子设备
WO2020103032A1 (zh) * 2018-11-21 2020-05-28 深圳市欢太科技有限公司 进程运行控制方法、装置、存储介质及电子设备
CN110324715A (zh) * 2019-07-04 2019-10-11 深圳市康冠技术有限公司 应用管理方法、装置及计算机可读存储介质
EP3923135A1 (en) * 2020-06-12 2021-12-15 Beijing Xiaomi Mobile Software Co., Ltd. Method and device for processing information, and storage medium
CN112738631A (zh) * 2020-12-24 2021-04-30 深圳创维-Rgb电子有限公司 基于智能电视的开机处理方法、装置、终端设备及介质
CN113157377A (zh) * 2021-05-20 2021-07-23 读书郎教育科技有限公司 一种Android***实现对应用部分管控的方法及设备
CN113157377B (zh) * 2021-05-20 2023-06-27 读书郎教育科技有限公司 一种Android***实现对应用部分管控的方法及设备
CN113158164A (zh) * 2021-05-20 2021-07-23 读书郎教育科技有限公司 一种Android学生平板管控应用的方法
CN116048325A (zh) * 2022-06-30 2023-05-02 荣耀终端有限公司 一种应用异常行为的处理方法、电子设备及存储介质
CN116048647A (zh) * 2022-07-15 2023-05-02 荣耀终端有限公司 一种控制后台应用自启动的方法及电子设备
CN116048647B (zh) * 2022-07-15 2023-10-20 荣耀终端有限公司 一种控制后台应用自启动的方法及电子设备

Also Published As

Publication number Publication date
CN104462952B (zh) 2017-11-10

Similar Documents

Publication Publication Date Title
CN104462952B (zh) 一种禁止应用自启动的方法及装置
US11720652B2 (en) Monitoring a computing device to automatically obtain data in response to detecting background activity
US11206451B2 (en) Information interception processing method, terminal, and computer storage medium
US9697353B2 (en) Method and device for intercepting call for service by application
US9953161B2 (en) Method, device and system for processing notification bar message
US8844036B2 (en) Method and system for application-based policy monitoring and enforcement on a mobile device
US10440111B2 (en) Application execution program, application execution method, and information processing terminal device that executes application
US10176327B2 (en) Method and device for preventing application in an operating system from being uninstalled
JP5690689B2 (ja) アプリケーション解析装置およびプログラム
US11245725B2 (en) Dynamically updating policy controls for mobile devices and applications
WO2015058574A1 (zh) 实现扩展应用程序的推送通知的方法及装置
CN104376268B (zh) 应用隐藏控制方法及装置
Egners et al. Messing with Android's permission model
CN105975320B (zh) 一种第三方应用禁止安装的方法、装置以及终端
JP5723760B2 (ja) アプリケーション解析装置、アプリケーション解析システム、およびプログラム
US20140378100A1 (en) Data calling method and device
US11531716B2 (en) Resource distribution based upon search signals
CN106293821B (zh) 获取及传输应用程序数据、运行应用程序的方法及装置
WO2017140154A1 (zh) 一种基于智能平台的安全信息管理方法及***
CN104573489A (zh) 禁止应用创建桌面图标的方法及装置
CN116010740A (zh) 浏览器的数据文件更新方法、装置、电子设备及存储介质
CN111722850A (zh) 多***间应用的处理方法、装置及***
CN111176959A (zh) 跨域的应用服务器的预警方法、***及存储介质
EP4191946B1 (en) Cloud environment security tool
US11176021B2 (en) Messaging systems with improved reliability

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20220725

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