CN102693394B - 一种用于拦截应用程序对服务的调用的方法和装置 - Google Patents

一种用于拦截应用程序对服务的调用的方法和装置 Download PDF

Info

Publication number
CN102693394B
CN102693394B CN201210186961.7A CN201210186961A CN102693394B CN 102693394 B CN102693394 B CN 102693394B CN 201210186961 A CN201210186961 A CN 201210186961A CN 102693394 B CN102693394 B CN 102693394B
Authority
CN
China
Prior art keywords
service
application program
address
called
information
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
CN201210186961.7A
Other languages
English (en)
Other versions
CN102693394A (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 Hongxiang Technical Service 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 CN201210186961.7A priority Critical patent/CN102693394B/zh
Publication of CN102693394A publication Critical patent/CN102693394A/zh
Priority to PCT/CN2013/076450 priority patent/WO2013182005A1/zh
Application granted granted Critical
Publication of CN102693394B publication Critical patent/CN102693394B/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/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
    • G06F21/54Monitoring 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 by adding security routines or objects to programs

Abstract

本发明提供了一种用于拦截电子设备的操作系统中应用程序对服务的调用的方法和装置。所述方法包括:将拦截动态库加载到服务所在的进程;将所述进程中的输入输出控制函数的地址替换为所述拦截动态库的第一地址;在应用程序对所述服务进行调用时,基于所述第一地址执行所述拦截动态库,以获得所述应用程序的信息和所述调用的信息,并且将所述调用的信息中包括的要被调用的服务的地址替换为所述拦截动态库的第二地址;以及基于所述第二地址,显示所述应用程序的信息和所述调用的信息,并且根据在电子设备上通过操作系统对于所述调用的选择来执行处理。本发明提高了电子设备操作系统的安全性。

Description

一种用于拦截应用程序对服务的调用的方法和装置
技术领域
本发明涉及电子设备操作系统的系统安全,特别涉及一种用于拦截电子设备的操作系统中应用程序对服务的调用的方法和装置。
背景技术
近年来,安装有操作系统的电子设备、特别是便携式电子设备(例如,移动电话、平板电脑等)变得越来越普及。与之相应地,运行在这些电子设备的操作系统上的应用程序的数量也有了呈几何级数的爆炸式增长。以iOS系统和Android系统为例,目前这两个系统上的应用程序分别超过了60万个和40万个。
尽管海量的应用程序给用户带来了更多的选择,但随之而来的安全性问题也值得关注。以Android系统为例,系统的部分重要功能通过服务接口的形式提供,譬如读取联系人信息是通过数据源服务(即系统的一个进程,该进程加载了数据源服务对象,并且提供接口)来进行的,任何需要读取联系人信息的程序都需要通过接口来向该服务申请读取联系人信息。
这种服务的接口基于Binder通讯机制,调用接口的流程如下:应用程序发出对某个服务的接口请求,发送服务名称和接口序号->服务的总路由查询服务,并登记调用者,让其等待->服务的总路由分配客户的请求到具体服务->具体服务执行对自己接口的调用->具体服务返回接口调用的结果->服务的总路由拿到结果,并返回给登记过的应用程序->客户程序拿到接口请求的结果。
目前,Android系统本身不具备拦截的机制,只是在恶意程序安装之前告知系统用户此程序可能会访问某些服务,但是对于应用程序是否是恶意程序不做判断。目前,存在一些针对恶意程序进行拦截的方案。例如,通过向系统注册假服务的方式实现拦截,但是这种方式会在进行拦截的系统中留下明显的假服务名称,很容易被恶意程序发现,进而使拦截失效。
发明内容
为了至少解决上述技术问题,本发明提供了一种用于拦截电子设备的操作系统中应用程序对服务的调用的方法和装置。
根据本发明第一方面,提供了一种用于拦截电子设备的操作系统中应用程序对服务的调用的方法,包括:
将拦截动态库加载到服务所在的进程;
将所述进程中的输入输出控制函数的地址替换为所述拦截动态库的第一地址;
在应用程序对所述服务进行调用时,基于所述第一地址执行所述拦截动态库,以获得所述应用程序的信息和所述调用的信息,并且将所述调用的信息中包括的要被调用的服务的地址替换为所述拦截动态库的第二地址;以及
基于所述第二地址,显示所述应用程序的信息和所述调用的信息,并且根据在电子设备上通过操作系统对于所述调用的选择来执行处理。
优选地,根据在电子设备上通过操作系统对于所述调用的选择来执行处理的步骤包括:在选择了允许所述应用程序对所述服务的调用的情况下,根据所述服务的地址执行所述调用,并向所述应用程序返回实际服务结果;或者在选择了不允许所述应用程序对所述服务的调用的情况下,向所述应用程序返回预先定义的服务结果。
优选地,所述方法还包括在将拦截动态库加载到服务所在的进程的步骤之前暂停所述进程,以及在将所述进程中的输入输出控制函数的地址替换为所述拦截动态库的第一地址的步骤之后恢复所述进程。
优选地,所述应用程序的信息包括所述应用程序的名称和描述,所述调用的信息包括所述调用的接口序号以及要被调用的服务的地址。
优选地,所述操作系统是Android系统,所述应用程序通过Android系统的Binder机制对所述服务进行调用。
优选地,所述输入输出控制函数是Binder机制中的IOCTL函数。
优选地,在应用程序对所述服务进行调用时,基于所述第一地址执行所述拦截动态库,以通过所述IOCTL函数而先于Android系统获得所述应用程序的信息和所述调用的信息。
根据本发明第二方面,提供了一种用于拦截电子设备的操作系统中应用程序对服务的调用的装置,包括:
加载模块,用于将拦截动态库加载到服务所在的进程;
第一替换模块,用于将所述进程中的输入输出控制函数的地址替换为所述拦截动态库的第一地址;
第二替换模块,用于在应用程序对所述服务进行调用时,基于所述第一地址执行所述拦截动态库,以获得所述应用程序的信息和所述调用的信息,并且将所述调用的信息中包括的要被调用的服务的地址替换为所述拦截动态库的第二地址;以及
处理模块,用于基于所述第二地址,显示所述应用程序的信息和所述调用的信息,并且根据在电子设备上通过操作系统对于所述调用的选择来执行处理。
优选地,在所述应用程序对所述服务的调用被选择为允许的情况下,所述处理模块根据所述服务的地址执行所述调用,并向所述应用程序返回实际服务结果;或者在所述应用程序对所述服务的调用被选择为不允许的情况下,所述处理模块向所述应用程序返回预先定义的服务结果。
优选地,所述装置还包括用于在所述加载模块将拦截动态库加载到服务所在的进程之前暂停所述进程的暂停模块、以及用于在所述第一替换模块将所述进程中的输入输出控制函数的地址替换为所述拦截动态库的第一地址之后恢复所述进程的恢复模块。
优选地,所述应用程序的信息包括所述应用程序的名称和描述,所述调用的信息包括所述调用的接口序号以及要被调用的服务的地址。
优选地,所述操作系统是Android系统,所述应用程序通过Android系统的Binder机制对所述服务进行调用。
优选地,所述输入输出控制函数是Binder机制中的IOCTL函数。
优选地,在应用程序对所述服务进行调用时,所述第二替换模块基于所述第一地址执行所述拦截动态库,以通过所述IOCTL函数而先于Android系统获得所述应用程序的信息和所述调用的信息。
本发明提供了一种用于拦截电子设备的操作系统中应用程序对服务的调用的方法和装置。本发明能够在应用程序对服务进行调用时,对于调用进行拦截,并显示有关应用程序和调用的信息,这样就可以根据此信息来选择是否允许应用程序对服务的调用。在例如恶意应用程序对服务调用的情况下,就可以拒绝该调用,并向恶意应用程序返回该调用成功的虚假服务结果,使恶意应用程序无法发现,从而提高了系统的安全性。
附图说明
根据以下结合附图的详细描述,本发明的以上和其它目的和特征将变得更加清楚,其中:
图1是根据本发明的实施例的用于拦截电子设备的操作系统中应用程序对服务的调用的方法的流程图;
图2是根据本发明的实施例的在电子设备上通过操作系统对于调用进行选择的示例视图;以及
图3是根据本发明的实施例的用于拦截电子设备的操作系统中应用程序对服务的调用的装置的框图。
具体实施方式
在以下的详细描述中,为了说明和示例的目的,描述若干个具体细节,以便提供对于各实施例的全面理解。然而,对于本领域普通技术人员而言,可以在没有这些具体细节的情况下实现这些实施例。在以下描述中使用的部件名称仅仅是为了容易说明,而不是为了进行任何限制。
图1是根据本发明的实施例的用于拦截电子设备的操作系统中应用程序对服务的调用的方法的流程图。根据本发明,所述电子设备包括但不限于安装有操作系统的以下电子设备:移动电话、平板电脑、笔记本计算机、导航仪、音频和/或视频播放器、收音机、移动电视、多功能遥控器等便携式计算设备;台式计算机、大型计算机、打印机、传真机、复印机、多功能一体机、机顶盒、公共信息查询设备、多媒体信息交互设备等固定式计算设备;以及其它安装有操作系统的电子设备。
在下文中,以安装有Android系统的移动电话为例,对本发明的原理进行示例性描述,然而此描述仅仅是示例性的,本发明的范围并不限于此,本发明的原理也可以适用于安装有其它操作系统(例如Linux、iOS、Window Phone、Symbian等)的任何电子设备,例如前面提及的那些电子设备。
在用于拦截电子设备的操作系统中应用程序对服务的调用的方法100中,以下以应用程序通过Android系统的Binder机制对服务进行调用为例进行描述,但此描述仅仅是示例性的,本发明也适用于其它通信机制。
根据本发明,预先在Android系统中找到各个服务所在的进程,在步骤S101中,将拦截动态库加载到服务所在的进程。根据本发明的实施例,例如可以通过Android系统所基于的Linux系统提供的应用程序编程接口(Application Programming Interface,API)dlopen来将该拦截动态库加载到所述服务所在的进程。根据本发明的实施例,在步骤S 101执行之前,可以暂停所述进程,例如可以通过Linux系统提供的应用程序编程接口ptrace来实现此暂停操作。
在上述步骤S101之后,执行步骤S102,其中,将所述进程中的输入输出控制函数的地址替换为所述拦截动态库的第一地址。根据本发明的实施例,所述输入输出控制函数是Binder机制中的IOCTL函数。所述拦截动态库的第一地址用于执行所述拦截动态库。在步骤S102执行之后,可以恢复所述进程。
接下来,在步骤S103中,在应用程序对所述服务进行调用时,基于所述第一地址执行所述拦截动态库,以获得所述应用程序的信息和所述调用的信息,并且将所述调用的信息中包括的要被调用的服务的地址替换为所述拦截动态库的第二地址。根据本发明的实施例,在所述应用程序通过Binder机制来对所述服务进行调用时,将到达所述IOCTL函数,由于IOCTL函数的地址已经被替换为所述拦截动态库的第一地址,因此就将基于所述第一地址执行所述拦截动态库。此时,所述拦截动态库就可以通过所述IOCTL函数而先于Android系统获得所述应用程序的信息和所述调用的信息。
根据本发明的实施例,所述应用程序的信息包括所述应用程序的名称和描述,所述调用的信息包括所述调用的接口序号以及要被调用的服务的地址。将所述要被调用的服务的地址替换为所述拦截动态库的第二地址,可以基于该第二地址来显示所述应用程序的信息和所述调用的信息,并且根据对于所述调用的选择来对所述调用执行处理。
由于所述要被调用的服务的地址已经被替换为所述拦截动态库的第二地址,因此,在步骤S104中,就将基于所述第二地址,来显示所述应用程序的信息和所述调用的信息,并且根据在电子设备上通过操作系统对于所述调用的选择来执行处理。
图2是根据本发明的实施例的在电子设备上通过操作系统对于调用进行选择的示例视图。参见图2,将应用程序的信息和调用的信息显示在移动电话的显示屏上,并向用户询问是否允许所述应用程序对所述服务的调用。在用户选择了允许所述应用程序对所述服务的调用的情况下,根据所述服务的地址执行所述调用,并向所述应用程序返回实际服务结果;或者在用户选择了不允许所述应用程序对所述服务的调用的情况下,向所述应用程序返回预先定义的服务结果。所述预先定义的服务结果可以例如是表示所述调用已经成功的服务结果,以便令所述应用程序认为其对于所述服务的调用已经成功,而对于根据本发明的实施例所进行的拦截一无所知。
根据本发明的原理,用户可以按照所显示的应用程序的信息和调用的信息来判断所述应用程序是否为恶意应用程序,并在判断为非恶意的正常应用程序的情况下选择允许该应用程序对于服务的调用,以保证该应用程序的正常执行;而在判断为恶意应用程序(例如通过所显示的应用程序的信息或者调用的信息得知其为恶意应用程序)的情况下选择不允许该应用程序对于服务的调用,以保证系统安全,同时向该恶意应用程序返回表示调用已经成功的虚假服务结果,从而使该恶意应用程序对于根据本发明所进行的拦截一无所知。
下面以恶意应用程序A发起对于拨打扣费电话号码888的请求为例,对于本发明的原理进行描述,但此描述仅仅是示例性的,本发明可应用于拦截任何恶意应用程序。
根据本发明的实施例,预先在Android系统中找到各个服务所在的进程(包括通话服务所在的进程,假设其名称为进程S),将拦截动态库加载到各个服务所在的进程(包括进程S)。恶意应用程序A为了拨打扣费电话号码888,需要对于通话服务进行调用,其会首先发起对于通话接口的访问。
根据本发明的实施例,将Binder机制中的IOCTL函数的地址替换为所述拦截动态库的第一地址。由于恶意应用程序A会通过Binder机制来实现对通话服务的调用,因此其会执行Binder机制中的IOCTL函数。该IOCTL已被替换为所述第一地址,因而将基于第一地址执行所述拦截动态库。此时,所述拦截动态库就可以通过所述IOCTL函数而先于Android系统获得所述应用程序的信息(恶意程序A及其描述)和所述调用的信息(调用通话服务,拨打电话号码888)。然后,将所述通话服务的地址替换为拦截动态库的第二地址。
接下来,由于通话服务的地址已被替换为所述第二地址,因此将基于第二地址,来在移动电话的显示屏上显示恶意应用程序A的信息和有关其希望调用通话服务来拨打电话号码888的信息。用户根据上述信息,选择不允许恶意应用程序A对于通话服务的调用。此时,不进行调用,而是直接向恶意应用程序A返回预先定义的服务结果,即表示所述调用已经成功的服务结果,以便令恶意应用程序A认为其对于通话服务的调用已经成功,而对于根据本发明的实施例所进行的拦截一无所知。
本发明提供了一种用于拦截电子设备的操作系统中应用程序对服务的调用的方法。本发明能够在应用程序对服务进行调用时,对于调用进行拦截,并显示有关应用程序和调用的信息,这样就可以根据此信息来选择是否允许应用程序对服务的调用。在例如恶意应用程序对服务调用的情况下,就可以拒绝该调用,并向恶意应用程序返回该调用成功的虚假服务结果,使恶意应用程序无法发现,从而提高了系统的安全性。
根据本发明,可以拦截恶意应用程序偷窥电子设备用户的隐私信息(包括联系人信息、通话记录、短信、彩信、各种账户及密码等)的行为,防止恶意应用程序拨打扣费电话、发送扣费短信、访问耗费网络流量的网站,防止恶意应用程序安装木马和病毒程序,防止恶意应用程序记录用户的GPS或网络定位,拦截恶意应用程序弹出骚扰广告信息等等,可以对于任何恶意应用程序对于服务的调用进行拦截,从而提高了系统的安全性。
与上述的方法100相对应,本发明还提供了一种用于拦截电子设备的操作系统中应用程序对服务的调用的装置200,参见图3,该装置200包括:
加载模块210,用于将拦截动态库加载到服务所在的进程,该加载模块210可以用于执行上述方法100中的步骤S101;
第一替换模块220,用于将所述进程中的输入输出控制函数的地址替换为所述拦截动态库的第一地址,该第一替换模块220可以用于执行上述方法100中的步骤S102;
第二替换模块230,用于在应用程序对所述服务进行调用时,基于所述第一地址执行所述拦截动态库,以获得所述应用程序的信息和所述调用的信息,并且将所述调用的信息中包括的要被调用的服务的地址替换为所述拦截动态库的第二地址,该第二替换模块230可以用于执行上述方法100中的步骤S103;以及
处理模块240,用于基于所述第二地址,显示所述应用程序的信息和所述调用的信息,并且根据在电子设备上通过操作系统对于所述调用的选择来执行处理,该处理模块240可以用于执行上述方法100中的步骤S104。
在本发明的优选实施例中,在所述应用程序对所述服务的调用被选择为允许的情况下,所述处理模块240根据所述服务的地址执行所述调用,并向所述应用程序返回实际服务结果;或者在所述应用程序对所述服务的调用被选择为不允许的情况下,所述处理模块240向所述应用程序返回预先定义的服务结果。
在本发明的优选实施例中,所述装置200还包括用于在所述加载模块210将拦截动态库加载到服务所在的进程之前暂停所述进程的暂停模块250、以及用于在所述第一替换模块220将所述进程中的输入输出控制函数的地址替换为所述拦截动态库的第一地址之后恢复所述进程的恢复模块260。
在本发明的优选实施例中,所述应用程序的信息包括所述应用程序的名称和描述,所述调用的信息包括所述调用的接口序号以及要被调用的服务的地址。
在本发明的优选实施例中,所述操作系统是Android系统,所述应用程序通过Android系统的Binder机制对所述服务进行调用。
在本发明的优选实施例中,所述输入输出控制函数是Binder机制中的IOCTL函数。
在本发明的优选实施例中,在应用程序对所述服务进行调用时,所述第二替换模块230基于所述第一地址执行所述拦截动态库,以通过所述IOCTL函数而先于Android系统获得所述应用程序的信息和所述调用的信息。
由于上述各装置实施例与前述各方法实施例相对应,因此不再对各装置实施例进行详细描述。
本发明可以以任何适当的形式实现,包括硬件、软件、固件或者它们的任意组合。可选地,本发明可以至少部分地实现为运行在一个或多个处理器和/或数字信号处理器上的计算机软件。本发明的实施例的装置和模块可以在物理上、功能上和逻辑上以任何适当的方式实现。根据本发明的各个功能可以在单个单元中、在多个单元中或者作为其他功能单元的一部分来实现。同样地,本发明可以在单个单元中实现,或者可以在物理上和功能上分布在不同单元和处理器之间。
尽管已经结合一些实施例描述了本发明,但是本发明并不意在限于本文阐述的特定形式。相反地,本发明的范围仅由所附权利要求书限定。此外,尽管特征可能看起来是结合特定实施例而被描述的,但是本领域普通技术人员应当认识到,依照本发明可以组合所描述的实施例的各种特征。在权利要求书中,措词“包括”并不排除其他模块或步骤的存在。
此外,尽管单独被列出,但是多个模块或方法步骤可以由例如单个单元或处理器实现。此外,尽管单独的特征可能包含在不同的权利要求中,但是这些特征可能地可以有利地加以组合,并且包含在不同的权利要求中并不意味着特征的组合是不可行的。此外,特征包含于一种权利要求类别(例如方法权利要求)中并不意味着限于该类别,而是表示该特征同样可适当地应用于其他权利要求类别(例如装置权利要求)。此外,权利要求中特征的顺序并不意味着必须的任何特定顺序。并且,方法权利要求中各步骤的顺序并不意味着这些步骤必须按照该顺序来执行。相反地,这些步骤可以以任何适当的顺序执行。此外,单数形式的表述并没有排除复数。因此,对于“一”、“一个”、“第一”、“第二”等等的引用并没有排除复数。权利要求中的附图标记仅仅是标号,而不应当将其视为对权利要求的范围的限制。

Claims (12)

1.一种用于拦截电子设备的操作系统中应用程序对服务的调用的方法(100),其中所述操作系统是Android系统,所述方法(100)包括:
在操作系统中找到服务所在的进程;
将拦截动态库加载到服务所在的进程(S101);
将所述进程中的输入输出控制函数的地址替换为所述拦截动态库的第一地址(S102);
在应用程序对所述服务进行调用时,基于所述第一地址执行所述拦截动态库,以获得所述应用程序的信息和所述调用的信息,并且将所述调用的信息中包括的要被调用的服务的地址替换为所述拦截动态库的第二地址(S103);以及
基于所述第二地址,向用户显示所述应用程序的信息和所述调用的信息,并且根据所述用户在电子设备上通过操作系统对于所述调用的选择来执行处理(S104),
其中根据在电子设备上通过操作系统对于所述调用的选择来执行处理的步骤包括:在选择了允许所述应用程序对所述服务的调用的情况下,根据所述服务的地址执行所述调用,并向所述应用程序返回实际服务结果;或者在选择了不允许所述应用程序对所述服务的调用的情况下,向所述应用程序返回预先定义的服务结果,所述预先定义的服务结果是表示所述调用已经成功的服务结果。
2.如权利要求1所述的方法,还包括在将拦截动态库加载到服务所在的进程(S101)的步骤之前暂停所述进程,以及在将所述进程中的输入输出控制函数的地址替换为所述拦截动态库的第一地址(S102)的步骤之后恢复所述进程。
3.如权利要求1所述的方法,其中所述应用程序的信息包括所述应用程序的名称和描述,所述调用的信息包括所述调用的接口序号以及要被调用的服务的地址。
4.如权利要求1所述的方法,其中所述应用程序通过Android系统的Binder机制对所述服务进行调用。
5.如权利要求4所述的方法,其中所述输入输出控制函数是Binder机制中的IOCTL函数。
6.如权利要求4所述的方法,其中在应用程序对所述服务进行调用时,基于所述第一地址执行所述拦截动态库,以通过所述IOCTL函数而先于Android系统获得所述应用程序的信息和所述调用的信息。
7.一种用于拦截电子设备的操作系统中应用程序对服务的调用的装置(200),其中所述操作系统是Android系统,所述装置(200)包括:
进程寻找模块,用于在操作系统中找到服务所在的进程;
加载模块(210),用于将拦截动态库加载到服务所在的进程;
第一替换模块(220),用于将所述进程中的输入输出控制函数的地址替换为所述拦截动态库的第一地址;
第二替换模块(230),用于在应用程序对所述服务进行调用时,基于所述第一地址执行所述拦截动态库,以获得所述应用程序的信息和所述调用的信息,并且将所述调用的信息中包括的要被调用的服务的地址替换为所述拦截动态库的第二地址;以及
处理模块(240),用于基于所述第二地址,向用户显示所述应用程序的信息和所述调用的信息,并且根据所述用户在电子设备上通过操作系统对于所述调用的选择来执行处理,
其中在所述应用程序对所述服务的调用被选择为允许的情况下,所述处理模块(240)根据所述服务的地址执行所述调用,并向所述应用程序返回实际服务结果;或者在所述应用程序对所述服务的调用被选择为不允许的情况下,所述处理模块(240)向所述应用程序返回预先定义的服务结果,所述预先定义的服务结果是表示所述调用已经成功的服务结果。
8.如权利要求7所述的装置,还包括用于在所述加载模块(210)将拦截动态库加载到服务所在的进程之前暂停所述进程的暂停模块(250)、以及用于在所述第一替换模块(220)将所述进程中的输入输出控制函数的地址替换为所述拦截动态库的第一地址之后恢复所述进程的恢复模块(260)。
9.如权利要求7所述的装置,其中所述应用程序的信息包括所述应用程序的名称和描述,所述调用的信息包括所述调用的接口序号以及要被调用的服务的地址。
10.如权利要求7所述的装置,其中所述应用程序通过Android系统的Binder机制对所述服务进行调用。
11.如权利要求10所述的装置,其中所述输入输出控制函数是Binder机制中的IOCTL函数。
12.如权利要求10所述的装置,其中在应用程序对所述服务进行调用时,所述第二替换模块(230)基于所述第一地址执行所述拦截动态库,以通过所述IOCTL函数而先于Android系统获得所述应用程序的信息和所述调用的信息。
CN201210186961.7A 2012-06-07 2012-06-07 一种用于拦截应用程序对服务的调用的方法和装置 Active CN102693394B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201210186961.7A CN102693394B (zh) 2012-06-07 2012-06-07 一种用于拦截应用程序对服务的调用的方法和装置
PCT/CN2013/076450 WO2013182005A1 (zh) 2012-06-07 2013-05-30 一种用于拦截应用程序对服务的调用的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210186961.7A CN102693394B (zh) 2012-06-07 2012-06-07 一种用于拦截应用程序对服务的调用的方法和装置

Publications (2)

Publication Number Publication Date
CN102693394A CN102693394A (zh) 2012-09-26
CN102693394B true CN102693394B (zh) 2015-04-22

Family

ID=46858819

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210186961.7A Active CN102693394B (zh) 2012-06-07 2012-06-07 一种用于拦截应用程序对服务的调用的方法和装置

Country Status (2)

Country Link
CN (1) CN102693394B (zh)
WO (1) WO2013182005A1 (zh)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103108320A (zh) * 2011-11-15 2013-05-15 网秦无限(北京)科技有限公司 一种监控移动设备的应用程序的方法和系统
CN102693395B (zh) * 2012-06-07 2015-02-11 北京奇虎科技有限公司 一种用于拦截应用程序对服务的调用的方法和装置
CN102693394B (zh) * 2012-06-07 2015-04-22 北京奇虎科技有限公司 一种用于拦截应用程序对服务的调用的方法和装置
CN103049707B (zh) * 2012-12-21 2015-09-30 武汉大学 一种基于Android平台的GPS数据拦截控制方法
CN103116722A (zh) * 2013-02-06 2013-05-22 北京奇虎科技有限公司 一种通知栏消息的处理方法、装置和系统
CN103198255B (zh) * 2013-04-03 2015-06-24 武汉大学 一种Android软件敏感行为监控与拦截方法及系统
CN109063467A (zh) * 2013-05-27 2018-12-21 华为终端(东莞)有限公司 系统功能调用的方法、装置及终端
CN103763686A (zh) * 2013-12-23 2014-04-30 北京奇虎科技有限公司 短消息的处理方法和装置
CN105373734A (zh) * 2014-09-01 2016-03-02 中兴通讯股份有限公司 应用数据的保护方法及装置
CN105488386B (zh) * 2014-10-13 2020-05-05 腾讯科技(深圳)有限公司 一种iOS终端的防护方法及终端
CN105893000A (zh) * 2014-10-28 2016-08-24 北京确安科技股份有限公司 防止测试机系统时间被非法修改的方法
CN104484176B (zh) * 2014-12-16 2018-01-19 北京奇虎科技有限公司 一种安卓系统窗口对象获取方法和装置
CN105183307B (zh) * 2015-06-15 2018-05-04 北京奇虎科技有限公司 应用程序消息显示控制方法及装置
CN105516089B (zh) * 2015-11-27 2019-04-12 北京指掌易科技有限公司 一种稳定的安全拦截方法和装置
CN106909838A (zh) * 2015-12-22 2017-06-30 北京奇虎科技有限公司 一种拦截系统调用的方法及装置
CN107979684A (zh) * 2016-10-21 2018-05-01 中兴通讯股份有限公司 权限管理方法、装置及终端
CN107068150A (zh) * 2017-05-03 2017-08-18 安利军 一种Android智能语音控制方法及系统
CN108446149B (zh) * 2018-02-28 2021-07-20 北京凌宇智控科技有限公司 一种第三方动态库接口拦截方法及系统
CN108762825B (zh) * 2018-04-20 2021-04-27 烽火通信科技股份有限公司 动态库重载的实现方法及系统
CN109639884A (zh) * 2018-11-21 2019-04-16 惠州Tcl移动通信有限公司 一种基于安卓监控敏感权限的方法、存储介质及终端设备
CN111367684B (zh) * 2018-12-26 2023-11-10 北京天融信网络安全技术有限公司 一种过滤远程过程调用的方法和装置
CN109726548B (zh) * 2018-12-29 2021-04-27 360企业安全技术(珠海)有限公司 应用程序行为的处理方法、服务器、系统及存储介质
CN109992328B (zh) * 2019-03-14 2023-05-12 北京椒图科技有限公司 一种函数重定向方法及装置
CN113704753A (zh) * 2020-05-22 2021-11-26 网神信息技术(北京)股份有限公司 对系统调用进行拦截替换的方法和装置、电子设备和介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101493873A (zh) * 2009-03-04 2009-07-29 浪潮电子信息产业股份有限公司 基于内核层技术实现对win平台文件读写操作访问控制方法
CN101620660A (zh) * 2009-07-31 2010-01-06 北京大学 一种Windows操作系统下钩子的防御方法
US7797733B1 (en) * 2004-01-08 2010-09-14 Symantec Corporation Monitoring and controlling services

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5974549A (en) * 1997-03-27 1999-10-26 Soliton Ltd. Security monitor
CN102693394B (zh) * 2012-06-07 2015-04-22 北京奇虎科技有限公司 一种用于拦截应用程序对服务的调用的方法和装置
CN102693395B (zh) * 2012-06-07 2015-02-11 北京奇虎科技有限公司 一种用于拦截应用程序对服务的调用的方法和装置
CN103198255B (zh) * 2013-04-03 2015-06-24 武汉大学 一种Android软件敏感行为监控与拦截方法及系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7797733B1 (en) * 2004-01-08 2010-09-14 Symantec Corporation Monitoring and controlling services
CN101493873A (zh) * 2009-03-04 2009-07-29 浪潮电子信息产业股份有限公司 基于内核层技术实现对win平台文件读写操作访问控制方法
CN101620660A (zh) * 2009-07-31 2010-01-06 北京大学 一种Windows操作系统下钩子的防御方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Windows API拦截技术;史永林等;《电脑知识与技术》;20080930;第3卷(第9期);第1920-1922页 *

Also Published As

Publication number Publication date
CN102693394A (zh) 2012-09-26
WO2013182005A1 (zh) 2013-12-12

Similar Documents

Publication Publication Date Title
CN102693394B (zh) 一种用于拦截应用程序对服务的调用的方法和装置
CN102693395B (zh) 一种用于拦截应用程序对服务的调用的方法和装置
CN105144188B (zh) 电子设备中用于通知安全信息的装置和方法及其计算机可读记录介质
US9602651B2 (en) Systems and methods for providing alternate line selection information on a mobile device
US9280663B2 (en) Apparatus and method for analyzing malware in data analysis system
US9047470B2 (en) Secure provisioning of commercial off-the-shelf (COTS) devices
CN111818469B (zh) 呼叫方法、呼叫装置、电子设备和网络设备
US20080294744A1 (en) Network System, Terminal Customization Method, and Customization Service Method
US20190199857A1 (en) Method and system for group communication across electronic mail users and feature phone users
CN106060124A (zh) 一种应用程序的下载方法及移动终端
CN110719590A (zh) 基于手机号码的一键登录方法、装置、设备及存储介质
JP5828457B2 (ja) Api実行制御装置およびプログラム
US9456077B2 (en) Communication server, communication terminal, and method of communication
US8588388B2 (en) Telephone system and server apparatus and control method used in telephone system
CN109714734B (zh) Dmr系统、dmr的无线通信方法、装置及终端设备
CN111310175A (zh) 基于插件化的iOS应用安全监测与防护方法及装置
CN101322351A (zh) 低复杂性、多用途通信设备及信息客户端
KR102107650B1 (ko) 메시지의 송수신 신호 및 통화 요청에 관한 신호를 검출하는 방법과 이를 구현하는 전자장치
CN112261659B (zh) 终端和服务器的控制方法、装置、终端和存储介质
US11176021B2 (en) Messaging systems with improved reliability
CN108052363B (zh) 一种信息显示方法、终端及计算机可读存储介质
CN117439775A (zh) 虚拟化私有云平台审计监控方法、装置及可读存储介质
CN114764348A (zh) 应用程序的运行方法及系统、电子设备及存储介质
Ortega et al. A novel approach to Trojan horse detection in mobile phones messaging and bluetooth services
Ortega Ramírez et al. A Novel Approach to Trojan Horse Detection in Mobile Phones Messaging and Bluetooth Services

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
ASS Succession or assignment of patent right

Owner name: QIZHI SOFTWARE (BEIJING) CO., LTD.

Effective date: 20120914

Owner name: BEIJING QIHU TECHNOLOGY CO., LTD.

Free format text: FORMER OWNER: QIZHI SOFTWARE (BEIJING) CO., LTD.

Effective date: 20120914

C41 Transfer of patent application or patent right or utility model
COR Change of bibliographic data

Free format text: CORRECT: ADDRESS; FROM: 100016 CHAOYANG, BEIJING TO: 100088 XICHENG, BEIJING

TA01 Transfer of patent application right

Effective date of registration: 20120914

Address after: 100088 Beijing city Xicheng District xinjiekouwai Street 28, block D room 112 (Desheng Park)

Applicant after: BEIJING QIHOO TECHNOLOGY Co.,Ltd.

Applicant after: Qizhi software (Beijing) Co.,Ltd.

Address before: The 4 layer 100016 unit of Beijing city Chaoyang District Jiuxianqiao Road No. 14 Building C

Applicant before: Qizhi software (Beijing) Co.,Ltd.

C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20220801

Address after: 300450 No. 9-3-401, No. 39, Gaoxin 6th Road, Binhai Science Park, Binhai New Area, Tianjin

Patentee after: 3600 Technology Group 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
TR01 Transfer of patent right

Effective date of registration: 20230703

Address after: 1765, floor 17, floor 15, building 3, No. 10 Jiuxianqiao Road, Chaoyang District, Beijing 100015

Patentee after: Beijing Hongxiang Technical Service Co.,Ltd.

Address before: 300450 No. 9-3-401, No. 39, Gaoxin 6th Road, Binhai Science Park, Binhai New Area, Tianjin

Patentee before: 3600 Technology Group Co.,Ltd.