CN107645546B - 基于安卓系统的文件监听方法、智能设备及存储介质 - Google Patents
基于安卓系统的文件监听方法、智能设备及存储介质 Download PDFInfo
- Publication number
- CN107645546B CN107645546B CN201710819966.1A CN201710819966A CN107645546B CN 107645546 B CN107645546 B CN 107645546B CN 201710819966 A CN201710819966 A CN 201710819966A CN 107645546 B CN107645546 B CN 107645546B
- Authority
- CN
- China
- Prior art keywords
- file
- application
- android system
- current
- event
- 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
Links
Images
Landscapes
- Telephone Function (AREA)
Abstract
本发明公开了基于安卓系统的文件监听方法、智能设备及存储介质。本发明中在安卓系统的kernel层中对文件事件进行监听,在所述kernel层中监听到所述文件事件时,判断所述文件事件是否为预设异常文件事件,在所述文件事件为所述预设异常文件事件时,根据所述文件事件确定访问所述预设文件的当前进程,并在所述安卓系统的应用框架层中展示所述当前进程。本发明通过在安卓系统自身实现文件监听的基础上扩展了对于访问文件的进程的确定,使得安卓系统的文件监听功能可以更加安全,也就解决了当前的安卓系统在实现文件监听时存在的无法确定访问文件的具体进程的技术问题。
Description
技术领域
本发明涉及移动终端领域,尤其涉及基于安卓系统的文件监听方法、智能设备及存储介质。
背景技术
随着安卓(Android)系统的不断发展与广泛应用,对于Android系统的需求也越来越差异化和细节化。其中,Android系统可以实现对于文件的监听,具体而言,Android系统中广泛应用的文件监听类FileObserver可以监听到文件的创建、修改、删除与移动等操作,但是,FileObserver类无法监听到文件的改变具体由哪个进程实施。
但是,确定访问或改动文件的具体进程对于实现文件监听功能有较大的意义,因为,当确定了具体进程后,可以较好辨别出系统中的不安全的程序。所以,当前的Android系统在实现文件监听时存在无法确定访问文件的具体进程的技术问题。
上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。
发明内容
本发明的主要目的在于提供基于安卓系统的文件监听方法、智能设备及存储介质,旨在解决现有技术在实现文件监听时无法确定访问文件的具体进程的技术问题。
为实现上述目的,本发明提供一种基于安卓系统的文件监听方法,所述方法包括以下步骤:
在安卓系统的kernel层中对文件事件进行监听,所述文件事件为在进程访问预设文件时所述安卓系统生成的事件;
在所述kernel层中监听到所述文件事件时,判断所述文件事件是否为预设异常文件事件,在所述文件事件为所述预设异常文件事件时,根据所述文件事件确定访问所述预设文件的当前进程,并在所述安卓系统的应用框架层中展示所述当前进程。
优选地,所述根据所述文件事件确定访问所述预设文件的当前进程,并在所述安卓系统的应用框架层中展示所述当前进程,具体包括:
根据所述文件事件确定对应的进程标识;
在所述安卓系统的应用框架层中获取预设回调方法中的所述进程标识;
在所述应用框架层中根据所述进程标识确定访问所述预设文件的当前进程,并展示所述当前进程。
优选地,所述在监听到所述文件事件时,根据所述文件事件确定对应的进程标识,具体包括:
根据所述文件事件确定对应的各进程参数;
将所述进程参数进行字符串拼接,将拼接后的所述进程参数作为进程标识。
优选地,所述将所述进程参数进行字符串拼接,将拼接后的所述进程参数作为进程标识之后,所述方法还包括:
在所述安卓系统的用户空间中对所述进程标识进行字符串分割,以获取到所述进程参数;
相应地,所述在所述安卓系统的应用框架层中获取预设回调方法中的所述进程标识,在所述应用框架层中根据所述进程标识确定访问所述预设文件的当前进程,并展示所述当前进程,具体包括:
在所述安卓系统的应用框架层中获取预设回调方法中的所述进程参数;
在所述应用框架层中根据所述进程参数确定访问所述预设文件的当前进程,并展示所述当前进程。
优选地,所述在所述kernel层中监听到所述文件事件时,判断所述文件事件是否为预设异常文件事件,在所述文件事件为所述预设异常文件事件时,根据所述文件事件确定访问所述预设文件的当前进程,并在所述安卓系统的应用框架层中展示所述当前进程之后,所述方法还包括:
统计监听到所述文件事件的监听次数;
在所述监听次数大于预设访问阈值时,根据所述当前进程确定对应的当前应用,将所述当前应用认定为风险应用,并展示所述当前应用存在风险的提示信息。
优选地,所述在所述监听次数大于预设访问阈值时,根据所述当前进程确定对应的当前应用,将所述当前应用认定为风险应用,并展示所述当前应用存在风险的提示信息之后,所述方法还包括:
生成与所述当前应用对应的第一应用标识,将所述第一应用标识认定为风险应用标识;
其中,所述风险应用标识与所述风险应用对应,用以在本地对风险应用进行统计。
优选地,所述在所述监听次数大于预设访问阈值时,根据所述当前进程确定对应的当前应用,将所述当前应用认定为风险应用,并展示所述当前应用存在风险的提示信息之后,所述方法还包括:
生成与所述当前应用对应的第二应用标识;
将所述第二应用标识发送至服务器,以使所述服务器将所述第二应用标识认定为风险应用标识;
其中,所述风险应用标识与所述风险应用对应,用以在所述服务器对风险应用进行统计。
优选地,所述将所述第二应用标识发送至服务器,以使所述服务器将所述第二应用标识认定为风险应用标识之后,所述方法还包括:
响应于应用安装信息,从所述应用安装信息中提取第三应用标识;
将所述第三应用标识发送至所述服务器,以使所述服务器将所述第三应用标识与各风险应用标识进行匹配,反馈匹配结果;
在所述匹配结果为匹配成功时,中止对第三应用的安装或展示第三应用存在风险的提示信息,所述第三应用与所述第三应用标识对应。
此外,为实现上述目的,本发明还提供一种智能设备,所述智能设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的基于安卓系统的文件监听程序,所述基于安卓系统的文件监听程序配置为实现所述基于安卓系统的文件监听方法的步骤。
此外,为实现上述目的,本发明还提供一种存储介质,所述存储介质上存储有基于安卓系统的文件监听程序,所述基于安卓系统的文件监听程序被处理器执行时实现所述的基于安卓系统的文件监听方法的步骤。
本发明通过在Android系统自身实现文件监听的基础上扩展了对于访问文件的进程的确定,使得Android系统的文件监听功能可以更加安全,也就解决了当前的Android系统在实现文件监听时存在的无法确定访问文件的具体进程的技术问题。
附图说明
图1是本发明实施例方案涉及的硬件运行环境的智能设备结构示意图;
图2为本发明基于安卓系统的文件监听方法第一实施例的流程示意图;
图3为本发明基于安卓系统的文件监听方法第二实施例的流程示意图;
图4为本发明基于安卓系统的文件监听方法第三实施例的流程示意图;
图5为本发明基于安卓系统的文件监听方法第四实施例的流程示意图;
图6为本发明基于安卓系统的文件监听方法第五实施例的流程示意图;
图7为本发明基于安卓系统的文件监听方法第六实施例的流程示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
参照图1,图1为本发明实施例方案涉及的硬件运行环境的智能设备结构示意图。
如图1所示,该智能设备可以包括:处理器1001,例如CPU,通信总线1002、用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
所述智能设备可为智能手机、智能电视或其他基于Android系统的电子设备。
本领域技术人员可以理解,图1中示出的结构并不构成对智能设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及基于安卓系统的文件监听程序。
在图1所示的智能设备中,网络接口1004主要用于连接后台服务器,与所述后台服务器进行数据通信;用户接口1003主要用于连接用户终端,与用户终端进行数据通信,所述用户终端可为手机等;所述智能设备通过处理器1001调用存储器1005中存储的基于安卓系统的文件监听程序,并执行以下操作:
在安卓系统的kernel层中对文件事件进行监听,所述文件事件为在进程访问预设文件时所述安卓系统生成的事件;
在所述kernel层中监听到所述文件事件时,判断所述文件事件是否为预设异常文件事件,在所述文件事件为所述预设异常文件事件时,根据所述文件事件确定访问所述预设文件的当前进程,并在所述安卓系统的应用框架层中展示所述当前进程。
进一步地,处理器1001可以调用存储器1005中存储的基于安卓系统的文件监听程序,还执行以下操作:
根据所述文件事件确定对应的进程标识;
在所述安卓系统的应用框架层中获取预设回调方法中的所述进程标识;
在所述应用框架层中根据所述进程标识确定访问所述预设文件的当前进程,并展示所述当前进程。
进一步地,处理器1001可以调用存储器1005中存储的基于安卓系统的文件监听程序,还执行以下操作:
根据所述文件事件确定对应的各进程参数;
将所述进程参数进行字符串拼接,将拼接后的所述进程参数作为进程标识。
进一步地,处理器1001可以调用存储器1005中存储的基于安卓系统的文件监听程序,还执行以下操作:
在所述安卓系统的用户空间中对所述进程标识进行字符串分割,以获取到所述进程参数;
相应地,还执行以下操作:
在所述安卓系统的应用框架层中获取预设回调方法中的所述进程参数;
在所述应用框架层中根据所述进程参数确定访问所述预设文件的当前进程,并展示所述当前进程。
进一步地,处理器1001可以调用存储器1005中存储的基于安卓系统的文件监听程序,还执行以下操作:
统计监听到所述文件事件的监听次数;
在所述监听次数大于预设访问阈值时,根据所述当前进程确定对应的当前应用,将所述当前应用认定为风险应用,并展示所述当前应用存在风险的提示信息。
进一步地,处理器1001可以调用存储器1005中存储的基于安卓系统的文件监听程序,还执行以下操作:
生成与所述当前应用对应的第一应用标识,将所述第一应用标识认定为风险应用标识;
其中,所述风险应用标识与所述风险应用对应,用以在本地对风险应用进行统计。
进一步地,处理器1001可以调用存储器1005中存储的基于安卓系统的文件监听程序,还执行以下操作:
生成与所述当前应用对应的第二应用标识;
将所述第二应用标识发送至服务器,以使所述服务器将所述第二应用标识认定为风险应用标识;
其中,所述风险应用标识与所述风险应用对应,用以在所述服务器对风险应用进行统计。
进一步地,处理器1001可以调用存储器1005中存储的基于安卓系统的文件监听程序,还执行以下操作:
响应于应用安装信息,从所述应用安装信息中提取第三应用标识;
将所述第三应用标识发送至所述服务器,以使所述服务器将所述第三应用标识与各风险应用标识进行匹配,反馈匹配结果;
在所述匹配结果为匹配成功时,中止对第三应用的安装或展示第三应用存在风险的提示信息,所述第三应用与所述第三应用标识对应。
本实施例中通过在Android系统自身实现文件监听的基础上扩展了对于访问文件的进程的确定,使得Android系统的文件监听功能可以更加安全,也就解决了当前的Android系统在实现文件监听时存在的无法确定访问文件的具体进程的技术问题。
基于上述硬件结构,提出本发明基于安卓系统的文件监听方法的实施例。
参照图2,图2为本发明基于安卓系统的文件监听方法第一实施例的流程示意图。
在第一实施例中,所述基于安卓系统的文件监听方法包括以下步骤:
步骤S10:在安卓系统的kernel层中对文件事件进行监听,所述文件事件为在进程访问预设文件时所述安卓系统生成的事件;
可以理解的是,Android系统对文件的监听可基于既有的文件监听类FileObserver,FileObserver位于Android系统中的frameworks/base/core/java/android/os/FileObserver.java处,而对于FileObserver的具体实现可通过java的jni方法去调用native方法中标准的linux inotify接口,并从Android系统的内核态返回事件给用户态。其中,对文件事件进行监听的监听行为在安卓系统的kernel层中完成,即内核态发生的动作,但是,在kernel层监听到文件事件后,不同于内核态,用户态仍不能获悉该文件事件,需要一个从内核态返回事件至用户态的过程。但是,FileObserver无法监听到文件的改变具体是由哪个进程触发。其中,所述文件事件是指在进程访问文件时会生成的事件(Event)。
步骤S20:在所述kernel层中监听到所述文件事件时,判断所述文件事件是否为预设异常文件事件,在所述文件事件为所述预设异常文件事件时,根据所述文件事件确定访问所述预设文件的当前进程,并在所述安卓系统的应用框架层中展示所述当前进程。
在具体实现中,在kernel层监听到所述文件事件时,即表明Android系统中存在文件访问、创建、修改、删除或移动等操作时,可根据所述文件事件去确定访问所述预设文件的当前进程。但是,文件事件的事件类型存在多种,比如,对于设备内文件的正常访问,还可能存在异常的文件事件,比如,过于频繁的多次访问、修改文件以及移动文件位置等事件,可对正常与异常的文件事件进行区分,可预先规定各预设异常文件事件以实现该效果,所述预设异常文件事件包括大于等于预设访问次数的文件事件、修改文件内容的文件事件以及移动文件位置的文件事件。
可以理解的是,在监听到所述文件事件后,将判断当前的文件事件是否为上述的预设异常文件事件中的一种,比如,在所述文件事件为修改文件内容的文件事件时,可基于Android系统中的事件传递机制根据当前的文件事件去确定修改文件内容的当前进程,在Android系统的kernel层确定了当前进程后,可将所述当前进程信息传递至Android系统的应用框架层,以使用户以及其他需要获悉具体进程信息的应用程序可以确定访问预设文件的具体进程。
本实施例中通过在Android系统自身实现文件监听的基础上扩展了对于访问文件的进程的确定,使得Android系统的文件监听功能可以更加安全,也就解决了当前的Android系统在实现文件监听时存在的无法确定访问文件的具体进程的技术问题。
参照图3,图3为本发明基于安卓系统的文件监听方法第二实施例的流程示意图,基于上述图2所示的实施例,提出本发明基于安卓系统的文件监听方法的第二实施例。
在第二实施例中,所述步骤S20具体包括:
步骤S201:在所述kernel层中监听到所述文件事件时,判断所述文件事件是否为预设异常文件事件,在所述文件事件为所述预设异常文件事件时,根据所述文件事件确定对应的进程标识;
可以理解的是,在监听到所述文件事件时,可通过所述文件事件去确定对应的进程标识,所述进程标识用于确定访问预设文件的当前进程。为了更加方便地确定当前进程以及减少对于现有的文件监听类的改动,所述进程标识可为拼接后的各进程参数,所述进程参数为Android系统中记录进程的各类型参数,比如,进程参数可为当前进程的进程标识符(Process Identification,PID)、当前进程执行的程序名、父进程的PID和父进程执行的程序名等,通过上述进程参数即可确定当前进程。所以,通过传递拼接后的进程参数可以较好地确定当前进程,本实施例对于进程标识不作限制,进程标识也可为单一类型的进程参数,或者Android系统中可确定当前进程的其他参数。
步骤S202:在所述安卓系统的应用框架层中获取预设回调方法中的所述进程标识;
应当理解的是,在Andorid系统通过FileObserver类实现文件监听时,当监听到的预设文件发生变化后,即获取到文件事件后,可根据所述文件事件确定对应的进程标识,而所述根据所述文件事件确定对应的进程标识的步骤实际上发生于Android系统的kernel层,但是,在kernel层确定了进程标识后,对于其他应用程序和用户而言,依旧无法获悉访问预设文件的进程是哪个,因为Android系统的应用框架层未得知该进程标识,在应用框架层确定了该进程标识后,其他应用程序和用户才可获悉访问预设文件的具体进程。而本实施例中通过预设回调方法即可让应用框架层获取到所述进程标识,以实现对于访问预设文件的具体进程的确定。所述预设回调方法即为可传递所述进程标识的回调方法,所述进程标识可作为参数进行传递,以实现在应用框架层中获取到该进程标识。
步骤S203:在所述应用框架层中根据所述进程标识确定访问所述预设文件的当前进程,并展示所述当前进程。
可以理解的是,在应用框架层获取到所述进程标识后,即可在应用框架层根据所述进程标识确定访问所述预设文件的当前进程,并将当前进行的具体信息向用户或者其他需要获悉具体的进程的应用程序进行展示。
本实施例通过在kernel层确定到进程标识后,通过预设回调方法将所述进程标识传递至应用框架层,使得在应用框架层可根据进程标识确定访问预设文件的当前进程,并使得用户以及应用程序可确定并使用该进程信息,通过传递进程标识使得文件监听可以更加完善,也就使得Android系统的使用更加安全。
参照图4,图4为本发明基于安卓系统的文件监听方法第三实施例的流程示意图,基于上述图3所示的实施例,提出本发明基于安卓系统的文件监听方法的第三实施例。
在第三实施例中,所述步骤S201具体包括:
步骤S2011:在所述kernel层中监听到所述文件事件时,判断所述文件事件是否为预设异常文件事件,在所述文件事件为所述预设异常文件事件时,根据所述文件事件确定对应的各进程参数;
可以理解的是,在监听到所述文件事件时,可通过所述文件事件在Android系统中去查找对应的各进程参数,所述进程参数可为进程标识符(Process Identification,PID)、当前进程执行的程序名、父进程的PID和父进程执行的程序名等。
步骤S2012:将所述进程参数进行字符串拼接,将拼接后的所述进程参数作为进程标识。
在具体实现中,为了更加准确地确定当前进程,可将拼接后的各进程参数作为进程参数提供给Android系统中的应用框架层(Application Framework),以供应用程序或用户方便地获取该进程信息,可确定当前进程。比如,以linux系统的内核3.10版本为例,该系统中位于linux-3.10/fs/notify/fsnotify.c的send_to_group()方法,如下:
可见,send_to_group()方法中的fsnotify_create_event里存在参数file_name,file_name的字符格式为字符串,指正在被操作的文件。Android系统也正是基于send_to_group()方法实现对于文件的监听,但是,明显地,该方法不能确定访问文件的具体进程,所以,可直接对该send_to_group()方法进行修改。直接对send_to_group()方法进行修改,对于系统运行来说响应更加快捷,也防止代码编辑使得程序的运行过于复杂。修改后的send_to_group()方法,如下:
比之原send_to_group()方法和修改后的send_to_group()方法,修改后的send_to_group()方法新定义了all_info,并在fsnotify_create_event中将file_name替换为all_info。其中,all_info中包括file_name,原本替换掉的file_name,还包括current->pid即当前进程的PID,current->comm即当前进程执行的程序名,current->real_parent->pid即父进程的PID,以及current->real_parent->comm父进程执行的程序名,all_info将上述进程参数通过sprintf拼接在一起,也就获得了拼接后的所述进程参数,all_info即为进程标识。
可以理解的是,通过将各进程参数进行拼接以获取进程标识,并在Android系统中传递该进程标识以确定当前进程,可以更加准确地确定当前进程,并且,基于拼接后的进程参数进行进程标识的传递是基于Android原使用代码的修改,对于代码的修改小,也降低了代码运行的复杂度,该种修改方式更利于后期维护和实际运行。
在步骤S2012之后,执行步骤S2013。
步骤S2013:在所述安卓系统的用户空间中对所述进程标识进行字符串分割,以获取到所述进程参数;
应当理解的是,为了便于后续在应用框架层中使用进程参数,可在用户空间中对所述进程标识进行字符串分割,以获取到所述进程参数。比如,在kernel层将所述进程参数进行字符串拼接并获得拼接后的所述进程参数后,可通过android_util_FileObserver.cpp的android_os_fileobserver_observe方法接收该拼接后的进程参数即进程标识。
步骤S202,具体包括步骤S202′。
步骤S202′:在所述安卓系统的应用框架层中获取预设回调方法中的所述进程参数;
在具体实现中,所述进程标识可作为参数通过预设回调方法进行传递,以实现在应用框架层中获取到该进程标识。
为了便于预设回调方法获取到该进程参数,可预先对所述进程标识进行字符串分割,以获取到所述进程参数。并且,所述预设回调方法可为重写后的onEvent()方法,可命名为onEventAll(),如下:
可见,比之onEvent()方法,重写后的onEventAll()方法,增加了各进程参数,实现了当响应于文本事件以回调信息至应用框架层时,可额外携带进程参数,使得用户可获悉所述进程参数。
当然,在使用onEventAll()方法之前,可先定义上述四种进程参数,如下:
public static String pid;
public static String pid_name;
public static String parent_pid;
public static String parent_name;
可以理解的是,定义了四个静态变量,pid是指当前进程的PID,pid_name是指当前进程执行的程序名,parent_pid是指父进程的PID以及parent_name是指父进程执行的程序名。
步骤S203,具体包括步骤S203′。
步骤S203′:在所述应用框架层中根据所述进程参数确定访问所述预设文件的当前进程,并展示所述当前进程。
在具体实现中,当应用框架层获取到该四个变量的进程参数后,即可根据所述进程变量在应用框架层确定访问所述预设文件的当前进程,并向用户或需要确定进程的应用程序进行展示。
本实施例中通过在kernel层将具体的进程参数进行拼接后,将拼接后的进程参数即进程标识进行传递,使得可在应用框架层中获取到拆分后的进程参数,也就实现了在对Android系统修改量较小的前提下可在应用框架层确定当前进程。
参照图5,图5为本发明基于安卓系统的文件监听方法第四实施例的流程示意图,基于上述图2所示的实施例,提出本发明基于安卓系统的文件监听方法的第四实施例。
在第四实施例中,所述步骤S20之后,所述方法还包括:
步骤S30:统计监听到所述文件事件的监听次数;
可以理解的是,在确定访问文件的具体进程的前提下,可根据确定的具体进程对于智能设备中使用的应用程序进行风险管理。比如,若智能设备为安卓手机,可统计监听到所述文件事件的监听次数,即统计具体文件发生过的文件访问次数。
当然,也可对于文件事件的事件类型和进程访问文件的具体文件进行预先规定,比如,可只统计表示文件删除的文件事件,也可只统计访问或修改过名为kernelsmode的文件的文件事件,本实施例对此不作限制。
步骤S40:在所述监听次数大于预设访问阈值时,根据所述当前进程确定对应的当前应用,将所述当前应用认定为风险应用,并展示所述当前应用存在风险的提示信息。
在具体实现中,所述预设访问阈值为预先规定的监听次数,用于判断当前Android系统的进程访问是否为正常访问还是病毒程序的频繁访问,比如,可将预设访问阈值设置为100次,也可周期性地统计监听次数,例如,每30分钟对于统计到的监听次数进行清零并重新开始统计。
可以理解的是,若监听次数为300次,在监听次数大于预设访问阈值时,可通过进程标识确定当前进程和执行进程的当前应用,可认为该应用访问过于频繁,将所述当前应用认定为风险应用,并向用户展示所述当前应用存在风险的提示信息。当然,为了保护用户使用安卓手机的安全性,可在将当前应用认定为风险应用后,直接记录该当前应用为风险应用,以便在安卓手机中再次出现该风险应用时可快速确认该应用为风险应用。
本实施例中通过统计监听次数并判断当前应用是否存在风险,使得设备在基于监听操作文件的进程的前提下,提高了设备使用的安全性。
参照图6,图6为本发明基于安卓系统的文件监听方法第五实施例的流程示意图,基于上述图5所示的实施例,提出本发明基于安卓系统的文件监听方法的第五实施例。
在第五实施例中,所述步骤S40之后,所述方法还包括:
步骤S50:生成与所述当前应用对应的第一应用标识,将所述第一应用标识认定为风险应用标识;
其中,所述风险应用标识与所述风险应用对应,用以在本地对风险应用进行统计。
可以理解的是,在通过比较监听次数以识别风险应用的前提下,为了便于在设备的后续使用中可对风险应用实现快速识别,可在将所述当前应用认定为风险应用之后,生成与所述当前应用对应的第一应用标识,所述第一应用标识可为一段由数字和字母组成的唯一的字符串,用于唯一地标识当前应用。
当然,智能设备本地可保存有风险应用标识表,所述风险应用标识表中包括认定为风险应用的各风险应用标识。在第一应用标识被认定为风险应用标识后,将第一应用标识添加至所述风险应用标识表中,每次识别出风险应用时皆不断地记录至本地,便于后续的使用中,直接根据风险应用标识表去识别出应用是否存在风险。
本实施例中通过记录第一应用标识为风险应用标识,实现了设备本地对于风险应用的统计,便于快速识别应用是否存在风险。
参照图7,图7为本发明基于安卓系统的文件监听方法第六实施例的流程示意图,基于上述图5所示的实施例,提出本发明基于安卓系统的文件监听方法的第六实施例。
在第六实施例中,所述步骤S40之后,所述方法还包括:
步骤S50′:生成与所述当前应用对应的第二应用标识;
可以理解的是,在比较监听次数以识别风险应用的前提下,为了便于在设备的后续使用中可对风险应用实现快速识别,可在将所述当前应用认定为风险应用之后,生成与所述当前应用对应的第二应用标识,所述第二应用标识可为一段由数字和字母组成的唯一的字符串,用于唯一地标识当前应用。
步骤S60′:将所述第二应用标识发送至服务器,以使所述服务器将所述第二应用标识认定为风险应用标识;
其中,所述风险应用标识与所述风险应用对应,用以在所述服务器对风险应用进行统计。
在具体实现中,区别于第五实施例中将风险应用标识表保存至本地,本实施例中可将风险应用标识表建立于服务器中,有利于通过大量的智能设备发生的风险应用标识认定过程去快速地积累大量的风险应用标识,所以,具体使用时,无需用户对于风险应用的初次识别,风险应用的辨认将发生于服务器侧,使得对于风险应用的辨认更加准确,也降低了智能设备的运算量。
可以理解的是,将所述第二应用标识发送至服务器,以使所述服务器将所述第二应用标识认定为风险应用标识,比如,服务器侧可保存有风险应用标识表,所述风险应用标识表中包括认定为风险应用的各风险应用标识。在第二应用标识被认定为风险应用标识后,将第二应用标识添加至所述风险应用标识表中。由于存在大量的用户和大量的智能设备在进行对于风险应用的初次识别,使得服务器侧将积累风险应用标识丰富的风险应用标识表,也就实现了直接让服务器去辨别风险应用,比之第五实施例的方法,本实施例虽然额外架构了服务器,但是本实施例更加方便且响应更快速。
步骤S70′:响应于应用安装信息,从所述应用安装信息中提取第三应用标识;
在具体实现中,当服务器侧存在不断更新的风险应用标识表后,用户在安卓手机中安装新的应用程序或安卓手机在自动安装新的应用程序时,手机将自动生成应用安装信息,所述应用安装信息中包括第三应用标识,所述第三应用标识即为安卓手机中当前安装的应用程序对应的应用标识。
步骤S80′:将所述第三应用标识发送至所述服务器,以使所述服务器将所述第三应用标识与各风险应用标识进行匹配,反馈匹配结果;
可以理解的是,在服务器中保存有预先设置的风险应用标识表时,可将所述第三应用标识发送至所述服务器,以使服务器侧去进行匹配操作。可将第三应用标识与风险应用标识表中的各风险应用标识进行匹配,并将匹配结果发送至安卓手机;
步骤S90′:在所述匹配结果为匹配成功时,中止对第三应用的安装或展示第三应用存在风险的提示信息,所述第三应用与所述第三应用标识对应。
应当理解的是,在匹配成功时,即说明安卓手机中当前安装的应用即为风险应用,则中止对第三应用的安装进程或向用户展示第三应用存在风险的提示信息。
本实施例中通过在服务器侧完成与风险应用标识匹配操作,降低了智能设备的运算量以及保存风险应用标识至本地的存储空间,也提高了智能设备对于风险应用的识别速度与准确度。
此外,本发明实施例还提出一种存储介质,所述存储介质上存储有基于安卓系统的文件监听程序,所述基于安卓系统的文件监听程序被处理器执行时实现如下操作:
在安卓系统的kernel层中对文件事件进行监听,所述文件事件为在进程访问预设文件时所述安卓系统生成的事件;
在所述kernel层中监听到所述文件事件时,判断所述文件事件是否为预设异常文件事件,在所述文件事件为所述预设异常文件事件时,根据所述文件事件确定访问所述预设文件的当前进程,并在所述安卓系统的应用框架层中展示所述当前进程。
进一步地,所述基于安卓系统的文件监听程序被处理器执行时还实现如下操作:
根据所述文件事件确定对应的进程标识;
在所述安卓系统的应用框架层中获取预设回调方法中的所述进程标识;
在所述应用框架层中根据所述进程标识确定访问所述预设文件的当前进程,并展示所述当前进程。
进一步地,所述基于安卓系统的文件监听程序被处理器执行时还实现如下操作:
根据所述文件事件确定对应的各进程参数;
将所述进程参数进行字符串拼接,将拼接后的所述进程参数作为进程标识。
进一步地,所述基于安卓系统的文件监听程序被处理器执行时还实现如下操作:
在所述安卓系统的用户空间中对所述进程标识进行字符串分割,以获取到所述进程参数;
相应地,还实现如下操作:
在所述安卓系统的应用框架层中获取预设回调方法中的所述进程参数;
在所述应用框架层中根据所述进程参数确定访问所述预设文件的当前进程,并展示所述当前进程。
进一步地,所述基于安卓系统的文件监听程序被处理器执行时还实现如下操作:
统计监听到所述文件事件的监听次数;
在所述监听次数大于预设访问阈值时,根据所述当前进程确定对应的当前应用,将所述当前应用认定为风险应用,并展示所述当前应用存在风险的提示信息。
进一步地,所述基于安卓系统的文件监听程序被处理器执行时还实现如下操作:
生成与所述当前应用对应的第一应用标识,将所述第一应用标识认定为风险应用标识;
其中,所述风险应用标识与所述风险应用对应,用以在本地对风险应用进行统计。
进一步地,所述基于安卓系统的文件监听程序被处理器执行时还实现如下操作:
生成与所述当前应用对应的第二应用标识;
将所述第二应用标识发送至服务器,以使所述服务器将所述第二应用标识认定为风险应用标识;
其中,所述风险应用标识与所述风险应用对应,用以在所述服务器对风险应用进行统计。
进一步地,所述基于安卓系统的文件监听程序被处理器执行时还实现如下操作:
响应于应用安装信息,从所述应用安装信息中提取第三应用标识;
将所述第三应用标识发送至所述服务器,以使所述服务器将所述第三应用标识与各风险应用标识进行匹配,反馈匹配结果;
在所述匹配结果为匹配成功时,中止对第三应用的安装或展示第三应用存在风险的提示信息,所述第三应用与所述第三应用标识对应。
本实施例中通过在Android系统自身实现文件监听的基础上扩展了对于访问文件的进程的确定,使得Android系统的文件监听功能可以更加安全,也就解决了当前的Android系统在实现文件监听时存在的无法确定访问文件的具体进程的技术问题。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (9)
1.一种基于安卓系统的文件监听方法,其特征在于,所述方法包括以下步骤:
在安卓系统的kernel层中对文件事件进行监听,所述文件事件为在进程访问预设文件时所述安卓系统生成的事件;
在所述kernel层中监听到所述文件事件时,判断所述文件事件是否为预设异常文件事件,在所述文件事件为所述预设异常文件事件时,根据所述文件事件确定访问所述预设文件的当前进程,并在所述安卓系统的应用框架层中展示所述当前进程;
其中,所述在所述kernel层中监听到所述文件事件时,判断所述文件事件是否为预设异常文件事件,具体包括:
根据所述文件事件确定对应的进程标识,所述根据所述文件事件确定对应的进程标识的步骤发生于Android系统的kernel层;
所述根据所述文件事件确定访问所述预设文件的当前进程,并在所述安卓系统的应用框架层中展示所述当前进程,具体包括:
在所述安卓系统的应用框架层中获取预设回调方法中的所述进程标识,在所述应用框架层中根据所述进程标识确定访问所述预设文件的当前进程,并展示所述当前进程。
2.如权利要求1所述的基于安卓系统的文件监听方法,其特征在于,所述根据所述文件事件确定对应的进程标识,具体包括:
根据所述文件事件确定对应的各进程参数;
将所述进程参数进行字符串拼接,将拼接后的所述进程参数作为进程标识。
3.如权利要求2所述的基于安卓系统的文件监听方法,其特征在于,所述将所述进程参数进行字符串拼接,将拼接后的所述进程参数作为进程标识之后,所述方法还包括:
在所述安卓系统的用户空间中对所述进程标识进行字符串分割,以获取到所述进程参数;
相应地,所述在所述安卓系统的应用框架层中获取预设回调方法中的所述进程标识,在所述应用框架层中根据所述进程标识确定访问所述预设文件的当前进程,并展示所述当前进程,具体包括:
在所述安卓系统的应用框架层中获取预设回调方法中的所述进程参数;
在所述应用框架层中根据所述进程参数确定访问所述预设文件的当前进程,并展示所述当前进程。
4.如权利要求1所述的基于安卓系统的文件监听方法,其特征在于,所述在所述kernel层中监听到所述文件事件时,判断所述文件事件是否为预设异常文件事件,在所述文件事件为所述预设异常文件事件时,根据所述文件事件确定访问所述预设文件的当前进程,并在所述安卓系统的应用框架层中展示所述当前进程之后,所述方法还包括:
统计监听到所述文件事件的监听次数;
在所述监听次数大于预设访问阈值时,根据所述当前进程确定对应的当前应用,将所述当前应用认定为风险应用,并展示所述当前应用存在风险的提示信息。
5.如权利要求4所述的基于安卓系统的文件监听方法,其特征在于,所述在所述监听次数大于预设访问阈值时,根据所述当前进程确定对应的当前应用,将所述当前应用认定为风险应用,并展示所述当前应用存在风险的提示信息之后,所述方法还包括:
生成与所述当前应用对应的第一应用标识,将所述第一应用标识认定为风险应用标识;
其中,所述风险应用标识与所述风险应用对应,用以在本地对风险应用进行统计。
6.如权利要求4所述的基于安卓系统的文件监听方法,其特征在于,所述在所述监听次数大于预设访问阈值时,根据所述当前进程确定对应的当前应用,将所述当前应用认定为风险应用,并展示所述当前应用存在风险的提示信息之后,所述方法还包括:
生成与所述当前应用对应的第二应用标识;
将所述第二应用标识发送至服务器,以使所述服务器将所述第二应用标识认定为风险应用标识;
其中,所述风险应用标识与所述风险应用对应,用以在所述服务器对风险应用进行统计。
7.如权利要求6所述的基于安卓系统的文件监听方法,其特征在于,所述将所述第二应用标识发送至服务器,以使所述服务器将所述第二应用标识认定为风险应用标识之后,所述方法还包括:
响应于应用安装信息,从所述应用安装信息中提取第三应用标识;
将所述第三应用标识发送至所述服务器,以使所述服务器将所述第三应用标识与各风险应用标识进行匹配,反馈匹配结果;
在所述匹配结果为匹配成功时,中止对第三应用的安装或展示第三应用存在风险的提示信息,所述第三应用与所述第三应用标识对应。
8.一种智能设备,其特征在于,所述智能设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的基于安卓系统的文件监听程序,所述基于安卓系统的文件监听程序被所述处理器执行时实现如权利要求1至7中任一项所述的基于安卓系统的文件监听方法的步骤。
9.一种存储介质,其特征在于,所述存储介质上存储有基于安卓系统的文件监听程序,所述基于安卓系统的文件监听程序被处理器执行时实现如权利要求1至7中任一项所述的基于安卓系统的文件监听方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710819966.1A CN107645546B (zh) | 2017-09-12 | 2017-09-12 | 基于安卓系统的文件监听方法、智能设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710819966.1A CN107645546B (zh) | 2017-09-12 | 2017-09-12 | 基于安卓系统的文件监听方法、智能设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107645546A CN107645546A (zh) | 2018-01-30 |
CN107645546B true CN107645546B (zh) | 2021-07-06 |
Family
ID=61111417
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710819966.1A Active CN107645546B (zh) | 2017-09-12 | 2017-09-12 | 基于安卓系统的文件监听方法、智能设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107645546B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109089252A (zh) * | 2018-09-26 | 2018-12-25 | 广州高清视信数码科技股份有限公司 | 一种安卓智能设备的adb连接控制方法、系统和装置 |
CN109408473A (zh) * | 2018-10-30 | 2019-03-01 | 深圳市理奥网络技术有限公司 | 一种防止文件误删的方法、装置、设备以及存储介质 |
CN110457192A (zh) * | 2019-07-24 | 2019-11-15 | 北京小米移动软件有限公司 | 一种文件监控方法及装置、终端、存储介质 |
CN111930814B (zh) * | 2020-05-29 | 2024-02-27 | 武汉达梦数据库股份有限公司 | 一种基于etl系统的文件事件的调度方法和etl系统 |
CN113971285A (zh) * | 2020-07-24 | 2022-01-25 | 深信服科技股份有限公司 | 一种终端恶意进程识别方法、装置、设备及可读存储介质 |
CN113688106B (zh) * | 2021-10-27 | 2022-04-15 | 广东睿江云计算股份有限公司 | 文件监听方法及装置 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105739943A (zh) * | 2016-02-02 | 2016-07-06 | 成都中科创达软件有限公司 | 一种移动设备接入耳机时选择音视频应用的方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4937902B2 (ja) * | 2004-03-17 | 2012-05-23 | アルカテル−ルーセント ユーエスエー インコーポレーテッド | オペレーティングシステム環境でのプロセス状態情報の管理 |
US8700765B2 (en) * | 2009-08-14 | 2014-04-15 | Blue Stripe Software, Inc. | Methods and computer program products for monitoring and reporting network application performance |
CN105868625B (zh) * | 2016-06-22 | 2018-10-12 | 北京金山安全软件有限公司 | 一种拦截文件被重启删除的方法及装置 |
CN106203107A (zh) * | 2016-06-29 | 2016-12-07 | 北京金山安全软件有限公司 | 一种防止系统菜单被恶意修改的方法、装置及电子设备 |
CN106933677A (zh) * | 2017-02-27 | 2017-07-07 | 宇龙计算机通信科技(深圳)有限公司 | 系统异常处理方法及装置 |
-
2017
- 2017-09-12 CN CN201710819966.1A patent/CN107645546B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105739943A (zh) * | 2016-02-02 | 2016-07-06 | 成都中科创达软件有限公司 | 一种移动设备接入耳机时选择音视频应用的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN107645546A (zh) | 2018-01-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107645546B (zh) | 基于安卓系统的文件监听方法、智能设备及存储介质 | |
CN108027741B (zh) | 基于补丁升级的文件处理方法、装置、终端以及存储介质 | |
CN109672580B (zh) | 全链路监控方法、装置、终端设备及存储介质 | |
CN108804299B (zh) | 应用程序异常处理方法及装置 | |
CN111414334A (zh) | 基于云技术的文件分片上传方法、装置、设备及存储介质 | |
US10176327B2 (en) | Method and device for preventing application in an operating system from being uninstalled | |
US20160330208A1 (en) | Method and apparatus for implementing document sharing between user groups | |
CN107644075B (zh) | 收集页面信息的方法和装置 | |
CN113849199B (zh) | 跨系统安装应用的方法、装置、电子设备及存储介质 | |
CN106599045B (zh) | 一种请求发送方法及装置 | |
CN113377458B (zh) | 插件管理方法、装置、电子设备和存储介质 | |
CN109032693B (zh) | 一种加载展示信息方法、装置、电子设备及可读存储介质 | |
CN108509228B (zh) | 加载页面的方法、终端设备及计算机可读存储介质 | |
CN105447384B (zh) | 一种反监控的方法、系统及移动终端 | |
CN103365672A (zh) | 一种处理应用程序的描述信息的方法和系统 | |
CN113157480A (zh) | 错误信息处理方法、装置、存储介质以及终端 | |
CN115952491B (zh) | hook目标函数的方法、装置、电子设备及介质 | |
CN110503504B (zh) | 网络产品的信息识别方法、装置及设备 | |
CN109408104B (zh) | 一种获取游戏整合信息的方法及装置 | |
CN108009084B (zh) | 一种混合移动应用的测试方法、装置及系统 | |
CN113672225B (zh) | 用户界面的处理方法、装置、设备及存储介质 | |
CN116627444A (zh) | 用于自动同步设备上响应与条件的系统和方法 | |
CN110162374B (zh) | 主题切换方法、装置、设备及计算机可读存储介质 | |
CN114238021A (zh) | 一种sdk接口定位方法、装置、设备及计算机存储介质 | |
CN114090055A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |