CN114048469A - 目录操作管理方法、电子设备及可读存储介质 - Google Patents
目录操作管理方法、电子设备及可读存储介质 Download PDFInfo
- Publication number
- CN114048469A CN114048469A CN202210022436.5A CN202210022436A CN114048469A CN 114048469 A CN114048469 A CN 114048469A CN 202210022436 A CN202210022436 A CN 202210022436A CN 114048469 A CN114048469 A CN 114048469A
- Authority
- CN
- China
- Prior art keywords
- directory
- application
- list
- target
- path 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.)
- Granted
Links
Images
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/562—Static detection
Abstract
本申请涉及智能终端技术领域,具体涉及目录操作管理方法、电子设备及可读存储介质。其中该方法包括:电子设备检测到第一应用对目标目录的操作请求,并响应于操作请求,获取白名单目录列表;其中白名单目录列表包括一个或多个目录的路径信息;电子设备将目标目录的路径信息与白名单目录列表中第一目录的路径信息进行比较;电子设备根据比较的结果,确定对操作请求的执行结果。本申请能够及时发现并阻止一些恶意程序的违规操作,实现对一些核心目录或重要存储目录的保护;而允许一些应用程序删除或重命名自己的私有存储目录的操作、或者对于一些预设的超级应用对存储目录的操作,即能够实现对目录操作的有效管理,利于提高电子设备抗风险的能力。
Description
技术领域
本发明涉及智能终端技术领域,具体涉及一种目录操作管理方法、电子设备及可读存储介质。
背景技术
在终端电子设备搭载的操作系统中存在供应用程序调用的系统接口,例如JavaAPI等,用户操作电子设备运行一些应用程序,并在所运行应用程序的界面上下载文件、或者保存图片等时,该应用程序会调用系统接口将下载的文件或图片保存至该应用程序对应的存储目录中。
而当某些应用程序出现故障(bug),使得电子设备运行了恶意程序时,则有可能会导致该应用程序对一些公共存储目录或者系统为其他应用程序创建的存储目录等进行一些删除或重命名等违规操作。如果在一次业务调用过程中,某个存储目录被恶意程序删除或重命名,之后当系统再次处理调用该存储目录的相应业务时,会触发新建该存储目录,此时向该存储目录中保存图片或文件等时,保存路径也会重定向至新建的存储目录上。如此,会导致系统在新建存储目录前后保存的图片或文件等存入不同的存储目录下。
当系统重启时,电子设备的应用程序调用系统接口访问上述存储目录时,会默认打开新建后的存储目录,此时如果用户想要查看新建存储目录之前所下载或保存的文件或存储的图片,则系统可能会提示用户访问的文件不存在或图片不存在,即此时才会暴露上述初始存储目录被违规删除或重命名的问题,然而,这时已经无法查询或确定进行违规操作的应用程序,因此也无法及时排除恶意程序或者及时修复出现运行故障的应用程序。
因此,亟需一种能够对删除或重命名存储目录等操作进行管理的方法,以便及时发现恶意程序的违规操作,从而保障受保护的存储目录不被恶意程序删除或重命名。
发明内容
本申请实施例提供了一种目录操作管理方法、电子设备及可读存储介质。本申请在检测到应用程序对存储目录的操作时,对该操作是否违规进行校验,从而实现对一些核心目录或重要存储目录的保护,并且能够及时发现并阻止一些恶意程序的违规操作,还可以提醒用户存在可疑操作。另外,对于一些应用程序删除或重命名自己的私有存储目录的操作、或者对于一些预设的超级应用对存储目录的操作,则可以允许执行。进而,本申请能够实现应用程序对存储目录进行的删除/重命名等操作的有效管理,利于提高电子设备抗风险的能力。
第一方面,本申请实施例提供了一种目录操作管理方法,应用于电子设备,电子设备运行第一应用,该方法包括:电子设备检测到第一应用对目标目录的操作请求,并响应于操作请求,获取白名单目录列表;其中白名单目录列表包括一个或多个目录的路径信息;电子设备将目标目录的路径信息与白名单目录列表中第一目录的路径信息进行比较;电子设备根据比较的结果,确定对操作请求的执行结果。
即第一应用在电子设备上运行时,如果电子设备检测到第一应用正在对目标目录(即下文实施例中描述的目标存储目录)进行删除或重命名等操作,则可以获取电子设备上预设的受保护的白名单目录列表,确认被操作的目标存储目录与白名单目录列表上的各个白名单目录之间是否存在关联关系,进而确定是否执行第一应用对目标存储目录的操作。上述电子设备例如可以是下文实施例中的手机100,第一应用则为手机100上运行的任一应用程序,即下文实施例中描述的操作应用,包括手机100的系统应用以及第三方应用。上述目标存储目录,例如可以是系统为第一应用创建的存储目录,即第一应用的私有目录。上述目标存储目录,例如也可以是系统为其他应用程序或公共服务模块所创建的存储目录,或者是下文实施例中描述的安卓核心目录等。
可以理解,手机100等电子设备可以允许第一应用对系统为其创建的私有目录进行删除或重命名等操作,而如果被操作的目标存储目录,是系统为其他应用程序创建的目录并且该目录又与受保护的白名单目录相关联,则手机100等电子设备可以认为第一应用对目标存储目录的操作,很有可能是违规操作,或者说是风险较高的可疑操作,此时手机100等电子设备则可以拒绝该操作。这一过程,即是上述电子设备根据比较的结果,确定对操作请求的执行结果。具体将在下文中详细描述,在此不做赘述。
在上述第一方面的一种可能的实现中,电子设备检测到第一应用对目标目录的操作请求,并响应于操作请求,获取白名单目录列表,包括:电子设备确定第一应用是第一类应用,根据确定结果,电子设备响应于操作请求,获取白名单目录列表。
即电子设备在检测到第一应用正在对目标存储目录的操作后,可以先判断第一应用是否为电子设备上预设的超级应用。参考下文实施例中步骤403的描述,电子设备上可以预设超级应用目录,预设一些对电子设备上的存储目录均具有操作权限的一个或多个超级应用,例如手机管家类应用。可以理解,如果第一应用是超级应用,则电子设备可以允许第一应用对任意存储目录的操作,如果第一应用不是超级应用,即第一应用是第一类应用,则电子设备需要进一步确认第一应用所操作的目标存储目录与受保护的白名单目录之间的关系。上述第一类应用即指不在超级应用列表上的应用,也就是说,第一类应用不是超级应用。
在上述第一方面的一种可能的实现中,电子设备将目标目录的路径信息与白名单目录列表中第一目录的路径信息进行比较,包括:电子设备将目标目录的路径信息与白名单目录列表中第一目录的路径信息进行比较,以确定目标目录的路径信息与第一目录的路径信息之间是否存在交集。
上述第一目录即白名单目录列表中的任一白名单目录。电子设备可以通过比较目标存储目录与白名单目录的路径信息,来确定目标存储目录与白名单目录之间的关联关系。如果路径信息存在交集,则目标存储目录与白名单目录之间存在关联关系。
在上述第一方面的一种可能的实现中,电子设备根据比较的结果,确定对操作请求的执行结果,包括:若目标目录的路径信息与第一目录的路径信息之间无交集,则电子设备执行第一应用对目标目录的操作。
在上述第一方面的一种可能的实现中,电子设备根据比较的结果,确定对操作请求的执行结果,还包括:若目标目录的路径信息与第一目录的路径信息之间有交集,并且若电子设备确定目标目录为第一目录的父目录,则拒绝第一应用对目标目录的操作;若电子设备确定目标目录为第一目录的子目录、或者目标目录与第一目录为同一目录,则获取第一应用的UID。
上述第一应用即下文实施例中描述的操作应用,上述目标目录即下文实施例中描述的目标存储目录,第一目录即白名单目录列表中的白名单目录。如果路径信息无交集,则表明目标存储目录与白名单目录无关,也表明第一应用对目标目录的操作无风险,手机100等电子设备可以执行该操作。如路径信息有交集,则需要进一步确定目标存储目录与白名单目录之间的集合关系,即上述确定目标目录是否为第一目录的父目录、子目录或者相同目录。可以理解,如果目标目录(即目标存储目录)是第一目录(即白名单目录)的父目录、或者相同目录,则该目标目录的删除或重命名等操作很可能会影响到第一目录的安全性,表明该操作存在较大风险,因此,手机100等电子设备可以拒绝执行该操作。如果目标目录是第一目录的子目录,则手机100等电子设备可以获取第一应用的UID,以进一步确定该目标目录是否为系统为该第一应用创建的存储目录。具体可以参考下文实施例中步骤406至407的相关描述,在此不再赘述。
在上述第一方面的一种可能的实现中,电子设备根据比较的结果,确定对操作请求的执行结果,还包括:电子设备判断目标目录的路径信息中的UID与第一应用的UID是否相同;若目标目录的路径信息中的UID与第一应用的UID相同,则电子设备执行第一应用对目标目录的操作;若目标目录的路径信息中的UID与第一应用的UID不相同,则电子设备拒绝第一应用对目标目录的操作。
上述目标目录的路径信息中的UID,即下文实施例中目标存储目录的UID;上述第一应用的UID,即下文实施例中操作应用的UID。可以理解,手机100等电子设备为应用程序创建的存储目录上可以包括该应用程序的UID,如果确定目标存储目录的UID与操作应用的UID相同,则可以确定该目标目录是系统为该操作应用创建的存储目录、或者是系统为公共服务模块创建的存储目录,此时手机100可以执行该操作应用对目标存储目录的操作。如果确定目标存储目录的UID与操作应用的UID不同,则该操作应用对该目标目录的操作很可能是违规操作,手机100等电子设备可以拒绝该操作。具体可以参考下文实施例中步骤407中相关描述,在此不做赘述。
在上述第一方面的一种可能的实现中,电子设备根据比较的结果,确定对操作请求的执行结果,还包括:电子设备显示存在可疑操作的提示信息,其中可疑操作为被电子设备拒绝的、第一应用对目标目录的操作。
即电子设备拒绝的第一应用对目标目录的操作,属于可疑操作,电子设备的系统可以对该操作进行风险提示,例如显示存在可疑操作的提示信息。具体可以参考下文实施例中步骤411中相关描述,在此不做赘述。
在上述第一方面的一种可能的实现中,电子设备根据比较的结果,确定对操作请求的执行结果,还包括:若目标目录的UID与第一应用的UID相同,则电子设备检测目标目录的路径信息中是否包括第一应用的应用包名;若目标目录的路径信息包括第一应用的应用包名,则电子设备不记录对应于第一应用对目标目录的操作的系统日志;若目标目录的路径信息不包括第一应用的应用包名,则电子设备记录对应于第一应用对目标目录的操作的系统日志。
即当目标目录的UID与第一应用的UID相同时,电子设备执行第一应用对目标目录的删除或重命名等操作的同时,可以进一步确定目标目录中是否存在第一应用的包名,即进行包名检测来确定该目标目录是否为系统为该第一应用创建的存储目录。可以理解,操作应用可以通过手机100中的公共服务模块访问目标存储目录,例如下文实施例中描述的媒体提供者等,则目标存储目录上的UID会与公共服务模块的UID相同,这种情况下,手机100等电子设备虽执行对目标存储目录的该操作,但需要进一步进行包名检测,以确认该操作是否有潜在风险。具体可以参考下文实施例中步骤408中的相关描述,在此不做赘述。
在上述第一方面的一种可能的实现中,第一类应用不包括超级应用,其中超级应用具有对电子设备上任意目录的操作权限。
在上述第一方面的一种可能的实现中,第一应用对目标目录的操作请求,包括下列中的至少一项:第一应用对目标目录的删除操作请求;第一应用对目标目录的重命名操作请求。
可以理解,在另一些实施例中,第一应用对目标目录的操作也可以包括其他类型的操作,如果该操作可能影响到系统存储目录的安全性、或者影响其他应用程序访问相应存储目录,均可以通过本申请实施例所提供的目录操作管理方法进行校验管理。
在上述第一方面的一种可能的实现中,电子设备包括媒体提供者、包管理服务和虚拟文件系统,并且上述方法包括:媒体提供者检测到第一应用对目标目录的操作请求,并响应于操作请求,从包管理服务获取白名单目录列表;媒体提供者将目标目录的路径信息与白名单目录列表中第一目录的路径信息进行比较;媒体提供者向虚拟文件系统反馈比较的结果;虚拟文件系统根据比较的结果,确定对操作请求的执行结果。
即在电子设备的操作系统中,可以由媒体提供者、包管理服务和虚拟文件系统来执行本申请实施例所提供的目录操作管理方法,其中媒体提供者、包管理服务以及虚拟文件系统分别执行的功能可以参考下文实施例中图8所示系统架构及相关描述,具体执行过程可以参考下文实施例中图9所示流程及相关描述,在此不做赘述。
在上述第一方面的一种可能的实现中,媒体提供者检测到第一应用对目标目录的操作请求,并响应于操作请求,从包管理服务获取白名单目录列表,包括:媒体提供者从包管理服务获取超级应用列表;其中超级应用列表中的超级应用,具有对电子设备上任意目录的操作权限;媒体提供者确定第一应用为第一类应用;其中第一类应用不在超级应用列表上;媒体提供者根据确定结果,响应于操作请求,从包管理服务获取白名单目录列表。
在上述第一方面的一种可能的实现中,媒体提供者向虚拟文件系统反馈比较的结果,包括:若目标目录的路径信息与第一目录的路径信息之间无交集,则媒体提供者向虚拟文件系统反馈校验成功的返回值;若目标目录的路径信息与第一目录的路径信息之间有交集,并且若媒体提供者确定目标目录为第一目录的父目录,则向虚拟文件系统反馈校验失败的返回值。
在上述第一方面的一种可能的实现中,媒体提供者向虚拟文件系统反馈比较的结果,还包括:若媒体提供者确定目标目录为第一目录的子目录、或者目标目录与第一目录为同一目录,则媒体提供者从包管理服务获取第一应用的UID,并且若媒体提供者判断目标目录的路径信息中的UID与第一应用的UID相同,则向虚拟文件系统反馈校验成功的返回值;若媒体提供者判断目标目录的路径信息中的UID与第一应用的UID不相同,则向虚拟文件系统反馈校验失败的返回值。
上述校验成功的返回值例如是下文实施例中描述的返回值“0”,校验失败的返回值例如是下文实施例中描述的返回值“1”,具体可以参考下文实施例中步骤906至908中相关描述,在此不做赘述。
在上述第一方面的一种可能的实现中,虚拟文件系统根据比较的结果,确定对操作请求的执行结果,包括:虚拟文件系统基于校验成功的返回值,执行第一应用对目标目录的操作;虚拟文件系统基于校验失败的返回值,拒绝第一应用对目标目录的操作。
在上述第一方面的一种可能的实现中,电子设备包括通知管理器,并且媒体提供者根据比较的结果,确定对操作请求的执行结果,还包括:媒体提供者向通知管理器反馈校验失败的结果;通知管理器基于校验失败的结果,生成存在可疑操作的提示信息。
可以理解,在手机100等电子设备的操作系统中,通知管理器生成的提示信息可以通过系统UI(即System UI)界面显示,例如在设置应用的界面或者状态栏中显示。具体可以参考下文实施例中步骤910中相关描述,在此不做赘述。
在上述第一方面的一种可能的实现中,电子设备包括媒体提供者、存储管理服务、包管理服务和虚拟文件系统,并且方法包括:媒体提供者检测到第一应用对目标目录的操作请求;媒体提供者向存储管理服务发送操作请求;存储管理服务响应于操作请求,从包管理服务获取白名单目录列表;存储管理服务将目标目录的路径信息与白名单目录列表中第一目录的路径信息进行比较;存储管理服务通过媒体提供者,向虚拟文件系统反馈比较的结果;虚拟文件系统根据比较的结果,确定对操作请求的执行结果。
即在电子设备的操作系统中,可以由媒体提供者、存储管理服务、包管理服务和虚拟文件系统来执行本申请实施例所提供的目录操作管理方法,其中媒体提供者、存储管理服务、包管理服务以及虚拟文件系统分别执行的功能可以参考下文实施例中图8所示系统架构及相关描述,具体执行过程可以参考下文实施例中图10所示流程及相关描述,在此不做赘述。
在上述第一方面的一种可能的实现中,存储管理服务响应于操作请求,从包管理服务获取白名单目录列表,包括:存储管理服务从包管理服务获取超级应用列表;其中超级应用列表中的超级应用,具有对电子设备上任意目录的操作权限;存储管理服务确定第一应用为第一类应用;其中第一类应用不在超级应用列表上;存储管理服务根据确定结果,响应于操作请求,从包管理服务获取白名单目录列表。
在上述第一方面的一种可能的实现中,存储管理服务通过媒体提供者,向虚拟文件系统反馈比较的结果,包括:若目标目录的路径信息与第一目录的路径信息之间无交集,则存储管理服务通过媒体提供者向虚拟文件系统反馈校验成功的返回值;若目标目录的路径信息与第一目录的路径信息之间有交集,并且若存储管理服务确定目标目录为第一目录的父目录,则通过媒体提供者向虚拟文件系统反馈校验失败的返回值。
在上述第一方面的一种可能的实现中,存储管理服务通过媒体提供者向虚拟文件系统反馈比较的结果,还包括:若存储管理服务确定目标目录为第一目录的子目录、或者目标目录与第一目录为同一目录,则存储管理服务从包管理服务获取第一应用的UID,并且若存储管理服务判断目标目录的路径信息中的UID与第一应用的UID相同,则通过媒体提供者向虚拟文件系统反馈校验成功的返回值;若存储管理服务判断目标目录的路径信息中的UID与第一应用的UID不相同,则通过媒体提供者向虚拟文件系统反馈校验失败的返回值。
在上述第一方面的一种可能的实现中,虚拟文件系统根据比较的结果,确定对操作请求的执行结果,包括:虚拟文件系统基于校验成功的返回值,执行第一应用对目标目录的操作;虚拟文件系统基于校验失败的返回值,拒绝第一应用对目标目录的操作。
即虚拟文件系统可以根据媒体提供者所返回的校验结果,来确定是否执行对目标目录的删除或重命名操作。可以理解,虚拟文件系统是与内核层文件系统进行交互,来执行对目标目录的操作的文件系统。具体可以参考下文实施例中图10所示及相关描述,在此不做赘述。
第二方面,本申请实施例提供了一种电子设备,包括:一个或多个处理器;一个或多个存储器;一个或多个存储器存储有一个或多个程序,当一个或者多个程序被一个或多个处理器执行时,使得电子设备执行上述目录操作管理方法。
第三方面,本申请实施例提供了一种计算机可读存储介质,存储介质上存储有指令,指令在计算机上执行时使计算机执行上述目录操作管理方法。
第四方面,本申请实施例提供了一种计算机程序产品,包括计算机程序/指令,计算机程序/指令被处理器执行时实现上述目录操作管理方法。
附图说明
图1a所示为本申请实施例提供的一种存储目录被重命名前的存储目录列表示意图。
图1b所示为本申请实施例提供的一种存储目录被重命名、新建后的存储目录列表示意图。
图1c所示为本申请实施例提供的一种存储目录被重命名、新建后的提示界面示意图。
图2a所示为本申请实施例提供的白名单目录列表、超级应用列表示意图。
图2b所示为本申请实施例提供的手机100允许操作应用对目标存储目录的操作所对应的设置界面示意图。
图2c所示为本申请实施例提供的手机100拒绝操作应用对目标存储目录的操作所对应的设置界面示意图。
图2d所示为本申请实施例提供的手机100允许操作应用对目标存储目录的操作所对应的控制中心通知界面示意图。
图2e所示为本申请实施例提供的手机100拒绝操作应用对目标存储目录的操作所对应的控制中心通知界面示意图。
图3所示为本申请实施例提供的手机100显示可疑操作列表的界面示意图。
图4所示为本申请实施例提供的一种目录操作管理方法的实施流程示意图。
图5所示为本申请实施例提供的一种超级应用列表示意图。
图6所示为本申请实施例提供的一种白名单目录列表示意图。
图7所示为本申请实施例提供的一种操作权限列表示意图。
图8所示为本申请实施例提供的一种手机100的系统软件架构示意框图。
图9所示为本申请实施例提供的实施目录操作管理方法的一种交互流程示意图。
图10所示为本申请实施例提供的实施目录操作管理方法的另一种交互流程示意图。
图11所示为本申请实施例提供的一种手机100的硬件结构示意图。
具体实施方式
图1a至图1c示出了手机100所运行的应用程序进行重命名存储目录的违规操作的场景示意图。
参考图1a所示为包含部分系统存储目录的列表,在手机100运行的某个应用程序出现程序bug导致恶意程序对存储目录列表中的安卓核心目录“/Android/”进行了重命名操作后,当手机100再次处理调用安卓核心目录的相应业务时,会触发手机100的系统新建一个安卓核心目录“/Android/”。
例如,如图1b所示,安卓核心目录“/Android/”2021年06月28日被重命名为“/Android(1)/”。手机100在2021年07月07日处理调用安卓核心目录的相应业务时,触发系统新建安卓核心目录“/Android/”。如此,用户在2021年07月07日新建安卓核心目录/Android/后操作手机100保存的图片则会存储在新建的安卓核心目录/Android/下,而在2021年06月28日重命名安卓核心目录为“/Android(1)/”之前用户操作手机100保存的另一些图片则已存储至重命名后的安卓核心目录“/Android(1)/”中。
当手机100重启后,如果用户操作手机100系统则基于系统接口定向访问的存储目录,会默认打开新建后的目录“/Android/”,此时“/Android/”内无法查询到2021年06月28日重命名安卓核心目录为“/Android(1)/”之前用户操作手机100保存的另一些图片,此时手机100可能会显示图1c所示的界面101,提示图片不存在。
可以理解,上述恶意程序是一个相对概念,在本申请实施例中,手机100所运行的应用程序对所调用/访问的存储目录进行删除或重命名等违规操作时,该应用程序或者该应用程序中的恶意部分则被认为是恶意程序。
为了统一描述用语,对于进行删除或重命名等操作的应用程序下文将统一描述为操作应用,因此上述恶意程序即可以理解为进行了违规操作的操作应用或者该操作应用的恶意部分;对于被操作的存储目录在下文将统一描述为目标存储目录。
为了解决目前无法及时检测到恶意程序对存储目录的违规操作、以及无法在违规操作存储目录后暴露问题时确定进行违规操作的是哪一个应用程序等问题,本申请实施例提供了一种目录操作管理方法。具体地,该方法通过在电子设备的系统中预设需要保护的白名单目录列表,该白名单目录列表中有多个白名单目录。在检测到某个应用程序(以下称操作应用)对目标存储目录的删除或重命名等操作时,该方法可以先确定被操作的目标存储目录与白名单目录列表中的各个白名单目录之间的集合关系、以及确定目标存储目录是否是系统为操作应用创建的存储目录,来确定是否允许操作应用对目标存储目录的操作。
作为示例,当目标存储目录与各个白名单目录均无交集时,可以允许操作应用对目标存储目录的操作;当目标存储目录与某个白名单目录存在交集时,则需进一步确定二者的包含关系,例如目标存储目录为该白名单目录的父目录、或者目标存储目录为该白名单目录的子目录但该目标存储目录不是系统为操作应用创建的存储目录时,则拒绝该应用程序对目标存储目录的操作;当目标存储目录为该白名单目录的子目录且该目标存储目录是系统为操作应用创建的存储目录时,则允许操作应用对目标存储目录的操作等。其中,在电子设备拒绝操作应用对目标存储目录的操作时,可以显示存在可疑操作的提示。
可以理解,在该方法中,电子设备的系统中还可以预设对上述白名单目录也有操作权限的超级应用列表,如果确定上述操作应用为超级应用,则该应用对目标存储目录的所有操作均被允许,即电子设备可以无条件执行超级应用对目标存储目录的删除或重命名等操作,也就是说,超级应用的操作权限可以不受限制。
可以理解,上述超级应用例如可以是对电子设备系统安全负责的手机管家、或者对系统文件具有管理权限的文件浏览器等应用。因此,本申请能够约束一些恶意程序的操作权限,以实现对一些核心目录或重要存储目录的保护,并且本申请能够及时发现并阻止恶意程序的违规操作,还可以提醒用户存在可疑操作;另外,本申请也不影响许各应用程序对自己的私有目录的删除或重命名等操作,本申请还能够在系统定制了一些超级应用时,保障这些超级应用具备对所有存储目录的操作权限。综上,本申请能够实现对目标存储目录进行的删除/重命名等操作的有效管理,利于提高电子设备抗风险的能力。
图2a至图2e根据本申请实施例示出了白名单目录列表、超级应用列表以及一些界面示意图。
如图2a所示,预设的白名单目录列表包括“/Android/”、“/wandoujia/”和“/Pictures/download/”,预设的超级应用列表包括为“手机管家”、“文件浏览器”和“图库”。
如上所述,在一些情形下,手机100可以允许操作应用对目标存储目录的删除或重命名等操作。例如,当手机100检测到“图库应用”在对目标存储目录“/Pictures/download/”进行删除或重命名等操作时,由于“图库应用”为图2a所示的预设的超级应用,因此即便目标存储目录“/Pictures/download/”是白名单目录,手机100也可以允许“图库应用”对“/Pictures/download/”的删除或重命名等操作。
又例如,当手机100检测到图2a所示的超级应用列表以外的应用程序X001对目标存储目录“/wandoujia/”进行删除或重命名操作时,而目标存储目录“/wandoujia/”是图2a所示的预设的白名单目录,此时手机100会进一步获取目标存储目录“/wandoujia/”的UID与应用程序“X001”的UID。如果手机100确定目标存储目录“/wandoujia/”的UID与应用程序“X001”的UID相同,则可以允许应用程序X001对目标存储目录“/wandoujia/”的删除或重命名等操作。
可以理解,在手机100允许操作应用对目标存储目录的操作的情形中,手机100不显示存在可疑操作的提示,参考图2b所示的设置界面210,手机100所显示的设置界面210上不显示存在可疑操作的提示。
如上所述,在另一些情形下,手机100会拒绝操作应用对目标存储目录的删除或重命名等操作。例如,当手机100检测到图2a所示的超级应用列表以外的应用程序X002对目标存储目录“/Pictures/”进行删除或重命名操作时,而“/Pictures/”是图2a所示的预设白名单目录“/Pictures/download/”的父目录,则手机100可以拒绝应用程序X002对目标存储目录“/Pictures/”的删除或重命名等操作。
又例如,当手机100检测到图2a所示的超级应用列表以外的应用程序X003对目标存储目录“/Android/”进行删除或重命名操作时,而“/Android/”是图2a所示的预设的白名单目录,此时手机100会进一步获取目标存储目录“/Android/”的UID与应用程序“X003”的UID。如果手机100确定目标存储目录“/Android/”的UID与应用程序X003的UID不同,则可以拒绝应用程序X003对目标存储目录“/Android/”的删除或重命名等操作。
可以理解,在手机100拒绝操作应用对目标存储目录的操作的情形中,手机100可以显示存在可疑操作的提示,参考图2c所示的设置界面220,手机100所显示的设置界面220上显示有内容为“文件系统可疑操作详情”的可疑操作提示221,该可疑操作提示221例如可以是一个显示控件,用户可以点击该可疑操作提示221查看文件系统可疑操作详情,之后手机100可以显示所检测到的可疑操作(即上述违规操作)的列表,该列表可以参考下文图3所示。
可以理解,在另一些实施例中,手机100拒绝操作应用X对目标存储目录Y的操作时所显示的可疑操作提示也可以体现在其他界面上,例如体现在图2d、图2e所示的控制中心的界面上。
在手机100允许操作应用对目标存储目录的操作的情况下,参考图2d所示的操作①,用户从手机100的屏幕顶部下滑,可以调出图2d所示的控制中心230。
而在手机100拒绝操作应用对目标存储目录的操作的情况下,即手机100拒绝可疑操作时,用户再进行图2d所示的操作①,手机100则可以显示图2e所示的控制中心240。如图2e所示,手机100的控制中心240中显示内容为“发现存在针对文件系统的可疑操作”的风险通知241。用户也可以在图2e所示的控制中心240中点击该风险通知241查看所检测到的可疑操作的列表,该可疑操作列表可以参考下文图3所示。
图3根据本申请实施例示出了手机100显示可疑操作列表的界面示意图。
如图3所示,用户在上述图2c所示的设置界面220上点击该可疑操作提示221、或者在上述图2e所示的控制中心240中点击风险通知241,手机100则可以显示图3所示的可疑操作列表300。该可疑操作列表300中可以向用户展示进行可疑操作(即违规操作)的应用名称,例如图3所示的Test1、Test2、Test3、Test4等,以及各应用程序所进行的可疑操作(即违规操作)类型,例如Test1进行的“重命名系统存储目录”的操作、Test2进行的“删除系统存储目录”、Test3进行的“删除其他应用创建的存储目录”的操作、以及Test4进行的“重命名其他应用创建的存储目录”的操作等。
在另一些实施例中,手机100所显示的可疑操作列表也可以是不同于上述图3所示的可疑操作列表形式,手机100所显示的可疑操作列表中展示的应用数量、可疑操作类型等可以多于或少于图3所示可疑操作列表中的应用数量及可疑操作类型等,在此不做限制。
可以理解,本申请实施例所提供的目录操作管理方法所适用的电子设备,可以包括但不限于手机、平板电脑、桌面型、膝上型、手持计算机、上网本,以及增强现实(Augmented Reality,AR)/虚拟现实(Virtual Reality,VR)设备、智能电视、智能手表、监控设备等具有一个或多个处理器电子设备,在此不做限制。下面继续以电子设备是手机100为例,具体介绍本申请实施例所提供的目录操作管理方法的实现过程。
图4根据本申请实施例示出了一种目录操作管理方法的实施流程示意图。可以理解,图4所示各步骤的执行主体可以是手机100,为避免重复描述,以下对各步骤的执行主体不再重复介绍。
如图4所示,该流程包括以下步骤:
401:检测到操作应用对目标存储目录的删除/重命名等操作。
示例性地,手机100所应用的用户空间文件系统(Filesystem in Userspace,FUSE)可以检测到某个应用程序(即操作应用)调用系统接口对某个存储目录(即目标存储目录)进行删除/重命名等操作。FUSE文件系统在执行相应的删除或重命名操作之前,可以通过调用预设的验证流程对这种操作进行验证。
可以理解,在手机100的系统中,媒体提供者(Media Provider,MP)通常具有对系统中各类存储目录的任意读写权限,因此FUSE文件系统在执行相应的删除或重命名操作之前,可以通过媒体提供者调用删除/重命名等函数方法对目标存储目录进行删除/重命名等操作,进而媒体提供者可以继续执行下述步骤,对将要进行的删除或重命名等操作是否是违规操作,进行校验。具体FUSE文件系统通过媒体提供者调用删除/重命名等函数方法进行删除/重命名等操作的过程,将在下文详细描述,在此不做赘述。
其中,上述操作应用既可以是手机100的系统应用,例如相机、图库、浏览器等,也可以是第三方应用,例如微信等,在此不做限制。
402:获取预设的超级应用列表。
示例性地,手机100在检测到操作应用对目标存储目录的删除/重命名等操作后,可以向系统获取预设的超级应用列表。可以理解,超级应用列表可以通过配置文件、记事本等形式预设在手机100系统中,在本申请实施例中,超级应用列表上的超级应用具有对目标存储目录的特殊操作权限,即无论目标存储目录是否为预设的受保护目录,超级应用均可以对该目标存储目录进行删除/重命名等操作。
图5根据本申请实施例示出了一种超级应用列表示意图。
如图5所示,超级应用列表例如可以通过记事本形式呈现,该列表的标题例如可以是超级应用(Super App)500,在此不做限制。作为示例,图5所示的Super App 500中预设了三个超级应用的应用程序包名,分别是“com.xxx.test.test2”、“com.xxx.test.test3”、“com.xxx.test.test4”,其中test2、test3、test4用于区别不同的应用程序,这些超级应用例如可以是上文中示例的手机管家类、或者对系统文件具有管理权限的文件浏览器类、图库类应用等;在另一些实施例中,超级应用列表中预设的超级应用可以多于或少于图5所示的超级应用数量,在此不做限制。
可以理解,上述手机100获取白名单目录列表的方法,可以参考下文系统交互流程图中的相关描述,在此不做赘述。
403:判断操作应用是否在超级应用列表上。若判断结果为是,则表明操作应用为超级应用,继续执行下述步骤409,允许操作应用对目标存储目录的操作;若判断结果为否,则表明操作应用不是超级应用,继续执行下述步骤404,获取白名单目录列表。
示例性地,手机100可以将获取的超级应用列表上的各个超级应用的应用程序包名、与当前对目标存储目录进行删除/重命名等操作的操作应用的应用程序包名进行匹配,如果能够在超级应用列表上找到与操作应用的应用程序包名相同的超级应用,则表明操作应用在超级应用列表上。其中,超级应用列表上的各个超级应用的应用程序包名可以参考上述图5所示的“com.xxx.test.test2”、“com.xxx.test.test3”或“com.xxx.test.test4”,在此不再赘述。
404:获取预设的白名单目录列表。
示例性地,手机100可以向系统获取预设的白名单目录列表,该白名单目录列表中列出的是预设的需要受到保护的一个或多个存储目录,白名单目录列表中的存储目录以下简称为白名单目录。可以理解,白名单目录列表也可以通过配置文件等显示预设在手机100系统中,其中,白名单目录列表中可以记录各个白名单目录的路径信息,该路径信息例如可以是白名单目录的绝对路径。
图6根据本申请实施例示出了一种白名单目录列表示意图。
如图6所示,白名单目录列表例如可以通过配置文件形式呈现,并且该白名单目录列表中可以录入各个需要保护的存储目录的绝对路径。其中,配置文件上可以将路径前缀相同的绝对路径合并前缀记载,参考图6所示的获取白名单目录路径的起始命令“HNNTH:/storage/emulated/0 # 1s”表示图6所示的各个存储目录的路径前缀为“/storage/emulated/0/”,即图6所示的“ANRSnap”、“Android”、“Download”、“Music”、“Tencent”、“com.hihonor.systemmanager_TMF_TMS”、“ramfs_ext”以及“xDevice”等存储目录的共同路径前缀均为“/storage/emulated/0/”。可以理解,图6所示的末行字符“HNNTH:/storage/emulated/0 #”为获取白名单目录的结束命令,在此不做赘述。
可以理解,上述绝对路径是指存储目录在手机100的存储空间上真正的路径,也可以称之为物理路径或统一资源定位符(Uniform Resource Locator,URL)。参考图6所示,的安卓系统存储目录(Android)的绝对路径表示可以是“/storage/emulated/0/Android/”。
与绝对路径相对的概念是相对路径,相对路径则是指相对与某个基准目录的路径,例如上述绝对路径“/storage/emulated/0/Android/”如果表示为/storage/emulated/0/的相对路径表示,则可以是“/Android/”。
另外,上述手机100获取白名单目录列表的方法,可以参考下文系统交互流程图中的相关描述,在此不做赘述。
405:判断白名单目录列表上是否有与目标存储目录存在交集的白名单目录。若判断结果为是,则表明目标存储目录可能是受保护的白名单目录,须进一步执行下述步骤406,进一步确定目标存储目录与存在交集的白名单目录之间的关系;若判断结果为否,则可以确定目标存储目录不会是受保护的白名单目录,则可以执行下述步骤409,允许操作应用对该目标存储目录的删除/重命名等操作。
示例性地,手机100在上述步骤401中检测到对目标存储目录的操作时,所获取的目标存储目录的路径信息通常是相对路径表示,因此,在将目标存储目录的相对路径表示与获取的白名单目录列表中可以记录各个白名单目录的绝对路径进行比较之前,可以先补齐目标存储路径的绝对路径。参考上述步骤404中关于绝对路径与相对路径的描述,可以理解,对于某个以相对路径表示的存储目录可以通过补齐路径前缀的方式,来补齐该存储目录的绝对路径,例如相对路径“/Android/”补齐路径前缀之后,则可以是“/storage/emulated/0/Android/”。
补齐目标存储目录的绝对路径后,手机100可以基于补齐的目标存储目录的绝对路径,与上述步骤404中获取的白名单目录列表中各个白名单目录的绝对路径进行比较,例如通过预设的交集算法计算交集结果。如果白名单目录列表中存在与目标存储目录的绝对路径有交集的白名单目录,则表明目标存储目录可能是受保护的白名单目录,须进一步执行下述步骤406至408,进一步确定目标存储目录与存在交集的白名单目录之间的关系。如果白名单目录列表中不存在与目标存储目录的绝对路径有交集的白名单目录,则可以确定该目标存储目录不是受保护的白名单目录,手机100可以响应于所检测到的操作,并执行操作应用对该目标存储目录的删除/重命名等操作。
406:确定目标存储目录是有交集的白名单目录的父目录或子目录。若确定目标存储目录是有交集的白名单目录的父目录,则执行下述步骤411,拒绝操作应用对目标存储目录的操作;若确定目标存储目录是有交集的白名单目录的子目录,则执行下述步骤407,进一步确定操作应用的UID与目标存储目录的UID是否相同。
示例性地,手机100在比较目标存储目录的绝对路径与白名单目录列表中各个白名单目录的绝对路径时,可以通过预设的交集算法,逐个计算目标存储目录的绝对路径与白名单目录列表中各个白名单目录的绝对路径之间的交集关系。如果确定目标存储目录是有交集的白名单目录的父目录,则相应地该白名单目录为目标存储目录的子目录,一旦允许操作应用对目标存储目录的删除或重命名等操作,则会导致作为子目录的该白名单目录也被删除或重命名,因此,这种情形下,须执行下述步骤411,拒绝操作应用对目标存储目录的删除/重命名等操作;如果确定目标存储目录是有交集的白名单目录的子目录,则可以进一步执行下述步骤407获取操作应用的UID以及目标存储目录的UID继续执行判断,是否为系统为该操作应用创建的存储目录,即进一步确认操作应用所操作的目标存储目录。
可以理解,如果目标存储目录是有交集的白名单目录是同一目录,手机100也可以继续执行下述步骤407,进一步确认该目标存储目录是否为系统为该操作应用创建的存储目录。
可以理解,预设的白名单目录列表中,也可以对某个白名单目录子目录的设置操作权限。参考图7所示,对于白名单目录“/Android/”的子目录“/Android/test1/”例如可以设置禁止操作项目包括“缺省:1(删除)2(重命名)”,即禁止对目录“/Android/test1/”进行删除或重命名操作。其中“缺省”是一种计算机术语,指未经其他任何指令更改,程序或系统默认的(设置),即缺省等同于默认。因此,“缺省:1(删除)2(重命名)”还表示默认“1”代表删除操作,默认“2”代表重命名操作。
继续如图7所示,对于白名单目录“/Android/”的子目录“/test2/”例如可以设置禁止操作项目为“1”,即表示禁止对“/Android/test2/”进行删除操作;对子目录“/test3/”和子目录“/test4/”均设置禁止操作项目为“2”,即禁止对“/Android/test3/”以及“/Android/test4/”进行重命名操作。其中,子目录为“/test2/”、“/test3/”是相对路径,相应的绝对路径表示可以是“/Android/test2/”、“/Android/test3/”。
上述图7所示的扩展检测相关内容,将在下文相应步骤中详细描述,在此不做赘述。
407:获取操作应用的UID以及目标存储目录的UID,判断二者是否相同。若判断结果为是,则表明目标存储目录可能是系统为操作应用创建的存储目录,须执行下述步骤408进行进一步确认;若判断结果为否,则表明目标存储目录不可能是系统为操作应用创建的存储目录,可以执行下述步骤411,拒绝操作应用对目标存储目录的操作。
示例性地,手机100执行上述步骤406如果确定目标存储目录是有交集的白名单目录的子目录,则须进一步确定操作应用与被操作的目标存储目录之间的关联关系,手机100可以获取操作应用的UID以及目标存储目录的UID,进而基于UID来判别被操作的目标存储目录是否是系统为操作应用创建的存储目录。作为示例,手机100可以通过预设的相似度算法或者其他可以确认操作应用的UID与目标存储目录的UID是否相同的算法来判断二者是否相同。其中,获取操作应用的UID以及目标存储目录的UID的方法,可以参考下文系统交互流程图中的相关描述,在此不做赘述。
可以理解,手机100上运行的应用程序通过调用系统接口访问FUSE文件系统请求对目标存储目录进行删除/重命名等操作时,FUSE文件系统可以通过调用手机100媒体提供者来调用删除或重命名等操作方法来实现。此种情形下,手机100的系统会记录媒体提供者的UID作为操作应用的UID,因此会存在手机100获取的操作应用的UID实际上是媒体提供者的UID,而不是通过媒体提供者调用方法对存储目录进行操作的应用程序的UID。而媒体提供者作为手机100系统上的公共服务,可以执行各种应用程序对目标操作目录的操作。因此,当操作应用的UID以及目标存储目录的UID相同时,还需要对目标存储目录进行扩展检测,检测目标存储目录是否包含操作应用的应用程序包名,来确定目标存储目录是不是系统为操作应用创建的存储目录,即执行下述步骤408。
408:扩展检测目标存储目录是否包含操作应用的应用程序包名。若判断结果为是,则可以确定目标存储目录是系统为操作应用创建的存储目录,可以执行下述步骤409;若判断结果为否,则可以确定目标存储目录不是系统为操作应用创建的存储目录,可执行下述步骤410。
示例性地,为了进一步确认目标存储目录是不是系统为操作应用创建的存储目录,手机100可以对目标存储目录进行扩展检测,例如检测目标存储目录是否包含操作应用的应用程序包名。可以理解,本步骤408是在上述步骤406和407之后执行的,即手机100执行本步骤时,已经确定目标存储目录为白名单目录的子目录。因此,手机100对目标存储目录的扩展检测,即使对白名单目录的子目录进行扩展检测。如果手机100系统中设定某个白名单目录的子目录不允许扩展检测,则手机100可以不执行本步骤408,直接执行下述步骤409。
可以理解,手机100是否可以对目标存储目录进行扩展检测,还可以基于系统对白名单子目录预设的扩展检测权限进行扩展检测。参考上述图7所示,手机100的系统中可以预设对一些白名单目录的子目录允许进行扩展检测(即允许包名检测),例如图7所示的白名单目录的子目录“/Android/test1/”以及“/test3/”;系统也可以预设对另一些白名单目录的子目录不允许进行扩展检测,例如图7所示的“/test2/”以及“/test4/”,在此不做限制。
409:允许操作应用对目标存储目录的删除/重命名等操作,不记录系统日志。
示例性地,手机100例如可以通过向调用对目标存储目录的删除/重命名等方法的指令反馈允许调用的返回值,例如下文描述的返回值“0”,来允许操作应用对目标存储目录的删除/重命名等操作,具体可以参考下文系统交互流程图中的相关描述,在此不做赘述。
可以理解,在上述步骤403的判断结果为是。以及上述步骤405的判断结果为否时执行本步骤,这两种情形下,手机100均可以确定操作应用对目标存储目录的操作为合法操作,或者说是系统默认允许的操作,这两种情形下允许的对目标存储目录的操作手机100系统可以不记录系统日志。
410:允许操作应用对目标存储目录的删除/重命名等操作,记录系统日志。
示例性地,如上所述,手机100例如可以通过向调用对目标存储目录的删除/重命名等方法的指令反馈允许调用的返回值,例如下文描述的“返回值0”,来允许操作应用对目标存储目录的删除/重命名等操作。可以理解,此时手机100可以确定目标存储目录可能是系统为操作应用创建的存储目录,因此操作应用对目标存储目录的操作是可以允许的合理操作,此时手机100则可以允许操作应用对目标存储目录的操作,但系统可以记录日志,以便于后期在手机100响应用户操作出现问题时查询操作应用相关信息。作为示例,手机100可以在向调用对目标存储目录的删除/重命名等方法的指令反馈返回值的同时,发送记录系统日志的指令,或者调用触发器记录系统日志。
411:拒绝操作应用对目标存储目录的删除/重命名等操作,并提示存在可疑操作。
示例性地,手机100例如可以通过向调用对目标存储目录的删除/重命名等方法的指令反馈允许调用的返回值,例如下文描述的返回值“1”,来拒绝操作应用对目标存储目录的删除/重命名等操作,具体可以参考下文系统交互流程图中的相关描述,在此不做赘述。可以理解,手机100在执行了上述步骤406或407后,执行本步骤411,表明此时手机100可以将操作应用对目标存储目录的删除/重命名等操作视为可疑操作,因此手机100在拒绝操作应用对目标存储目录的删除/重命名等操作的同时,可以提示用户存在可疑操作。作为示例,手机100可以将拒绝操作的返回值生成指令发送给系统的通知管理器,以使系统在控制中心或设置应用的界面显示存在可以操作的通知或提示信息,提示界面可以参考上述图2c或图2e所示界面,手机100通过通知管理器向用户界面显示可疑操作通知的具体过程,可以参考下文系统交互流程图中的相关描述,在此不做赘述。
可以理解,手机100可以通过实施上述步骤401至411实现对目录操作的管理,即对于操作应用对目标存储目录的删除或重命名等操作进行管理,如果该操作是操作应用的合理操作(例如对属于操作应用自身的存储目录的操作)、或者该操作是系统授权的操作(例如超级应用作为操作应用执行的操作)时,手机100可以允许该操作,并且执行该操作完成对目标存储目录的删除或重命名等;如果该操作可能是违规操作或者是有问题的操作,例如被操作的目标存储目录是系统预设的白名单目录的父目录、或者被操作的目标存储目录的UID与操作应用的UID不同时,手机100可以拒绝该操作,并提示用户存在可疑操作。而对于具有潜在风险的操作,例如被操作的目标存储目录与操作应用的UID相同但该目标存储目录不包含操作应用的应用程序包名时,手机100可以允许该操作,但可以记录系统日志来备份此次操作的操作应用信息,以便后续手机100出现被访问的存储目录中不存在用户保存的图片、文件等问题时查询。
为了更加清楚的理解本申请方案的具体实现过程,下面结合手机100的系统软件结构以及手机100系统中各结构之间的交互流程来做进一步阐述。
图8是本发明实施例的手机100的系统软件架构示意框图。
手机100的软件系统可以采用分层架构,事件驱动架构,微核架构,微服务架构,或云架构。本发明实施例以分层架构的Android系统为例,示例性说明手机100的软件结构。
分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,将Android系统分为四层,从上至下分别为应用程序层,应用程序框架层,安卓运行时(Android runtime)和系统库,以及内核层。
如图8所示,应用程序层可以包括一系列应用程序包。应用程序包可以包括相机,图库,微信,浏览器,地图,导航,WLAN,蓝牙,音乐,视频,短信息等应用程序。
应用程序框架层为应用程序层的应用程序提供应用编程接口(ApplicationProgramming Interface,API)和编程框架。应用程序框架层包括一些预先定义的函数。
如图8所示,应用程序框架层可以包括媒体提供者(MP),存储管理服务(StorageManager Service,SMS),包管理服务(PackageManagerService,PMS),通知管理器,视图系统等。
媒体提供者又称多媒体数据库,Android MediaProvider使用SQLite数据库存储图片、视频、音频、文档等多媒体文件的信息,供视频播放器、音乐播放器、图库、文档编辑器使用。Android上其他应用获取图片等多媒体文件的存储目录时进行删除或重命名操作时,可以通过Media Provider来读取。
存储管理服务用于管理系统内存,在对系统内存上的各个存储目录进行读取或存储时,可以向存储管理服务申请获取相应的读取权限。
包管理服务主要负责扫描系统中指定目录,找出里面以apk结尾的文件,通过对这些文件进行解析,得到应用程序的所有信息并完成应用程序的安装过程。PMS主要解析apk的AndroidManifest文件里面的所有信息,包括应用程序组件Activity/Service/BroadcastReceiver/Media Provider等信息,这些信息非常有用,提供给其他服务使用。在本申请实施例中,媒体提供者可以通过包管理服务获取预设的超级应用列表以及白名单目录列表。
通知管理器使应用程序可以在状态栏中显示通知信息,可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互。比如通知管理器被用于告知下载完成,消息提醒等。通知管理器还可以是以图表或者滚动条文本形式出现在系统顶部状态栏的通知,例如后台运行的应用程序的通知,还可以是以对话窗口形式出现在屏幕上的通知。例如在状态栏提示文本信息,发出提示音,电子设备振动,指示灯闪烁等。
内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问。该数据可以包括视频,图像,音频,拨打和接听的电话,浏览历史和书签,电话簿等。视图系统包括可视控件,例如显示文字的控件,显示图片的控件等。视图系统可用于构建应用程序。显示界面可以由一个或多个视图组成的。例如,包括短信通知图标的显示界面,可以包括显示文字的视图以及显示图片的视图。
Android Runtime包括核心库和虚拟机。Android runtime负责安卓系统的调度和管理。
核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是安卓的核心库。
应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。
系统库可以包括多个功能模块。例如:表面管理器(surface manager),三维图形处理库(例如:OpenGL ES),2D图形引擎(例如:SGL),媒体库(Media Libraries),以及用户空间文件系统(Filesystem in Userspace,FUSE)等。
表面管理器用于对显示子系统进行管理,并且为多个应用程序提供了2D和3D图层的融合。
三维图形处理库用于实现三维图形绘图,图像渲染,合成,和图层处理等。2D图形引擎是2D绘图的绘图引擎。
媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库可以支持多种音视频编码格式,例如: MPEG4,H.264,MP3,AAC,AMR,JPG,PNG等。
FUSE是一种虚拟文件系统(Virtual File Systems,VFS),FUSE实现了一个对文件系统访问的回调。FUSE分为内核态的模块和用户态的库两部分。其中用户态的库为程序开发提供接口,也是实际开发时使用的接口,通过这些接口可以将请求处理功能注册到fuse中,例如删除或重命名某个存储目录的请求处理功能。内核态模块是具体的数据流程的功能实现,它截获文件的访问请求,然后调用用户态注册的函数进行处理。在本申请实施例中,操作应用通过系统某个路径挂载的FUSE,该FUSE上的目标存储目录并对存储目录进行删除或重命名等操作时,操作请求会经过VFS到FUSE的内核态模块,FUSE内核态模块则根据请求类型,调用操作应用注册的函数,通过VFS访问内核层文件系统进行处理,然后将处理结果通过VFS返回给系统调用。其中,在调用操作应用注册的函数,通过VFS访问内核层文件系统进行处理之前,系统须先进行FUSE校验,即上述步骤401至411所描述的FUSE校验过程,在此不再赘述。
内核层是硬件和软件之间的层。内核层至少包含显示驱动,摄像头驱动,触控驱动,f2fs文件系统以及文件系统驱动等。其中f2fs文件系统即为与上述FUSE等虚拟文件系统进行交互实现对相应文件或存储目录的处理的内核层文件系统。
可以理解,上述图4所示流程的步骤401至411的执行过程主要是对虚拟文件系统中的FUSE校验过程,因此在下文的相关描述中,图4所示流程也可以称之为FUSE校验过程,该FUSE校验过程主要包括步骤402至408;上述步骤401可以理解为检测到相应操作,启动FUSE校验过程的步骤;步骤409至411则可以理解为FUSE校验过程的校验结果。
基于图8所示的手机100的系统软件架构,下面结合系统内各结构之间的交互流程图来介绍本申请实施例所提供的目录操作管理方法的详细实施过程。
图9根据本申请实施例分别示出了实施目录操作管理方法的一种交互流程示意图。如图9所示,实施目录操作管理方法的过程可以涉及应用程序层的执行删除或重命名等操作的操作应用810,例如可以是上文中示例的相机、图库、微信、浏览器等应用程序;还涉及应用程序框架层的媒体提供者821、存储管理服务822、包管理服务823以及通知管理器824;还涉及系统库的虚拟文件系统830,虚拟文件系统830包括FUSE文件系统831;还涉及内核层的f2fs文件系统840等。
具体地,如图9所示,该交互流程包括:
901:媒体提供者821调用函数发起删除或重命名等操作。
示例性地,操作应用810通过调用系统接口调用系统库的FUSE文件系统831对目标存储目录进行删除或重命名操作时,FUSE文件系统831可以在接收到操作应用810的上述调用请求后,通过调用应用框架层的媒体提供者821来实现对目标存储目录的删除或重命名操作的验证过程,然后在验证成功的情况下,媒体提供者821再调用虚拟文件系统830执行相应的删除或重命名等操作。上述调用系统接口例如可以是JavaAPI。被FUSE文件系统831调用的媒体提供者821例如可以通过调用模块调用公共函数方法来发起对目标存储目录的删除或重命名等操作,其中发起删除操作调用的公共函数例如可以是“public intdeleteFileForFuse(@NonNull String path, int uid);”,发起重命名操作调用的公共函数例如可以是“public int renameForFuse(String oldPath, String newPath, intuid);”。可以理解,在另一些实施例中,手机100系统内也可以通过其他调用过程来响应操作应用810对目标存储目录的操作,发起执行图9所示各步骤的过程等,在此不做限制。
902:媒体提供者821向存储管理服务822请求对被操作的目标存储目录进行有效性校验。有效性校验完成后触发下述步骤903至909的FUSE校验过程。
示例性地,媒体提供者821可以通过预设的调用函数向存储管理服务822请求对被操作的目标存储目录进行有效性校验,该调用函数例如可以是“getExternalStorageMountMode(uid, packageName);”存储管理服务822被调用的校验功能可以对被操作的目标存储目录进行有效性校验,例如校验目标存储目录的路径是否有效等。存储管理服务822完成对目标存储目录的有效性校验后,可以向媒体提供者821返回(return)校验结果。媒体提供者821接受到存储管理服务822返回的校验结果,确认目标存储目录的有效性之后,可以触发下述步骤903至909的FUSE校验过程,例如媒体提供者821可以通过调用函数“public int checkProtectDic(uid,path,packageName)”获取用于执行下述步骤903至909过程的检查保护模块(checkProtectDic)来触发进行FUSE校验过程,在此不做限制。
可以理解,上述步骤901至902可以相当于上述图4所示流程中的步骤401,即“检测到操作应用810对目标存储目录的删除/重命名等操作”的过程。
903:媒体提供者821向包管理服务823请求获取预设的超级应用列表。
示例性地,媒体提供者821例如可以通过获取的检查保护模块(checkProtectDic)调用函数getSuperApp()向包管理服务823请求获取预设的超级应用列表,如上所述,包管理服务823上可以预设(也可以称为定制)具有不受限制的操作权限的超级应用,包管理服务823基于请求向媒体提供者821返回(return)超级应用列表,即超级应用列表。关于预设的超级应用列表的描述可以参考上述步骤402中相关描述,在此不再赘述。
904:媒体提供者821判断操作应用是否在超级应用列表上。若判断结果为是,则向媒体提供者821中执行上述步骤901调用函数发起删除或重命名等操作的调用模块返回“0”,表示校验成功、允许操作应用810对该目标存储目录的删除/重命名等操作;若判断结果为否,则继续执行下述步骤905,获取白名单目录列表。
示例性地,媒体提供者821例如可以通过获取的检查保护模块(checkProtectDic)来执行本步骤904的“判断操作应用是否在超级应用列表上”的过程,其中具体判断过程可以参考上述步骤403中相关描述,在此不再赘述。
905:媒体提供者821向包管理服务823请求获取预设的白名单目录列表。
示例性地,媒体提供者821例如可以通过获取的检查保护模块(checkProtectDic)调用函数getProtectDic()向包管理服务823请求获取预设的受保护的存储目录,即白名单目录列表。关于预设的白名单目录列表的描述可以参考上述步骤404中相关描述,在此不再赘述。
906:媒体提供者821判断白名单目录列表上是否有与目标存储目录的绝对路径存在交集的白名单目录。若判断结果为是,则继续执行下述步骤907,进一步确定目标存储目录与存在交集的白名单目录之间的关系;若判断结果为否,则向媒体提供者821中执行上述步骤901调用函数发起删除或重命名等操作的调用模块返回“0”,表示校验成功,允许操作应用810对该目标存储目录的删除/重命名等操作。
示例性地,媒体提供者821例如可以通过获取的检查保护模块(checkProtectDic)来“补齐目标存储目录的绝对路径”的过程,具体可以参考上述步骤405中相关描述,在此不再赘述。之后,媒体提供者821通过获取的检查保护模块(checkProtectDic)来执行“判断白名单目录列表上是否有与目标存储目录的绝对路径存在交集的白名单目录”的过程,具体可以参考上述步骤405中相关描述,在此不再赘述。
907:媒体提供者821确定目标存储目录是有交集的白名单目录的父目录或子目录。若确定目标存储目录是有交集的白名单目录的父目录,则向媒体提供者821中执行上述步骤901调用函数发起删除或重命名等操作的调用模块返回“1”,表示校验失败,拒绝操作应用810对该目标存储目录的删除/重命名等操作;若确定目标存储目录是有交集的白名单目录的子目录,则继续执行下述步骤908,进一步确定操作应用810的UID与目标存储目录的UID是否相同。
示例性地,媒体提供者821例如可以通过获取的检查保护模块(checkProtectDic)来执行本步骤907的“确定目标存储目录是有交集的白名单目录的父目录或子目录”具体可以参考上述步骤406中相关描述,在此不再赘述。
908:媒体提供者821获取操作应用的UID以及目标存储目录的UID,判断二者是否相同。若判断结果为是,则继续执行下述步骤909的扩展检测;若判断结果为否,则向媒体提供者821中执行上述步骤901调用函数发起删除或重命名等操作的调用模块返回“1”,表示校验失败,拒绝操作应用810对目标存储目录的操作。
示例性地,媒体提供者821例如可以通过获取的检查保护模块(checkProtectDic)调用android/system/Os.java中stat(String path)方法,来执行本步骤908的“获取操作应用的UID以及目标存储目录的UID,判断二者是否相同”的过程,具体可以参考上述步骤407中相关描述,在此不再赘述。
909:媒体提供者821扩展检测目标存储目录是否包含操作应用810的应用程序包名。若判断结果为是,则向媒体提供者821中执行上述步骤901调用函数发起删除或重命名等操作的调用模块返回“0”,表示校验成功,允许操作应用810对该目标存储目录的操作;若判断结果为否,则向媒体提供者821中执行上述步骤901调用函数发起删除或重命名等操作的调用模块返回“0”和记录系统日志的指令,表示校验成功,允许操作应用810对该目标存储目录的操作,但该操作有潜在风险,须记录系统日志。
示例性地,媒体提供者821例如可以通过获取的检查保护模块(checkProtectDic)对于允许扩展检测的白名单目录的子目录进行扩展检测,即来执行本步骤909的“扩展检测目标存储目录是否包含操作应用的应用程序包名”的过程,具体可以参考上述步骤408中相关描述,在此不再赘述。
910:媒体提供者821接受到的校验结果为拒绝操作时,则通过通知管理器824,请求在用户界面上显示有可疑操作的通知。
示例性地,媒体提供者821在接受到检查保护模块(checkProtectDic)返回的校验结果值为1,即拒绝操作应用810对目标存储目录的删除或重命名等操作时,可以通过通知管理器824,向应用程序层的系统用户界面(SystemUI)反馈需要显示的可疑操作通知,该SystemUI例如可以调用系统的绘制渲染进程等显示该可疑操作通知。其中,该SystemUI例如可以是手机100屏幕显示的控制中心、设置应用的界面或状态栏等,在此不做限制。
媒体提供者821基于上述步骤901至909所描述的FUSE校验过程中所返回表示校验结果的值,即返回“0”表示“校验成功允许操作”、返回“1”表示“校验失败拒绝操作”,确定是否执行操作应用810对目标存储目录的操作。当媒体提供者821接收到的返回值为“0”时,则调用操作应用注册的函数通过虚拟文件系统830访问内核层的f2fs文件系统840,实现对目标存储目录的删除或重命名等操作。f2fs文件系统840内完成对目标存储目录的删除或重命名等操作后,可以向虚拟文件系统830反馈操作结果,在此不做赘述。
在另一些实施例中,本申请实施例所提供的目录操作管理方法的实施过程中,手机100系统内各结构之间的交互流程也可以是其他形式,例如下文图10所示的交互流程形式等,在此不做限制。
作为示例,图10根据本申请实施例分别示出了实施目录操作管理方法的一种交互流程示意图。如图10所示,交互流程所涉及的执行主体与图9所示交互流程相同,包括操作应用810、媒体提供者821、存储管理服务822、包管理服务823、通知管理器824、虚拟文件系统830(包括FUSE文件系统831)以及f2fs文件系统840等。
具体地,与上述图9所示交互流程相比,图10所示交互流程中:
步骤1001至1002于上述步骤901至902相同,在此不再赘述。
步骤1002之后,媒体提供者821可以向存储管理服务822请求进行FUSE校验过程,存储管理服务822基于请求,通过调用函数“public int checkProtectDic(uid,path,packageName)”获取用于执行步骤1003至1009过程的检查保护模块(checkProtectDic)来触发进行FUSE校验过程。
步骤1003至1009与上述步骤903至909的区别仅在于使用检查保护模块(checkProtectDic)进行FUSE校验过程的服务主体不同,使用检查保护模块(checkProtectDic)执行步骤1003至1009的服务主体为存储管理服务822。
如此,可以理解,检查保护模块执行完步骤1004/1006/1007/1008/1009之后,可以向存储管理服务822返回校验结果的返回值,存储管理服务822再将返回值反馈给媒体提供者821进行相应处理,在此不再赘述。
媒体提供者821基于返回值“0”调用操作应用注册的函数通过虚拟文件系统830访问内核层的f2fs文件系统840,实现对目标存储目录的删除或重命名等操作。f2fs文件系统840内完成对目标存储目录的删除或重命名等操作后,可以向虚拟文件系统830反馈操作结果,在此不做赘述。
媒体提供者821在接受到的校验结果返回值为“1”时,即校验结果为拒绝操作时,可以执行步骤1010,通过通知管理器824,请求在用户界面上显示有可疑操作的通知,具体可以参考上述步骤910的具体实施过程,在此不再赘述。
图11示出了根据实施例的手机100的硬件结构示意图。
如图11所示,手机100可以包括处理器110,外部存储器接口120,内部存储器121,通用串行总线(universal serial bus,USB)接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,传感器模块180,按键190,马达191,指示器192,摄像头193,显示屏194,以及用户标识模块(subscriber identification module,SIM)卡接口195等。其中传感器模块180可以包括压力传感器180A,陀螺仪传感器180B,气压传感器180C,磁传感器180D,加速度传感器180E,距离传感器180F,接近光传感器180G,指纹传感器180H,温度传感器180J,触摸传感器180K,环境光传感器180L,骨传导传感器180M等。
可以理解的是,本发明实施例示意的结构并不构成对手机100的具体限定。在本申请另一些实施例中,手机100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。在本申请实施例中,处理器110可以通过控制器产生控制信号,完成对实施本申请实施例提供的目录操作管理方法的指令的读取和执行的控制。
处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从上述存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。
在一些实施例中,处理器110可以包括一个或多个接口。接口可以包括集成电路(inter-integrated circuit,I2C)接口,集成电路内置音频(inter-integrated circuitsound,I2S)接口,脉冲编码调制(pulse code modulation,PCM)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口,移动产业处理器接口(mobile industry processor interface,MIPI),通用输入输出(general-purposeinput/output,GPIO)接口,用户标识模块(subscriber identity module,SIM)接口,和/或通用串行总线(universal serial bus,USB)接口等。
I2C接口是一种双向同步串行总线,包括一根串行数据线(serial data line,SDA)和一根串行时钟线(derail clock line,SCL)。在一些实施例中,处理器110可以包含多组I2C总线。处理器110可以通过不同的I2C总线接口分别耦合触摸传感器180K,充电器,闪光灯,摄像头193等。例如:处理器110可以通过I2C接口耦合触摸传感器180K,使处理器110与触摸传感器180K通过I2C总线接口通信,实现手机100的触摸功能。
I2S接口可以用于音频通信。在一些实施例中,处理器110可以包含多组I2S总线。处理器110可以通过I2S总线与音频模块170耦合,实现处理器110与音频模块170之间的通信。在一些实施例中,音频模块170可以通过I2S接口向无线通信模块160传递音频信号,实现通过蓝牙耳机接听电话的功能。
PCM接口也可以用于音频通信,将模拟信号抽样,量化和编码。在一些实施例中,音频模块170与无线通信模块160可以通过PCM总线接口耦合。在一些实施例中,音频模块170也可以通过PCM接口向无线通信模块160传递音频信号,实现通过蓝牙耳机接听电话的功能。上述I2S接口和上述PCM接口都可以用于音频通信。
UART接口是一种通用串行数据总线,用于异步通信。该总线可以为双向通信总线。它将要传输的数据在串行通信与并行通信之间转换。在一些实施例中,UART接口通常被用于连接处理器110与无线通信模块160。例如:处理器110通过UART接口与无线通信模块160中的蓝牙模块通信,实现蓝牙功能。在一些实施例中,音频模块170可以通过UART接口向无线通信模块160传递音频信号,实现通过蓝牙耳机播放音乐的功能。
MIPI接口可以被用于连接处理器110与显示屏194,摄像头193等外围器件。MIPI接口包括摄像头串行接口(camera serial interface,CSI),显示屏串行接口(displayserial interface,DSI)等。在一些实施例中,处理器110和摄像头193通过CSI接口通信,实现手机100的拍摄功能。处理器110和显示屏194通过DSI接口通信,实现手机100的显示功能。
GPIO接口可以通过软件配置。GPIO接口可以被配置为控制信号,也可被配置为数据信号。在一些实施例中,GPIO接口可以用于连接处理器110与摄像头193,显示屏194,无线通信模块160,音频模块170,传感器模块180等。GPIO接口还可以被配置为I2C接口,I2S接口,UART接口,MIPI接口等。
USB接口130是符合USB标准规范的接口,具体可以是Mini USB接口,Micro USB接口,USB Type C接口等。USB接口130可以用于连接充电器为手机100充电,也可以用于手机100与外围设备之间传输数据。也可以用于连接耳机,通过耳机播放音频。该接口还可以用于连接其他电子设备,例如AR设备等。
可以理解的是,本发明实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对手机100的结构限定。在本申请另一些实施例中,手机100也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
充电管理模块140用于从充电器接收充电输入。电源管理模块141用于连接电池142,充电管理模块140与处理器110。电源管理模块141接收电池142和/或充电管理模块140的输入,为处理器110,内部存储器121,显示屏194,摄像头193,和无线通信模块160等供电。
手机100的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。
其中移动通信模块150可以提供应用在手机100上的包括2G/3G/4G/5G等无线通信的解决方案。无线通信模块160可以提供应用在手机100上的包括无线局域网(wirelesslocal area networks,WLAN)(如无线保真(wireless fidelity,Wi-Fi)网络),蓝牙(bluetooth,BT),全球导航卫星系统(global navigation satellite system,GNSS),调频(frequency modulation,FM),近距离无线通信技术(near field communication,NFC),红外技术(infrared,IR)等无线通信的解决方案。
在一些实施例中,手机100的天线1和移动通信模块150耦合,天线2和无线通信模块160耦合,使得手机100可以通过无线通信技术与网络以及其他设备通信。
手机100通过GPU,显示屏194,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏194和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示屏194用于显示图像,视频、通知信息等。显示屏194包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD),有机发光二极管(organic light-emitting diode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrix organic light emitting diode的,AMOLED),柔性发光二极管(flex light-emitting diode,FLED),Mini-LED,Micro-LED,Micro-OLED,量子点发光二极管(quantumdot light emitting diodes,QLED)等。在一些实施例中,手机100可以包括1个或N个显示屏194,N为大于1的正整数。在本申请实施例中,手机100可以通过显示屏194显示提示可疑操作的通知。例如在设置应用的界面上显示通知或者在控制中心上显示通知等。
手机100可以通过ISP,摄像头193,视频编解码器,GPU,显示屏194以及应用处理器等实现拍摄功能。
ISP用于处理摄像头193反馈的数据。例如,拍照时,打开快门,光线通过镜头被传递到摄像头感光元件上,光信号转换为电信号,摄像头感光元件将该电信号传递给ISP处理,转化为肉眼可见的图像。在一些实施例中,ISP可以设置在摄像头193中。
摄像头193用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,CCD)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,CMOS)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给ISP转换成数字图像信号。ISP将数字图像信号输出到DSP加工处理。DSP将数字图像信号转换成标准的RGB,YUV等格式的图像信号。在一些实施例中,手机100可以包括1个或N个摄像头193,N为大于1的正整数。
数字信号处理器用于处理数字信号,除了可以处理数字图像信号,还可以处理其他数字信号。例如,当手机100在频点选择时,数字信号处理器用于对频点能量进行傅里叶变换等。
外部存储器接口120可以用于连接外部存储卡,例如Micro SD卡,实现扩展手机100的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。在本申请实施例中,操作应用操作的目标存储目录在手机100的外部存储卡中可以映射有对应的存储目录,在此不做赘述。
内部存储器121可以用于存储计算机可执行程序代码,该可执行程序代码包括指令。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储手机100使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。处理器110通过运行存储在内部存储器121的指令,和/或存储在设置于处理器中的存储器的指令,执行手机100的各种功能应用以及数据处理。在本申请实施例中,上述检查保护模块的可执行程序代码以及实施目录操作管理方法的指令可以存储在手机100的内部存储器121内,处理器110通过运行内部存储器121的指令,来实施本申请实施例提供的目录操作管理方法。
手机100可以通过音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,以及应用处理器等实现音频功能。例如音乐播放,录音等。
音频模块170用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。扬声器170A,也称“喇叭”,用于将音频电信号转换为声音信号。受话器170B,也称“听筒”,用于将音频电信号转换成声音信号。麦克风170C,也称“话筒”,“传声器”,用于将声音信号转换为电信号。
指纹传感器180H用于采集指纹。手机100可以利用采集的指纹特性实现指纹解锁,访问应用锁,指纹拍照,指纹接听来电等。
触摸传感器180K,也称“触控器件”。触摸传感器180K可以设置于显示屏194,由触摸传感器180K与显示屏194组成触摸屏,也称“触控屏”。触摸传感器180K用于检测作用于其上或附近的触摸操作。触摸传感器可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型。可以通过显示屏194提供与触摸操作相关的视觉输出。在另一些实施例中,触摸传感器180K也可以设置于手机100的表面,与显示屏194所处的位置不同。
按键190包括开机键,音量键等。按键190可以是机械按键。也可以是触摸式按键。手机100可以接收按键输入,产生与手机100的用户设置以及功能控制有关的键信号输入。
马达191可以产生振动提示。马达191可以用于来电振动提示,也可以用于触摸振动反馈。例如,作用于不同应用(例如拍照,音频播放等)的触摸操作,可以对应不同的振动反馈效果。作用于显示屏194不同区域的触摸操作,马达191也可对应不同的振动反馈效果。不同的应用场景(例如:时间提醒,接收信息,闹钟,游戏等)也可以对应不同的振动反馈效果。触摸振动反馈效果还可以支持自定义。
指示器192可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。
SIM卡接口195用于连接SIM卡。SIM卡可以通过插入SIM卡接口195,或从SIM卡接口195拔出,实现和手机100的接触和分离。手机100可以支持1个或N个SIM卡接口,N为大于1的正整数。SIM卡接口195可以支持Nano SIM卡,Micro SIM卡,SIM卡等。同一个SIM卡接口195可以同时插入多张卡。上述多张卡的类型可以相同,也可以不同。SIM卡接口195也可以兼容不同类型的SIM卡。SIM卡接口195也可以兼容外部存储卡。手机100通过SIM卡和网络交互,实现通话以及数据通信等功能。在一些实施例中,手机100采用eSIM,即:嵌入式SIM卡。eSIM卡可以嵌在手机100中,不能和手机100分离。
在说明书对“一个实施例”或“实施例”的引用意指结合实施例所描述的具体特征、结构或特性被包括在根据本申请实施例公开的至少一个范例实施方案或技术中。说明书中的各个地方的短语“在一个实施例中”的出现不一定全部指代同一个实施例。
本申请实施例的公开还涉及用于执行文本中的操作装置。该装置可以专门处于所要求的目的而构造或者其可以包括被存储在计算机中的计算机程序选择性地激活或者重新配置的通用计算机。这样的计算机程序可以被存储在计算机可读介质中,诸如,但不限于任何类型的盘,包括软盘、光盘、CD-ROM、磁光盘、只读存储器(ROM)、随机存取存储器(RAM)、EPROM、EEPROM、磁或光卡、专用集成电路(ASIC)或者适于存储电子指令的任何类型的介质,并且每个可以被耦合到计算机系统总线。此外,说明书中所提到的计算机可以包括单个处理器或者可以是采用针对增加的计算能力的多个处理器涉及的架构。
本文所提出的过程和显示器固有地不涉及任何具体计算机或其他装置。各种通用系统也可以与根据本文中的教导的程序一起使用,或者构造更多专用装置以执行一个或多个方法步骤可以证明是方便的。在一下描述中讨论了用于各种这些系统的结构。另外,可以使用足以实现本申请实施例公开的技术和实施方案的任何具体编程语言。各种编程语言可以被用于实施本公开,如本文所讨论的。
另外,在本说明书所使用的语言已经主要被选择用于可读性和指导性的目的并且可能未被选择为描绘或限制所公开的主题。因此,本申请实施例公开旨在说明而非限制本文所讨论的概念的范围。
Claims (24)
1.一种目录操作管理方法,应用于电子设备,其特征在于,所述电子设备运行第一应用,所述方法包括:
所述电子设备检测到所述第一应用对目标目录的操作请求,并响应于所述操作请求,获取白名单目录列表;其中所述白名单目录列表包括一个或多个目录的路径信息;
所述电子设备将所述目标目录的路径信息与所述白名单目录列表中第一目录的路径信息进行比较;
所述电子设备根据比较的结果,确定对所述操作请求的执行结果。
2.根据权利要求1所述的方法,其特征在于,所述电子设备检测到所述第一应用对目标目录的操作请求,并响应于所述操作请求,获取白名单目录列表,包括:
所述电子设备确定所述第一应用是第一类应用,
根据确定结果,所述电子设备响应于所述操作请求,获取白名单目录列表。
3.根据权利要求1所述的方法,其特征在于,所述电子设备将所述目标目录的路径信息与所述白名单目录列表中第一目录的路径信息进行比较,包括:
所述电子设备将所述目标目录的路径信息与所述白名单目录列表中第一目录的路径信息进行比较,以确定所述目标目录的路径信息与所述第一目录的路径信息之间是否存在交集。
4.根据权利要求3所述的方法,其特征在于,所述电子设备根据比较的结果,确定对所述操作请求的执行结果,包括:
若所述目标目录的路径信息与所述第一目录的路径信息之间无交集,则所述电子设备执行所述第一应用对所述目标目录的操作。
5.根据权利要求3所述的方法,其特征在于,所述电子设备根据比较的结果,确定对所述操作请求的执行结果,还包括:
若所述目标目录的路径信息与所述第一目录的路径信息之间有交集,并且,
若所述电子设备确定所述目标目录为所述第一目录的父目录,则拒绝所述第一应用对所述目标目录的操作;
若所述电子设备确定所述目标目录为所述第一目录的子目录、或者所述目标目录与所述第一目录为同一目录,则获取所述第一应用的UID。
6.根据权利要求5所述的方法,其特征在于,所述电子设备根据比较的结果,确定对所述操作请求的执行结果,还包括:
所述电子设备判断所述目标目录的路径信息中的UID与所述第一应用的UID是否相同;
若所述目标目录的路径信息中的UID与所述第一应用的UID相同,则所述电子设备执行所述第一应用对所述目标目录的操作;
若所述目标目录的路径信息中的UID与所述第一应用的UID不相同,则所述电子设备拒绝所述第一应用对所述目标目录的操作。
7.根据权利要求6所述的方法,其特征在于,所述电子设备根据比较的结果,确定对所述操作请求的执行结果,还包括:
所述电子设备显示存在可疑操作的提示信息,其中所述可疑操作为被所述电子设备拒绝的、所述第一应用对所述目标目录的操作。
8.根据权利要求6所述的方法,其特征在于,所述电子设备根据比较的结果,确定对所述操作请求的执行结果,还包括:
若所述目标目录的UID与所述第一应用的UID相同,则所述电子设备检测所述目标目录的路径信息中是否包括所述第一应用的应用包名;
若所述目标目录的路径信息包括所述第一应用的应用包名,则所述电子设备不记录对应于所述第一应用对所述目标目录的操作的系统日志;
若所述目标目录的路径信息不包括所述第一应用的应用包名,则所述电子设备记录对应于所述第一应用对所述目标目录的操作的系统日志。
9.根据权利要求2所述的方法,其特征在于,所述第一类应用不包括超级应用,其中所述超级应用具有对所述电子设备上任意目录的操作权限。
10.根据权利要求1至9中任一项所述的方法,其特征在于,所述第一应用对目标目录的操作请求,包括下列中的至少一项:
所述第一应用对目标目录的删除操作请求;
所述第一应用对目标目录的重命名操作请求。
11.根据权利要求1所述的方法,其特征在于,所述电子设备包括媒体提供者、包管理服务和虚拟文件系统,并且所述方法包括:
所述媒体提供者检测到所述第一应用对目标目录的操作请求,并响应于所述操作请求,从所述包管理服务获取所述白名单目录列表;
所述媒体提供者将所述目标目录的路径信息与所述白名单目录列表中第一目录的路径信息进行比较;
所述媒体提供者向所述虚拟文件系统反馈所述比较的结果;
所述虚拟文件系统根据所述比较的结果,确定对所述操作请求的执行结果。
12.根据权利要求11所述的方法,其特征在于,所述媒体提供者检测到所述第一应用对目标目录的操作请求,并响应于所述操作请求,从所述包管理服务获取所述白名单目录列表,包括:
所述媒体提供者从所述包管理服务获取超级应用列表;其中所述超级应用列表中的超级应用,具有对所述电子设备上任意目录的操作权限;
所述媒体提供者确定所述第一应用为第一类应用;其中所述第一类应用不在所述超级应用列表上;
所述媒体提供者根据确定结果,响应于所述操作请求,从所述包管理服务获取所述白名单目录列表。
13.根据权利要求12所述的方法,其特征在于,所述媒体提供者向所述虚拟文件系统反馈所述比较的结果,包括:
若所述目标目录的路径信息与所述第一目录的路径信息之间无交集,则所述媒体提供者向所述虚拟文件系统反馈校验成功的返回值;
若所述目标目录的路径信息与所述第一目录的路径信息之间有交集,并且,
若所述媒体提供者确定所述目标目录为所述第一目录的父目录,则向所述虚拟文件系统反馈校验失败的返回值。
14.根据权利要求13所述的方法,其特征在于,所述媒体提供者向所述虚拟文件系统反馈所述比较的结果,还包括:
若所述媒体提供者确定所述目标目录为所述第一目录的子目录、或者所述目标目录与所述第一目录为同一目录,则所述媒体提供者从所述包管理服务获取所述第一应用的UID,并且,
若所述媒体提供者判断所述目标目录的路径信息中的UID与所述第一应用的UID相同,则向所述虚拟文件系统反馈校验成功的返回值;
若所述媒体提供者判断所述目标目录的路径信息中的UID与所述第一应用的UID不相同,则向所述虚拟文件系统反馈校验失败的返回值。
15.根据权利要求14所述的方法,其特征在于,所述虚拟文件系统根据所述比较的结果,确定对所述操作请求的执行结果,包括:
所述虚拟文件系统基于所述校验成功的返回值,执行所述第一应用对所述目标目录的操作;
所述虚拟文件系统基于所述校验失败的返回值,拒绝所述第一应用对所述目标目录的操作。
16.根据权利要求14或15所述的方法,其特征在于,所述电子设备包括通知管理器,并且,
所述媒体提供者根据比较的结果,确定对所述操作请求的执行结果,还包括:
所述媒体提供者向所述通知管理器反馈所述校验失败的结果;
所述通知管理器基于所述校验失败的结果,生成存在可疑操作的提示信息。
17.根据权利要求1所述的方法,其特征在于,所述电子设备包括媒体提供者、存储管理服务、包管理服务和虚拟文件系统,并且所述方法包括:
所述媒体提供者检测到所述第一应用对目标目录的操作请求;
所述媒体提供者向所述存储管理服务发送所述操作请求;
所述存储管理服务响应于所述操作请求,从所述包管理服务获取所述白名单目录列表;
所述存储管理服务将所述目标目录的路径信息与所述白名单目录列表中第一目录的路径信息进行比较;
所述存储管理服务通过所述媒体提供者,向所述虚拟文件系统反馈所述比较的结果;
所述虚拟文件系统根据所述比较的结果,确定对所述操作请求的执行结果。
18.根据权利要求17所述的方法,其特征在于,所述存储管理服务响应于所述操作请求,从所述包管理服务获取所述白名单目录列表,包括:
所述存储管理服务从所述包管理服务获取超级应用列表;其中所述超级应用列表中的超级应用,具有对所述电子设备上任意目录的操作权限;
所述存储管理服务确定所述第一应用为第一类应用;其中所述第一类应用不在所述超级应用列表上;
所述存储管理服务根据确定结果,响应于所述操作请求,从所述包管理服务获取所述白名单目录列表。
19.根据权利要求18所述的方法,其特征在于,所述存储管理服务通过所述媒体提供者,向所述虚拟文件系统反馈所述比较的结果,包括:
若所述目标目录的路径信息与所述第一目录的路径信息之间无交集,则所述存储管理服务通过所述媒体提供者向所述虚拟文件系统反馈校验成功的返回值;
若所述目标目录的路径信息与所述第一目录的路径信息之间有交集,并且,
若所述存储管理服务确定所述目标目录为所述第一目录的父目录,则通过所述媒体提供者向所述虚拟文件系统反馈校验失败的返回值。
20.根据权利要求19所述的方法,其特征在于,所述存储管理服务通过所述媒体提供者,向所述虚拟文件系统反馈所述比较的结果,还包括:
若所述存储管理服务确定所述目标目录为所述第一目录的子目录、或者所述目标目录与所述第一目录为同一目录,则所述存储管理服务从所述包管理服务获取所述第一应用的UID,并且,
若所述存储管理服务判断所述目标目录的路径信息中的UID与所述第一应用的UID相同,则通过所述媒体提供者向所述虚拟文件系统反馈校验成功的返回值;
若所述存储管理服务判断所述目标目录的路径信息中的UID与所述第一应用的UID不相同,则通过所述媒体提供者向所述虚拟文件系统反馈校验失败的返回值。
21.根据权利要求19或20所述的方法,其特征在于,所述虚拟文件系统根据所述比较的结果,确定对所述操作请求的执行结果,包括:
所述虚拟文件系统基于所述校验成功的返回值,执行所述第一应用对所述目标目录的操作;
所述虚拟文件系统基于所述校验失败的返回值,拒绝所述第一应用对所述目标目录的操作。
22.一种电子设备,其特征在于,包括:一个或多个处理器;一个或多个存储器;所述一个或多个存储器存储有一个或多个程序,当一个或者多个程序被所述一个或多个处理器执行时,使得所述电子设备执行权利要求1至21中任一项所述的目录操作管理方法。
23.一种计算机可读存储介质,其特征在于,所述存储介质上存储有指令,所述指令在计算机上执行时使所述计算机执行权利要求1至21中任一项所述的目录操作管理方法。
24.一种计算机程序产品,其特征在于,包括计算机程序/指令,所述计算机程序/指令被处理器执行时实现权利要求1至21中任一项所述的目录操作管理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210022436.5A CN114048469B (zh) | 2022-01-10 | 2022-01-10 | 目录操作管理方法、电子设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210022436.5A CN114048469B (zh) | 2022-01-10 | 2022-01-10 | 目录操作管理方法、电子设备及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114048469A true CN114048469A (zh) | 2022-02-15 |
CN114048469B CN114048469B (zh) | 2022-06-14 |
Family
ID=80213529
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210022436.5A Active CN114048469B (zh) | 2022-01-10 | 2022-01-10 | 目录操作管理方法、电子设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114048469B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115599929A (zh) * | 2022-09-30 | 2023-01-13 | 荣耀终端有限公司(Cn) | 文件管理方法及电子设备 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2000072200A1 (en) * | 1999-05-21 | 2000-11-30 | Infraworks Corporation | Method and apparatus for securing files |
US20060150247A1 (en) * | 2004-12-30 | 2006-07-06 | Andrew Gafken | Protection of stored data |
CN101901313A (zh) * | 2010-06-10 | 2010-12-01 | 中科方德软件有限公司 | 一种Linux文件保护系统及方法 |
US20110107393A1 (en) * | 2009-11-03 | 2011-05-05 | Rotem Sela | Enforcing a File Protection Policy by a Storage Device |
CN102902909A (zh) * | 2012-10-10 | 2013-01-30 | 北京奇虎科技有限公司 | 一种防止文件被篡改的系统和方法 |
US8688734B1 (en) * | 2011-02-04 | 2014-04-01 | hopTo Inc. | System for and methods of controlling user access and/or visibility to directories and files of a computer |
CN110555293A (zh) * | 2019-09-10 | 2019-12-10 | 百度在线网络技术(北京)有限公司 | 用于保护数据的方法、装置、电子设备和计算机可读介质 |
US20210294910A1 (en) * | 2020-03-18 | 2021-09-23 | Veritas Technologies Llc | Systems and methods for protecting a folder from unauthorized file modification |
CN113672576A (zh) * | 2020-05-15 | 2021-11-19 | 华为技术有限公司 | 文件共享方法及终端设备 |
-
2022
- 2022-01-10 CN CN202210022436.5A patent/CN114048469B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2000072200A1 (en) * | 1999-05-21 | 2000-11-30 | Infraworks Corporation | Method and apparatus for securing files |
US20060150247A1 (en) * | 2004-12-30 | 2006-07-06 | Andrew Gafken | Protection of stored data |
US20110107393A1 (en) * | 2009-11-03 | 2011-05-05 | Rotem Sela | Enforcing a File Protection Policy by a Storage Device |
CN101901313A (zh) * | 2010-06-10 | 2010-12-01 | 中科方德软件有限公司 | 一种Linux文件保护系统及方法 |
US8688734B1 (en) * | 2011-02-04 | 2014-04-01 | hopTo Inc. | System for and methods of controlling user access and/or visibility to directories and files of a computer |
CN102902909A (zh) * | 2012-10-10 | 2013-01-30 | 北京奇虎科技有限公司 | 一种防止文件被篡改的系统和方法 |
CN110555293A (zh) * | 2019-09-10 | 2019-12-10 | 百度在线网络技术(北京)有限公司 | 用于保护数据的方法、装置、电子设备和计算机可读介质 |
US20210294910A1 (en) * | 2020-03-18 | 2021-09-23 | Veritas Technologies Llc | Systems and methods for protecting a folder from unauthorized file modification |
CN113672576A (zh) * | 2020-05-15 | 2021-11-19 | 华为技术有限公司 | 文件共享方法及终端设备 |
Non-Patent Citations (2)
Title |
---|
邱佳迪: "基于随机森林的恶意移动应用动态检测方法研究", 《中国优秀博硕士学位论文全文数据库(硕士)信息科技辑》 * |
黄杰 编著: "《信息系统安全》", 31 January 2020, 浙江大学出版社 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115599929A (zh) * | 2022-09-30 | 2023-01-13 | 荣耀终端有限公司(Cn) | 文件管理方法及电子设备 |
CN115599929B (zh) * | 2022-09-30 | 2023-08-04 | 荣耀终端有限公司 | 文件管理方法及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN114048469B (zh) | 2022-06-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113032766B (zh) | 应用权限管理的方法和装置 | |
CN113168461A (zh) | 一种删除安全业务的方法及电子设备 | |
WO2022022422A1 (zh) | 一种权限管理方法及终端设备 | |
CN113360222A (zh) | 一种应用信息的显示方法及相关设备 | |
WO2022253158A1 (zh) | 一种用户隐私保护方法及装置 | |
CN114048469B (zh) | 目录操作管理方法、电子设备及可读存储介质 | |
CN115017534B (zh) | 文件处理权限控制方法、装置及存储介质 | |
CN114371963A (zh) | 一种故障检测方法及电子终端 | |
WO2022135215A1 (zh) | 一种开机异常的修复方法及装置 | |
KR20150007894A (ko) | 디나이얼 발생시 대응 메뉴얼을 제안하는 전자 장치 및 방법 | |
CN113468606A (zh) | 一种应用程序的访问方法及电子设备 | |
CN111566632B (zh) | 一种操作控制方法及电子设备 | |
CN115481444B (zh) | 文件保护方法及电子设备 | |
WO2022166502A1 (zh) | 数据保护方法、系统、介质及电子设备 | |
CN114020377A (zh) | 一种终端设备、图片信息保护方法和存储介质 | |
CN114546969A (zh) | 一种文件共享方法、装置及电子设备 | |
CN114138343A (zh) | 一种终端及终端启动方法 | |
WO2023072206A1 (zh) | 密钥迁移方法及相关设备 | |
EP4339762A1 (en) | File migration method, electronic device, and storage medium | |
CN115599929B (zh) | 文件管理方法及电子设备 | |
CN115981576B (zh) | 共享数据的方法、电子设备及存储介质 | |
CN114706633B (zh) | 预加载方法、电子设备及存储介质 | |
CN115344860B (zh) | 一种管理应用程序的方法和电子设备 | |
CN117130627B (zh) | 配件升级方法及电子设备 | |
CN117009023B (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 | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20230919 Address after: 201306 building C, No. 888, Huanhu West 2nd Road, Lingang New Area, Pudong New Area, Shanghai Patentee after: Shanghai Glory Smart Technology Development Co.,Ltd. Address before: Unit 3401, unit a, building 6, Shenye Zhongcheng, No. 8089, Hongli West Road, Donghai community, Xiangmihu street, Futian District, Shenzhen, Guangdong 518040 Patentee before: Honor Device Co.,Ltd. |